Windows 10 SDK Preview Build 18950 available now!

Windows

Windows
Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with
Please, Log in or Register to view URLs content!
(Build 18950 or greater). The Preview SDK Build 18950 contains bug fixes and under development changes to the API surface area.

The Preview SDK can be downloaded from
Please, Log in or Register to view URLs content!
.

For feedback and updates to the known issues, please see the
Please, Log in or Register to view URLs content!
For new developer feature requests, head over to our
Please, Log in or Register to view URLs content!


Things to note:

  • This build works in conjunction with previously released SDKs and Visual Studio 2017 and 2019. You can install this SDK and still also continue to submit your apps that target Windows 10 build 1903 or earlier to the Microsoft Store.
  • The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2019
    Please, Log in or Register to view URLs content!
    .
  • This build of the Windows SDK will install on only on
    Please, Log in or Register to view URLs content!
    builds.
  • In order to assist with script access to the SDK, the ISO will also be able to be accessed through the following static URL:
    Please, Log in or Register to view URLs content!
    .
Tools Updates

Message Compiler (mc.exe)

  • Now detects the Unicode byte order mark (BOM) in .mc files. If the If the .mc file starts with a UTF-8 BOM, it will be read as a UTF-8 file. Otherwise, if it starts with a UTF-16LE BOM, it will be read as a UTF-16LE file. If the -u parameter was specified, it will be read as a UTF-16LE file. Otherwise, it will be read using the current code page (CP_ACP).
  • Now avoids one-definition-rule (ODR) problems in MC-generated C/C++ ETW helpers caused by conflicting configuration macros (e.g. when two .cpp files with conflicting definitions of MCGEN_EVENTWRITETRANSFER are linked into the same binary, the MC-generated ETW helpers will now respect the definition of MCGEN_EVENTWRITETRANSFER in each .cpp file instead of arbitrarily picking one or the other).
Windows Trace Preprocessor (tracewpp.exe)

  • Now supports Unicode input (.ini, .tpl, and source code) files. Input files starting with a UTF-8 or UTF-16 byte order mark (BOM) will be read as Unicode. Input files that do not start with a BOM will be read using the current code page (CP_ACP). For backwards-compatibility, if the -UnicodeIgnore command-line parameter is specified, files starting with a UTF-16 BOM will be treated as empty.
  • Now supports Unicode output (.tmh) files. By default, output files will be encoded using the current code page (CP_ACP). Use command-line parameters -cp:UTF-8 or -cp:UTF-16 to generate Unicode output files.
  • Behavior change: tracewpp now converts all input text to Unicode, performs processing in Unicode, and converts output text to the specified output encoding. Earlier versions of tracewpp avoided Unicode conversions and performed text processing assuming a single-byte character set. This may lead to behavior changes in cases where the input files do not conform to the current code page. In cases where this is a problem, consider converting the input files to UTF-8 (with BOM) and/or using the -cp:UTF-8 command-line parameter to avoid encoding ambiguity.
TraceLoggingProvider.h

  • Now avoids one-definition-rule (ODR) problems caused by conflicting configuration macros (e.g. when two .cpp files with conflicting definitions of TLG_EVENT_WRITE_TRANSFER are linked into the same binary, the TraceLoggingProvider.h helpers will now respect the definition of TLG_EVENT_WRITE_TRANSFER in each .cpp file instead of arbitrarily picking one or the other).
  • In C++ code, the TraceLoggingWrite macro has been updated to enable better code sharing between similar events using variadic templates.
Signing your apps with Device Guard Signing

  • We are making it easier for you to sign your app. Device Guard signing is a Device Guard feature that is available in Microsoft Store for Business and Education. Signing allows enterprises to guarantee every app comes from a trusted source. Our goal is to make signing your MSIX package easier. Documentation on Device Guard Signing can be found here:
    Please, Log in or Register to view URLs content!
Breaking Changes

Removal of IRPROPS.LIB


In this release irprops.lib has been removed from the Windows SDK. Apps that were linking against irprops.lib can switch to bthprops.lib as a drop-in replacement.

API Updates, Additions and Removals


The following APIs have been added to the platform since the release of
Please, Log in or Register to view URLs content!
build 18362.

Additions:




namespace Windows.Devices.Input {
public sealed class PenButtonListener
public sealed class PenDockedEventArgs
public sealed class PenDockListener
public sealed class PenTailButtonClickedEventArgs
public sealed class PenTailButtonDoubleClickedEventArgs
public sealed class PenTailButtonLongPressedEventArgs
public sealed class PenUndockedEventArgs
}
namespace Windows.Devices.PointOfService {
public sealed class PaymentDevice : IClosable
public sealed class PaymentDeviceCapabilities
public sealed class PaymentDeviceConfiguration
public sealed class PaymentDeviceGetConfigurationResult
public sealed class PaymentDeviceOperationResult
public sealed class PaymentDeviceTransactionRequest
public sealed class PaymentDeviceTransactionResult
public sealed class PaymentMethod
public enum PaymentMethodKind
public enum PaymentOperationStatus
public enum PaymentUserResponse
}
namespace Windows.Devices.PointOfService.Provider {
public sealed class PaymentDeviceCloseTerminalRequest
public sealed class PaymentDeviceCloseTerminalRequestEventArgs
public sealed class PaymentDeviceConnection : IClosable
public sealed class PaymentDeviceConnectionTriggerDetails
public sealed class PaymentDeviceConnectorInfo
public sealed class PaymentDeviceGetTerminalsRequest
public sealed class PaymentDeviceGetTerminalsRequestEventArgs
public sealed class PaymentDeviceOpenTerminalRequest
public sealed class PaymentDeviceOpenTerminalRequestEventArgs
public sealed class PaymentDevicePaymentAuthorizationRequest
public sealed class PaymentDevicePaymentAuthorizationRequestEventArgs
public sealed class PaymentDevicePaymentRequest
public sealed class PaymentDevicePaymentRequestEventArgs
public sealed class PaymentDeviceReadCapabilitiesRequest
public sealed class PaymentDeviceReadCapabilitiesRequestEventArgs
public sealed class PaymentDeviceReadConfigurationRequest
public sealed class PaymentDeviceReadConfigurationRequestEventArgs
public sealed class PaymentDeviceRefundRequest
public sealed class PaymentDeviceRefundRequestEventArgs
public sealed class PaymentDeviceVoidTokenRequest
public sealed class PaymentDeviceVoidTokenRequestEventArgs
public sealed class PaymentDeviceVoidTransactionRequest
public sealed class PaymentDeviceVoidTransactionRequestEventArgs
public sealed class PaymentDeviceWriteConfigurationRequest
public sealed class PaymentDeviceWriteConfigurationRequestEventArgs
}
namespace Windows.Devices.Sensors {
public sealed class Accelerometer {
AccelerometerDataThreshold ReportThreshold { get; }
}
public sealed class AccelerometerDataThreshold
public sealed class Altimeter {
AltimeterDataThreshold ReportThreshold { get; }
}
public sealed class AltimeterDataThreshold
public sealed class Barometer {
BarometerDataThreshold ReportThreshold { get; }
}
public sealed class BarometerDataThreshold
public sealed class Compass {
CompassDataThreshold ReportThreshold { get; }
}
public sealed class CompassDataThreshold
public sealed class Gyrometer {
GyrometerDataThreshold ReportThreshold { get; }
}
public sealed class GyrometerDataThreshold
public sealed class Inclinometer {
InclinometerDataThreshold ReportThreshold { get; }
}
public sealed class InclinometerDataThreshold
public sealed class LightSensor {
LightSensorDataThreshold ReportThreshold { get; }
}
public sealed class LightSensorDataThreshold
public sealed class Magnetometer {
MagnetometerDataThreshold ReportThreshold { get; }
}
public sealed class MagnetometerDataThreshold
}
namespace Windows.Foundation.Metadata {
public sealed class AttributeNameAttribute : Attribute
public sealed class FastAbiAttribute : Attribute
public sealed class NoExceptionAttribute : Attribute
}
namespace Windows.Graphics.Capture {
public sealed class GraphicsCaptureSession : IClosable {
bool IsCursorCaptureEnabled { get; set; }
}
}
namespace Windows.Management.Deployment {
public sealed class AddPackageOptions
public enum DeploymentOptions : uint {
StageInPlace = (uint)4194304,
}
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> AddPackageByUriAsync(Uri packageUri, AddPackageOptions options);
IIterable<Package> FindProvisionedPackages();
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackageByUriAsync(Uri manifestUri, RegisterPackageOptions options);
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RegisterPackagesByFullNameAsync(IIterable<string> packageFullNames, DeploymentOptions deploymentOptions);
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> StagePackageByUriAsync(Uri packageUri, StagePackageOptions options);
}
public enum PackageTypes : uint {
All = (uint)4294967295,
}
public sealed class RegisterPackageOptions
public enum RemovalOptions : uint {
PreserveRoamableApplicationData = (uint)128,
}
public sealed class StagePackageOptions
}
namespace Windows.Management.Policies {
public static class NamedPolicy {
public static IAsyncAction ClearAllPoliciesAsync();
public static IAsyncAction ClearAllPoliciesAsync(string accountId);
public static NamedPolicySetter TryCreatePolicySetter(string accountId);
public static NamedPolicySetter TryCreatePolicySetterForUser(User user, string accountId);
}
public sealed class NamedPolicySetter
}
namespace Windows.Media.Capture {
public sealed class MediaCapture : IClosable {
MediaCaptureRelativePanelWatcher CreateRelativePanelWatcher(StreamingCaptureMode captureMode, DisplayRegion displayRegion);
}
public sealed class MediaCaptureInitializationSettings {
Uri DeviceUri { get; set; }
PasswordCredential DeviceUriPasswordCredential { get; set; }
}
public sealed class MediaCaptureRelativePanelWatcher : IClosable
}
namespace Windows.Media.Capture.Frames {
public sealed class MediaFrameSourceInfo {
Panel GetRelativePanel(DisplayRegion displayRegion);
}
}
namespace Windows.Media.Devices {
public sealed class PanelBasedOptimizationControl
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string Pgs { get; }
public static string Srt { get; }
public static string Ssa { get; }
public static string VobSub { get; }
}
public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties {
public static TimedMetadataEncodingProperties CreatePgs();
public static TimedMetadataEncodingProperties CreateSrt();
public static TimedMetadataEncodingProperties CreateSsa(byte[] formatUserData);
public static TimedMetadataEncodingProperties CreateVobSub(byte[] formatUserData);
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void RemoveRequestHeader(string headerName);
void SetRequestHeader(string headerName, string headerValue);
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void RemoveRequestHeader(string headerName);
void SetRequestHeader(string headerName, string headerValue);
}
}
namespace Windows.Networking.NetworkOperators {
public interface INetworkOperatorTetheringAccessPointConfiguration2
public interface INetworkOperatorTetheringManagerStatics4
public sealed class NetworkOperatorTetheringAccessPointConfiguration : INetworkOperatorTetheringAccessPointConfiguration2 {
TetheringWiFiBand Band { get; set; }
bool IsBandSupported(TetheringWiFiBand band);
IAsyncOperation<bool> IsBandSupportedAsync(TetheringWiFiBand band);
}
public sealed class NetworkOperatorTetheringManager {
public static void DisableTimeout(TetheringTimeoutKind timeoutKind);
public static IAsyncAction DisableTimeoutAsync(TetheringTimeoutKind timeoutKind);
public static void EnableTimeout(TetheringTimeoutKind timeoutKind);
public static IAsyncAction EnableTimeoutAsync(TetheringTimeoutKind timeoutKind);
public static bool IsTimeoutEnabled(TetheringTimeoutKind timeoutKind);
public static IAsyncOperation<bool> IsTimeoutEnabledAsync(TetheringTimeoutKind timeoutKind);
}
public enum TetheringTimeoutKind
public enum TetheringWiFiBand
}
namespace Windows.Security.Authentication.Web.Core {
public sealed class WebAccountMonitor {
event TypedEventHandler<WebAccountMonitor, WebAccountEventArgs> AccountPictureUpdated;
}
}
namespace Windows.Storage {
public sealed class StorageFile : IInputStreamReference, IRandomAccessStreamReference, IStorageFile, IStorageFile2, IStorageFilePropertiesWithAvailability, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
public static IAsyncOperation<StorageFile> GetFileFromPathForUserAsync(User user, string path);
}
public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
public static IAsyncOperation<StorageFolder> GetFolderFromPathForUserAsync(User user, string path);
}
}
namespace Windows.Storage.Provider {
public static class StorageProviderSyncRootManager {
public static bool IsSupported();
}
}
namespace Windows.System {
public sealed class FolderLauncherOptions : ILauncherViewOptions {
ViewGrouping GroupingPreference { get; set; }
}
public sealed class LauncherOptions : ILauncherViewOptions {
ViewGrouping GroupingPreference { get; set; }
}
public sealed class User {
public static User GetDefault();
}
public sealed class UserChangedEventArgs {
IVectorView<UserWatcherUpdateKind> ChangedPropertyKinds { get; }
}
public enum UserType {
SystemManaged = 4,
}
public enum UserWatcherUpdateKind
}
namespace Windows.UI.Composition.Interactions {
public sealed class InteractionTracker : CompositionObject {
int TryUpdatePosition(Vector3 value, InteractionTrackerClampingOption option, InteractionTrackerPositionUpdateOption posUpdateOption);
}
public enum InteractionTrackerPositionUpdateOption
}
namespace Windows.UI.Composition.Particles {
public sealed class ParticleAttractor : CompositionObject
public sealed class ParticleAttractorCollection : CompositionObject, IIterable<ParticleAttractor>, IVector<ParticleAttractor>
public class ParticleBaseBehavior : CompositionObject
public sealed class ParticleBehaviors : CompositionObject
public sealed class ParticleColorBehavior : ParticleBaseBehavior
public struct ParticleColorBinding
public sealed class ParticleColorBindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleColorBinding>>, IMap<float, ParticleColorBinding>
public enum ParticleEmitFrom
public sealed class ParticleEmitterVisual : ContainerVisual
public sealed class ParticleGenerator : CompositionObject
public enum ParticleInputSource
public enum ParticleReferenceFrame
public sealed class ParticleScalarBehavior : ParticleBaseBehavior
public struct ParticleScalarBinding
public sealed class ParticleScalarBindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleScalarBinding>>, IMap<float, ParticleScalarBinding>
public enum ParticleSortMode
public sealed class ParticleVector2Behavior : ParticleBaseBehavior
public struct ParticleVector2Binding
public sealed class ParticleVector2BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector2Binding>>, IMap<float, ParticleVector2Binding>
public sealed class ParticleVector3Behavior : ParticleBaseBehavior
public struct ParticleVector3Binding
public sealed class ParticleVector3BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector3Binding>>, IMap<float, ParticleVector3Binding>
public sealed class ParticleVector4Behavior : ParticleBaseBehavior
public struct ParticleVector4Binding
public sealed class ParticleVector4BindingCollection : CompositionObject, IIterable<IKeyValuePair<float, ParticleVector4Binding>>, IMap<float, ParticleVector4Binding>
}
namespace Windows.UI.Input {
public sealed class CrossSlidingEventArgs {
uint ContactCount { get; }
}
public sealed class DraggingEventArgs {
uint ContactCount { get; }
}
public sealed class GestureRecognizer {
uint HoldMaxContactCount { get; set; }
uint HoldMinContactCount { get; set; }
float HoldRadius { get; set; }
TimeSpan HoldStartDelay { get; set; }
uint TapMaxContactCount { get; set; }
uint TapMinContactCount { get; set; }
uint TranslationMaxContactCount { get; set; }
uint TranslationMinContactCount { get; set; }
}
public sealed class HoldingEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class ManipulationCompletedEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class ManipulationInertiaStartingEventArgs {
uint ContactCount { get; }
}
public sealed class ManipulationStartedEventArgs {
uint ContactCount { get; }
}
public sealed class ManipulationUpdatedEventArgs {
uint ContactCount { get; }
uint CurrentContactCount { get; }
}
public sealed class RightTappedEventArgs {
uint ContactCount { get; }
}
public sealed class SystemButtonEventController : AttachableInputObject
public sealed class SystemFunctionButtonEventArgs
public sealed class SystemFunctionLockChangedEventArgs
public sealed class SystemFunctionLockIndicatorChangedEventArgs
public sealed class TappedEventArgs {
uint ContactCount { get; }
}
}
namespace Windows.UI.Input.Inking {
public sealed class InkModelerAttributes {
bool UseVelocityBasedPressure { get; set; }
}
}
namespace Windows.UI.Text.Core {
public sealed class CoreTextServicesManager {
public static TextCompositionKind TextCompositionKind { get; }
}
public enum TextCompositionKind
}
namespace Windows.UI.ViewManagement {
public sealed class ApplicationView {
bool CanOpenInNewTab { get; }
bool CriticalInputMismatch { get; set; }
bool IsTabGroupingSupported { get; }
ScreenCaptureDisabledBehavior ScreenCaptureDisabledBehavior { get; set; }
bool TemporaryInputMismatch { get; set; }
void ApplyApplicationUserModelID(string value);
}
public enum ApplicationViewMode {
Spanning = 2,
}
public sealed class ApplicationViewTitleBar {
IAsyncAction SetActiveIconStreamAsync(IRandomAccessStreamReference activeIcon);
}
public interface ISystemTray
public interface ISystemTrayStatics
public enum ScreenCaptureDisabledBehavior
public sealed class SystemTray : ISystemTray
public sealed class UISettings {
event TypedEventHandler<UISettings, UISettingsAnimationsEnabledChangedEventArgs> AnimationsEnabledChanged;
event TypedEventHandler<UISettings, UISettingsMessageDurationChangedEventArgs> MessageDurationChanged;
}
public sealed class UISettingsAnimationsEnabledChangedEventArgs
public sealed class UISettingsMessageDurationChangedEventArgs
public enum ViewGrouping
public sealed class ViewModePreferences {
ViewGrouping GroupingPreference { get; set; }
}
}
namespace Windows.UI.ViewManagement.Core {
public sealed class CoreInputView {
event TypedEventHandler<CoreInputView, CoreInputViewHidingEventArgs> PrimaryViewHiding;
event TypedEventHandler<CoreInputView, CoreInputViewShowingEventArgs> PrimaryViewShowing;
}
public sealed class CoreInputViewHidingEventArgs
public enum CoreInputViewKind {
Symbols = 4,
}
public sealed class CoreInputViewShowingEventArgs
public sealed class UISettingsController
}
namespace Windows.UI.WindowManagement {
public sealed class AppWindow {
void SetPreferredTopMost();
void SetRelativeZOrderBeneath(AppWindow appWindow);
}
public sealed class AppWindowChangedEventArgs {
bool DidOffsetChange { get; }
}
public enum AppWindowPresentationKind {
Snapped = 5,
Spanning = 4,
}
public sealed class SnappedPresentationConfiguration : AppWindowPresentationConfiguration
public sealed class SpanningPresentationConfiguration : AppWindowPresentationConfiguration
}
namespace Windows.UI.Xaml {
public interface IXamlServiceProvider
}
namespace Windows.UI.Xaml.Controls {
public class HandwritingView : Control {
UIElement HostUIElement { get; set; }
public static DependencyProperty HostUIElementProperty { get; }
CoreInputDeviceTypes InputDeviceTypes { get; set; }
bool IsSwitchToKeyboardButtonVisible { get; set; }
public static DependencyProperty IsSwitchToKeyboardButtonVisibleProperty { get; }
double MinimumColorDifference { get; set; }
public static DependencyProperty MinimumColorDifferenceProperty { get; }
bool PreventAutomaticDismissal { get; set; }
public static DependencyProperty PreventAutomaticDismissalProperty { get; }
bool ShouldInjectEnterKey { get; set; }
public static DependencyProperty ShouldInjectEnterKeyProperty { get; }
event TypedEventHandler<HandwritingView, HandwritingViewCandidatesChangedEventArgs> CandidatesChanged;
event TypedEventHandler<HandwritingView, HandwritingViewContentSizeChangingEventArgs> ContentSizeChanging;
void SelectCandidate(uint index);
void SetTrayDisplayMode(HandwritingViewTrayDisplayMode displayMode);
}
public sealed class HandwritingViewCandidatesChangedEventArgs
public sealed class HandwritingViewContentSizeChangingEventArgs
public enum HandwritingViewTrayDisplayMode
}
namespace Windows.UI.Xaml.Core.Direct {
public enum XamlEventIndex {
HandwritingView_ContentSizeChanging = 321,
}
public enum XamlPropertyIndex {
HandwritingView_HostUIElement = 2395,
HandwritingView_IsSwitchToKeyboardButtonVisible = 2393,
HandwritingView_MinimumColorDifference = 2396,
HandwritingView_PreventAutomaticDismissal = 2397,
HandwritingView_ShouldInjectEnterKey = 2398,
}
}
namespace Windows.UI.Xaml.Markup {
public interface IProvideValueTarget
public interface IRootObjectProvider
public interface IUriContext
public interface IXamlTypeResolver
public class MarkupExtension {
virtual object ProvideValue(IXamlServiceProvider serviceProvider);
}
public sealed class ProvideValueTargetProperty
}



The post
Please, Log in or Register to view URLs content!
appeared first on
Please, Log in or Register to view URLs content!
.

Please, Log in or Register to view URLs content!
 

Users who are viewing this thread

Top