Category Archives: Visual Studio

Auto Added by WPeMatico

Windows 10 SDK Preview Build 17069 now available

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17069 or greater). The Preview SDK Build 17069 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
This build of the Windows SDK will install on Windows 10 Insider Preview and supported Windows operating systems.
Known Issues
Cannot deploy to a device: When attempting to deploy to a mobile device, it fails with the following error:  DEP0001: Unexpected Error: SmartDeviceException – Class not registered [0x80131500]
To work around this issue:
Go to Administrative Command Prompt
Run REGSVR32 “Program Files (x86)Windows Kits10bin10.0.17071.0x86SirepClient.dll”
XAML Designer fails to load: When attempting to load the XAML designer, an Unhandled exception occurs “The XAML Designer has excited unexpectedly.
OleView fails to run.
What’s New:
C++/WinRT Now Available: The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week.
The ModernCPP blog has a deeper dive into the CppWinRT compiler. Please give us feedback by creating an issue at: https://github.com/microsoft/cppwinrt..
Breaking Changes
New MIDL key words.
As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords is used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

***************** New API changes *****************

namespace Windows.ApplicationModel {
public enum AddResourcePackageOptions : uint
public sealed class AppInstance
public sealed class PackageCatalog {
IAsyncOperationWithProgress AddResourcePackageAsync(string resourcePackageFamilyName, string resourceID, AddResourcePackageOptions options);
IAsyncOperation RemoveResourcePackagesAsync(IIterable resourcePackages);
}
public sealed class PackageCatalogAddResourcePackageResult
public sealed class PackageCatalogRemoveResourcePackagesResult
public struct PackageInstallProgress
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Activation {
public enum ActivationKind {
BarcodeScannerProvider = 1022,
}
public sealed class BarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
public interface IBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs
}
namespace Windows.ApplicationModel.Background {
public enum BackgroundAccessRequestKind
public static class BackgroundExecutionManager {
public static IAsyncOperation RequestAccessKindAsync(BackgroundAccessRequestKind requestedAccess, string reason);
}
public sealed class CustomSystemEventTrigger : IBackgroundTrigger
public enum CustomSystemEventTriggerRecurrence
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
public sealed class NetworkOperatorDataUsageTrigger : IBackgroundTrigger
public sealed class StorageLibraryChangeTrackerTrigger : IBackgroundTrigger
public sealed class TetheringEntitlementCheckTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.Core {
public sealed class AppListEntry {
IAsyncOperation LaunchForUserAsync(User user);
}
}
namespace Windows.ApplicationModel.DataTransfer {
public sealed class DataPackagePropertySet : IIterable<IKeyValuePair>, IMap {
string ContentSourceUserActivityJson { get; set; }
}
public sealed class DataPackagePropertySetView : IIterable<IKeyValuePair>, IMapView {
string ContentSourceUserActivityJson { get; }
}
public static class StandardDataFormats {
public static string UserActivityJsonArray { get; }
}
}
namespace Windows.ApplicationModel.Store.Preview {
public enum StoreSystemFeature {
ArchitectureArm64 = 34,
}
}
namespace Windows.ApplicationModel.Store.Preview.InstallControl {
public sealed class AppInstallItem {
bool LaunchAfterInstall { get; set; }
}
public sealed class AppInstallManager {
IAsyncOperation GetIsPackageIdentityAllowedToInstallAsync(string correlationVector, string packageIdentityName, string publisherCertificateName);
IAsyncOperation GetIsPackageIdentityAllowedToInstallForUserAsync(User user, string correlationVector, string packageIdentityName, string publisherCertificateName);
IAsyncOperation<IVectorView> SearchForAllUpdatesAsync(string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView> SearchForAllUpdatesForUserAsync(User user, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation SearchForUpdatesAsync(string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation SearchForUpdatesForUserAsync(User user, string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView> StartProductInstallAsync(string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
IAsyncOperation<IVectorView> StartProductInstallForUserAsync(User user, string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
}
public sealed class AppInstallOptions
public sealed class AppInstallStatus {
bool IsStaged { get; }
}
public sealed class AppUpdateOptions
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity(string activityId);
string ToJson();
public static string ToJsonArray(IIterable activities);
public static UserActivity TryParseFromJson(string json);
public static IVector TryParseFromJsonArray(string json);
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
IAsyncOperation<IVector> GetRecentUserActivitiesAsync(int maxUniqueActivities);
IAsyncOperation<IVector> GetSessionHistoryItemsForUserActivityAsync(string activityId, DateTime startTime);
public static UserActivityChannel TryGetForWebAccount(WebAccount account);
}
public sealed class UserActivityRequest
public sealed class UserActivityRequestedEventArgs
public sealed class UserActivityRequestManager
public sealed class UserActivitySessionHistoryItem
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.Bluetooth {
public sealed class BluetoothAdapter {
bool AreClassicSecureConnectionsSupported { get; }
bool AreLowEnergySecureConnectionsSupported { get; }
}
public sealed class BluetoothDevice : IClosable {
bool WasSecureConnectionUsedForPairing { get; }
}
public sealed class BluetoothLEDevice : IClosable {
bool WasSecureConnectionUsedForPairing { get; }
}
}
namespace Windows.Devices.Display {
public sealed class DisplayMonitor
public enum DisplayMonitorConnectionKind
public enum DisplayMonitorDescriptorKind
public enum DisplayMonitorPhysicalConnectorKind
public enum DisplayMonitorUsageKind
}
namespace Windows.Devices.Input.Preview {
public enum GazeDeviceConfigurationStatePreview
public sealed class GazeDevicePreview
public sealed class GazeDeviceWatcherAddedPreviewEventArgs
public sealed class GazeDeviceWatcherPreview
public sealed class GazeDeviceWatcherRemovedPreviewEventArgs
public sealed class GazeDeviceWatcherUpdatedPreviewEventArgs
public sealed class GazeEnteredPreviewEventArgs
public sealed class GazeExitedPreviewEventArgs
public sealed class GazeInputSourcePreview
public sealed class GazeMovedPreviewEventArgs
public sealed class GazePointPreview
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
bool IsVideoPreviewShownOnEnable { get; set; }
void HideVideoPreview();
IAsyncOperation ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Devices.PointOfService.Provider {
public sealed class BarcodeScannerDisableScannerRequest
public sealed class BarcodeScannerDisableScannerRequestEventArgs
public sealed class BarcodeScannerEnableScannerRequest
public sealed class BarcodeScannerEnableScannerRequestEventArgs
public sealed class BarcodeScannerGetSymbologyAttributesRequest
public sealed class BarcodeScannerGetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerHideVideoPreviewRequest
public sealed class BarcodeScannerHideVideoPreviewRequestEventArgs
public sealed class BarcodeScannerProviderConnection : IClosable
public sealed class BarcodeScannerProviderTriggerDetails
public sealed class BarcodeScannerSetActiveSymbologiesRequest
public sealed class BarcodeScannerSetActiveSymbologiesRequestEventArgs
public sealed class BarcodeScannerSetSymbologyAttributesRequest
public sealed class BarcodeScannerSetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerStartSoftwareTriggerRequest
public sealed class BarcodeScannerStartSoftwareTriggerRequestEventArgs
public sealed class BarcodeScannerStopSoftwareTriggerRequest
public sealed class BarcodeScannerStopSoftwareTriggerRequestEventArgs
public enum BarcodeScannerTriggerState
public sealed class BarcodeSymbologyAttributesBuilder
}
namespace Windows.Foundation.Numerics {
public struct Rational
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics {
public struct DisplayAdapterId
public interface IGeometrySource2D
}
namespace Windows.Graphics.Capture {
public sealed class Direct3D11CaptureFrame : IClosable
public sealed class Direct3D11CaptureFramePool : IClosable
public sealed class GraphicsCaptureItem
public sealed class GraphicsCapturePicker
public sealed class GraphicsCaptureSession : IClosable
}
namespace Windows.Graphics.DirectX {
public enum DirectXColorSpace
}
namespace Windows.Graphics.Display {
public sealed class AdvancedColorInfo
public enum AdvancedColorKind
public sealed class BrightnessOverrideSettings
public sealed class ColorOverrideSettings
public enum DisplayBrightnessOverrideScenario
public enum DisplayColorOverrideScenario
public sealed class DisplayEnhancementOverride
public sealed class DisplayEnhancementOverrideCapabilities
public sealed class DisplayEnhancementOverrideCapabilitiesChangedEventArgs
public sealed class DisplayInformation {
event TypedEventHandler AdvancedColorInfoChanged;
AdvancedColorInfo GetAdvancedColorInfo();
}
public enum HdrMetadataFormat
public struct NitRange
}
namespace Windows.Graphics.Holographic {
public sealed class HolographicCamera {
bool CanOverrideViewport { get; }
}
public sealed class HolographicCameraPose {
void OverrideProjectionTransform(HolographicStereoTransform projectionTransform);
void OverrideViewport(Rect leftViewport, Rect rightViewport);
void OverrideViewTransform(SpatialCoordinateSystem coordinateSystem, HolographicStereoTransform coordinateSystemToViewTransform);
}
public sealed class HolographicFramePresentationMonitor : IClosable
public sealed class HolographicFramePresentationReport
public sealed class HolographicSpace {
HolographicSpaceUserPresence UserPresence { get; }
event TypedEventHandler UserPresenceChanged;
HolographicFramePresentationMonitor CreateFramePresentationMonitor(uint maxQueuedReports);
void WaitForNextFrameReady();
void WaitForNextFrameReadyWithHeadStart(TimeSpan requestedHeadStartDuration);
}
public enum HolographicSpaceUserPresence
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Graphics.Printing {
public sealed class PrintPageRange
public sealed class PrintPageRangeOptions
public sealed class PrintTaskOptions : IPrintTaskOptionsCore, IPrintTaskOptionsCoreProperties, IPrintTaskOptionsCoreUIConfiguration {
IVector CustomPageRanges { get; }
PrintPageRangeOptions PageRangeOptions { get; }
}
public static class StandardPrintTaskOptions {
public static string CustomPageRanges { get; }
}
}
namespace Windows.Graphics.Printing.OptionDetails {
public sealed class PrintBindingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintBorderingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCollationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintColorModeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCopiesOptionDetails : IPrintNumberOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCustomItemListOptionDetails : IPrintCustomOptionDetails, IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
void AddItem(string itemId, string displayName, string description, IRandomAccessStreamWithContentType icon);
}
public sealed class PrintCustomTextOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCustomToggleOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails
public sealed class PrintDuplexOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintHolePunchOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintMediaSizeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintMediaTypeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public enum PrintOptionType {
Toggle = 4,
}
public sealed class PrintOrientationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintPageRangeOptionDetails : IPrintOptionDetails
public sealed class PrintQualityOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintStapleOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintTaskOptionDetails : IPrintTaskOptionsCore, IPrintTaskOptionsCoreUIConfiguration {
PrintCustomToggleOptionDetails CreateToggleOption(string optionId, string displayName);
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress RequestAddPackageAsync(Uri packageUri, IIterable dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable optionalPackageFamilyNames, IIterable relatedPackageUris, IIterable packageUrisToInstall);
}
}
namespace Windows.Management.Update {
public sealed class PreviewBuildsManager
public sealed class PreviewBuildsState
}
namespace Windows.Media {
public sealed class VideoFrame : IClosable, IMediaFrame {
IAsyncAction CopyToAsync(VideoFrame frame, IReference sourceBounds, IReference destinationBounds);
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height);
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height, IDirect3DDevice device);
public static VideoFrame CreateWithDirect3D11Surface(IDirect3DSurface surface);
public static VideoFrame CreateWithSoftwareBitmap(SoftwareBitmap bitmap);
}
}
namespace Windows.Media.Audio {
public sealed class AudioGraph : IClosable {
IAsyncOperation CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
IAsyncOperation CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
}
public sealed class AudioGraphSettings {
double MaxPlaybackSpeedFactor { get; set; }
}
public sealed class AudioStateMonitor
public sealed class CreateMediaSourceAudioInputNodeResult
public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
public enum KnownVideoProfile {
HdrWithWcgPhoto = 8,
HdrWithWcgVideo = 7,
HighFrameRate = 5,
VariablePhotoSequence = 6,
VideoHdr8 = 9,
}
public sealed class MediaCaptureSettings {
IDirect3DDevice Direct3D11Device { get; }
}
public sealed class MediaCaptureVideoProfile {
IVectorView FrameSourceInfos { get; }
IMapView Properties { get; }
}
public sealed class MediaCaptureVideoProfileMediaDescription {
IMapView Properties { get; }
string Subtype { get; }
}
}
namespace Windows.Media.Capture.Frames {
public sealed class AudioMediaFrame
public sealed class MediaFrameFormat {
AudioEncodingProperties AudioEncodingProperties { get; }
}
public sealed class MediaFrameReference : IClosable {
AudioMediaFrame AudioMediaFrame { get; }
}
public sealed class MediaFrameSourceController {
AudioDeviceController AudioDeviceController { get; }
}
public sealed class MediaFrameSourceInfo {
string ProfileId { get; }
IVectorView VideoProfileMediaDescription { get; }
}
public enum MediaFrameSourceKind {
Audio = 4,
Image = 5,
}
}
namespace Windows.Media.Core {
public sealed class AudioStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
AudioStreamDescriptor Copy();
}
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class TimedMetadataStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2
public sealed class VideoStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
VideoStreamDescriptor Copy();
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
public sealed class DialReceiverApp {
IAsyncOperation GetUniqueDeviceNameAsync();
}
}
namespace Windows.Media.Effects {
public sealed class VideoTransformEffectDefinition : IVideoEffectDefinition {
VideoTransformSphericalProjection SphericalProjection { get; }
}
public sealed class VideoTransformSphericalProjection
}
namespace Windows.Media.MediaProperties {
public sealed class AudioEncodingProperties : IMediaEncodingProperties {
AudioEncodingProperties Copy();
}
public sealed class ContainerEncodingProperties : IMediaEncodingProperties {
ContainerEncodingProperties Copy();
}
public sealed class ImageEncodingProperties : IMediaEncodingProperties {
ImageEncodingProperties Copy();
}
public sealed class MediaEncodingProfile {
IVector GetTimedMetadataTracks();
void SetTimedMetadataTracks(IIterable value);
}
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties
public sealed class VideoEncodingProperties : IMediaEncodingProperties {
VideoEncodingProperties Copy();
}
}
namespace Windows.Media.Playback {
public sealed class MediaPlaybackSession {
MediaRotation PlaybackRotation { get; set; }
MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
}
public sealed class MediaPlaybackSessionOutputDegradationPolicyState
public enum MediaPlaybackSessionVideoConstrictionReason
public sealed class MediaPlayer : IClosable {
AudioStateMonitor AudioStateMonitor { get; }
}
}
namespace Windows.Media.SpeechSynthesis {
public enum SpeechAppendedSilence
public enum SpeechPunctuationSilence
public sealed class SpeechSynthesizerOptions {
SpeechAppendedSilence AppendedSilence { get; set; }
SpeechPunctuationSilence PunctuationSilence { get; set; }
}
}
namespace Windows.Media.Streaming.Adaptive {
public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
string ResourceContentType { get; }
IReference ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
string ResourceContentType { get; }
IReference ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
string ResourceContentType { get; }
IReference ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
string ResourceContentType { get; }
IReference ResourceDuration { get; }
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class ESim
public sealed class ESimAddedEventArgs
public enum ESimAuthenticationPreference
public sealed class ESimDownloadProfileMetadataResult
public static class ESimManager
public sealed class ESimOperationResult
public enum ESimOperationStatus
public sealed class ESimPolicy
public sealed class ESimProfile
public enum ESimProfileClass
public struct ESimProfileInstallProgress
public sealed class ESimProfileMetadata
public enum ESimProfileMetadataState
public sealed class ESimProfilePolicy
public enum ESimProfileState
public sealed class ESimRemovedEventArgs
public sealed class ESimServiceInfo
public enum ESimState
public sealed class ESimUpdatedEventArgs
public sealed class ESimWatcher
public enum ESimWatcherStatus
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
bool IsInEmergencyCallMode { get; }
event TypedEventHandler IsInEmergencyCallModeChanged;
IAsyncOperation TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
public enum NetworkOperatorDataUsageNotificationKind
public sealed class NetworkOperatorDataUsageTriggerDetails
public sealed class TetheringEntitlementCheckTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class MessageWebSocket : IClosable, IWebSocket {
IAsyncOperationWithProgress SendFinalFrameAsync(IBuffer data);
IAsyncOperationWithProgress SendNonfinalFrameAsync(IBuffer data);
}
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
public sealed class VpnChannel {
object CurrentRequestTransportContext { get; }
void AddAndAssociateTransport(object transport, object context);
ControlChannelTriggerStatus GetSlotTypeForTransportContext(object context);
void ReplaceAndAssociateTransport(object transport, object context);
void StartReconnectingTransport(object transport, object context);
void StartWithTrafficFilter(IIterable assignedClientIpv4Addresses, IIterable assignedClientIpv6Addresses, VpnInterfaceId vpninterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, IIterable transports, VpnTrafficFilterAssignment assignedTrafficFilters);
}
public sealed class VpnPacketBuffer {
object TransportContext { get; set; }
}
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavailable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Security.Authentication.Web.Core {
public sealed class FindAllAccountsResult
public enum FindAllWebAccountsStatus
public static class WebAuthenticationCoreManager {
public static IAsyncOperation FindAllAccountsAsync(WebAccountProvider provider);
public static IAsyncOperation FindAllAccountsAsync(WebAccountProvider provider, string clientId);
public static IAsyncOperation FindSystemAccountProviderAsync(string webAccountProviderId);
public static IAsyncOperation FindSystemAccountProviderAsync(string webAccountProviderId, string authority);
public static IAsyncOperation FindSystemAccountProviderAsync(string webAccountProviderId, string authority, User user);
}
}
namespace Windows.Security.Authentication.Web.Provider {
public sealed class WebProviderTokenRequest {
string ApplicationPackageFamilyName { get; }
string ApplicationProcessName { get; }
IAsyncOperation CheckApplicationForCapabilityAsync(string capabilityName);
}
}
namespace Windows.Security.Credentials {
public sealed class WebAccountProvider {
bool IsSystemProvider { get; }
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference DepartureTime { get; set; }
}
public sealed class PlaceInfo {
public static PlaceInfo CreateFromAddress(string displayAddress);
public static PlaceInfo CreateFromAddress(string displayAddress, string displayName);
}
}
namespace Windows.Services.Store {
public sealed class StoreCanAcquireLicenseResult
public enum StoreCanLicenseStatus
public sealed class StoreContext {
bool CanSilentlyDownloadStorePackageUpdates { get; }
IAsyncOperation CanAcquireStoreLicenseAsync(string productStoreId);
IAsyncOperation CanAcquireStoreLicenseForOptionalPackageAsync(Package optionalPackage);
IAsyncOperationWithProgress DownloadAndInstallStorePackagesAsync(IIterable storeIds);
IAsyncOperation<IVectorView> GetAssociatedStoreQueueItemsAsync();
IAsyncOperation GetStoreProductsAsync(IIterable productKinds, IIterable storeIds, StoreProductOptions storeProductOptions);
IAsyncOperation<IVectorView> GetStoreQueueItemsAsync(IIterable storeIds);
IAsyncOperationWithProgress RequestDownloadAndInstallStorePackagesAsync(IIterable storeIds, StorePackageInstallOptions storePackageInstallOptions);
IAsyncOperation RequestUninstallStorePackageAsync(Package package);
IAsyncOperation RequestUninstallStorePackageByStoreIdAsync(string storeId);
IAsyncOperationWithProgress TrySilentDownloadAndInstallStorePackageUpdatesAsync(IIterable storePackageUpdates);
IAsyncOperationWithProgress TrySilentDownloadStorePackageUpdatesAsync(IIterable storePackageUpdates);
IAsyncOperation UninstallStorePackageAsync(Package package);
IAsyncOperation UninstallStorePackageByStoreIdAsync(string storeId);
}
public sealed class StorePackageInstallOptions
public sealed class StorePackageUpdateResult {
IVectorView StoreQueueItems { get; }
}
public sealed class StoreProductOptions
public sealed class StoreQueueItem
public sealed class StoreQueueItemCompletedEventArgs
public enum StoreQueueItemExtendedState
public enum StoreQueueItemKind
public enum StoreQueueItemState
public sealed class StoreQueueItemStatus
public sealed class StoreUninstallStorePackageResult
public enum StoreUninstallStorePackageStatus
}
namespace Windows.Storage {
public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
StorageLibraryChangeTracker TryGetChangeTracker();
}
}
namespace Windows.Storage.Provider {
public interface IStorageProviderUriSource
public sealed class StorageProviderGetContentInfoForPathResult
public sealed class StorageProviderGetPathForContentUriResult
public enum StorageProviderUriSourceStatus
}
namespace Windows.Storage.Search {
public sealed class StorageLibraryChangeTrackerTriggerDetails
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation LaunchAsync();
}
public sealed class AppExecutionStateChangeResult
public sealed class AppResourceGroupInfo {
IAsyncOperation StartResumeAsync();
IAsyncOperation StartSuspendAsync();
IAsyncOperation StartTerminateAsync();
}
public enum AutoUpdateTimeZoneStatus
public static class TimeZoneSettings {
public static IAsyncOperation AutoUpdateTimeZoneAsync(TimeSpan timeout);
}
}
namespace Windows.System.Diagnostics {
public sealed class DiagnosticInvoker {
IAsyncOperationWithProgress RunDiagnosticActionFromStringAsync(string context);
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.Inventory {
public sealed class InstalledDesktopApp : IStringable
}
namespace Windows.System.Profile {
public static class AnalyticsInfo {
public static IAsyncOperation<IMapView> GetClientPropertiesAsync(IIterable attributeNames);
}
}
namespace Windows.System.RemoteSystems {
public sealed class RemoteSystem {
RemoteSystemPlatform Platform { get; }
}
public sealed class RemoteSystemEnumerationCompletedEventArgs
public enum RemoteSystemPlatform
public sealed class RemoteSystemWatcher {
event TypedEventHandler EnumerationCompleted;
event TypedEventHandler ErrorOcurred;
}
public enum RemoteSystemWatcherError
public sealed class RemoteSystemWatcherErrorOcurredEventArgs
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.ApplicationSettings {
public sealed class AccountsSettingsPane {
public static IAsyncAction ShowAddAccountForUserAsync(User user);
public static IAsyncAction ShowManageAccountsForUserAsync(User user);
}
public sealed class AccountsSettingsPaneCommandsRequestedEventArgs {
User User { get; }
}
}
namespace Windows.UI.Composition {
public sealed class AnimationController : CompositionObject
public enum AnimationControllerProgressBehavior
public sealed class BounceScalarNaturalMotionAnimation : ScalarNaturalMotionAnimation
public sealed class BounceVector2NaturalMotionAnimation : Vector2NaturalMotionAnimation
public sealed class BounceVector3NaturalMotionAnimation : Vector3NaturalMotionAnimation
public sealed class CompositionContainerShape : CompositionShape
public sealed class CompositionEllipseGeometry : CompositionGeometry
public class CompositionGeometry : CompositionObject
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class CompositionLineGeometry : CompositionGeometry
public class CompositionObject : IClosable {
AnimationController TryGetAnimationController(string propertyName);
}
public sealed class CompositionPath : IGeometrySource2D
public sealed class CompositionPathGeometry : CompositionGeometry
public sealed class CompositionRectangleGeometry : CompositionGeometry
public sealed class CompositionRoundedRectangleGeometry : CompositionGeometry
public class CompositionShape : CompositionObject
public sealed class CompositionShapeCollection : CompositionObject, IIterable, IVector
public sealed class CompositionSpriteShape : CompositionShape
public enum CompositionStrokeCap
public sealed class CompositionStrokeDashArray : CompositionObject, IIterable, IVector
public enum CompositionStrokeLineJoin
public sealed class CompositionViewBox : CompositionObject
public sealed class Compositor : IClosable {
string Comment { get; set; }
float GlobalPlaybackRate { get; set; }
public static float MaxGlobalPlaybackRate { get; }
public static float MinGlobalPlaybackRate { get; }
BounceScalarNaturalMotionAnimation CreateBounceScalarAnimation();
BounceVector2NaturalMotionAnimation CreateBounceVector2Animation();
BounceVector3NaturalMotionAnimation CreateBounceVector3Animation();
CompositionContainerShape CreateContainerShape();
CompositionEllipseGeometry CreateEllipseGeometry();
CompositionLineGeometry CreateLineGeometry();
CompositionPathGeometry CreatePathGeometry();
CompositionPathGeometry CreatePathGeometry(CompositionPath path);
PathKeyFrameAnimation CreatePathKeyFrameAnimation();
CompositionRectangleGeometry CreateRectangleGeometry();
CompositionRoundedRectangleGeometry CreateRoundedRectangleGeometry();
ShapeVisual CreateShapeVisual();
CompositionSpriteShape CreateSpriteShape();
CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry);
CompositionViewBox CreateViewBox();
IAsyncAction RequestCommitAsync();
}
public sealed class PathKeyFrameAnimation : KeyFrameAnimation
public sealed class PointLight : CompositionLight {
float MaxAttenuationCutoff { get; set; }
float MinAttenuationCutoff { get; set; }
}
public sealed class ShapeVisual : ContainerVisual
public sealed class SpotLight : CompositionLight {
float MaxAttenuationCutoff { get; set; }
float MinAttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Composition.Desktop {
public sealed class DesktopWindowTarget : CompositionTarget
}
namespace Windows.UI.Composition.Diagnostics {
public sealed class CompositionDebugHeatMaps
public enum CompositionDebugOverdrawContentKinds : uint
public sealed class CompositionDebugSettings
}
namespace Windows.UI.Composition.Interactions {
public enum VisualInteractionSourceRedirectionMode {
CapableTouchpadAndPointerWheel = 3,
PointerWheelOnly = 2,
}
}
namespace Windows.UI.Core {
public enum AppViewBackButtonVisibility {
Disabled = 2,
}
public sealed class CoreComponentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
DispatcherQueue DispatcherQueue { get; }
}
public sealed class CoreIndependentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
DispatcherQueue DispatcherQueue { get; }
}
public interface ICorePointerInputSource2 : ICorePointerInputSource
}
namespace Windows.UI.Input.Core {
public sealed class RadialControllerIndependentInputSource {
DispatcherQueue DispatcherQueue { get; }
}
}
namespace Windows.UI.Input.Inking {
public sealed class InkDrawingAttributes {
InkModelerAttributes ModelerAttributes { get; }
}
public sealed class InkInputConfiguration
public sealed class InkModelerAttributes
public sealed class InkPresenter {
InkInputConfiguration InputConfiguration { get; }
}
}
namespace Windows.UI.Input.Spatial {
public sealed class SpatialInteractionController {
BatteryReport TryGetBatteryReport();
}
}
namespace Windows.UI.Notifications {
public sealed class ScheduledToastNotification {
IReference ExpirationTime { get; set; }
}
}
namespace Windows.UI.StartScreen {
public sealed class TileMixedRealityModel {
TileMixedRealityModelActivationBehavior ActivationBehavior { get; set; }
}
public enum TileMixedRealityModelActivationBehavior
}
namespace Windows.UI.Text {
public sealed class ContentLinkInfo
public sealed class RichEditTextRange : ITextRange
public enum TextRangeUnit {
ContentLink = 32,
}
}
namespace Windows.UI.ViewManagement {
public sealed class ApplicationViewTab
public sealed class ApplicationViewTabBadge
public sealed class ApplicationViewTabIcon
public sealed class ApplicationViewTabManager
public sealed class ApplicationViewTabManagerTabClosedEventArgs
public sealed class ApplicationViewTabManagerTabCloseRequestedEventArgs
public sealed class ApplicationViewTabManagerTabDraggedOutEventArgs
public sealed class ApplicationViewTabManagerTabDroppedInEventArgs
public sealed class ApplicationViewTabManagerTabRearrangedEventArgs
public static class ApplicationViewTabPolicy
}
namespace Windows.UI.ViewManagement.Core {
public sealed class CoreInputView {
event TypedEventHandler XYFocusTransferredToPrimaryView;
event TypedEventHandler XYFocusTransferringFromPrimaryView;
bool TryTransferXYFocusToPrimaryView(Rect origin, CoreInputViewXYFocusTransferDirection direction);
}
public sealed class CoreInputViewTransferringXYFocusEventArgs
public enum CoreInputViewXYFocusTransferDirection
}
namespace Windows.UI.WebUI {
public sealed class WebUIBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
public sealed class WebUILaunchActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IApplicationViewActivatedEventArgs, ILaunchActivatedEventArgs, ILaunchActivatedEventArgs2, IPrelaunchActivatedEventArgs {
TileActivatedInfo TileActivatedInfo { get; }
}
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
double HorizontalAlignmentRatio { get; set; }
double HorizontalOffset { get; set; }
double VerticalAlignmentRatio { get; set; }
double VerticalOffset { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class ElementSoundPlayer {
public static ElementSpatialAudioMode SpatialAudioMode { get; set; }
}
public enum ElementSpatialAudioMode
public enum FocusVisualKind {
Reveal = 2,
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
public static RoutedEvent ContextRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorPlacementTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
public static void RegisterAsScrollPort(UIElement element);
}
}
namespace Windows.UI.Xaml.Automation {
public sealed class AutomationElementIdentifiers {
public static AutomationProperty HeadingLevelProperty { get; }
}
public sealed class AutomationProperties {
public static DependencyProperty HeadingLevelProperty { get; }
public static AutomationHeadingLevel GetHeadingLevel(DependencyObject element);
public static void SetHeadingLevel(DependencyObject element, AutomationHeadingLevel value);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public enum AutomationHeadingLevel
public class AutomationPeer : DependencyObject {
AutomationHeadingLevel GetHeadingLevel();
virtual AutomationHeadingLevel GetHeadingLevelCore();
}
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
public class CalendarDatePickerAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IValueProvider
public class TreeViewItemAutomationPeer : ListViewItemAutomationPeer, IExpandCollapseProvider
public class TreeViewListAutomationPeer : SelectorAutomationPeer
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public sealed class ContentLinkChangedEventArgs
public enum ContentLinkChangeKind
public sealed class HandwritingPanelClosedEventArgs
public sealed class HandwritingPanelOpenedEventArgs
public enum HandwritingPanelPlacementAlignment
public class HandwritingView : Control
public class IconSource : DependencyObject {
protected IconSource();
}
public class MediaTransportControls : Control {
bool IsCompactOverlayButtonVisible { get; set; }
public static DependencyProperty IsCompactOverlayButtonVisibleProperty { get; }
bool IsCompactOverlayEnabled { get; set; }
public static DependencyProperty IsCompactOverlayEnabledProperty { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
NavigationViewBackButtonVisible IsBackButtonVisible { get; set; }
public static DependencyProperty IsBackButtonVisibleProperty { get; }
bool IsBackEnabled { get; set; }
public static DependencyProperty IsBackEnabledProperty { get; }
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler BackRequested;
event TypedEventHandler PaneClosed;
event TypedEventHandler PaneClosing;
event TypedEventHandler PaneOpened;
event TypedEventHandler PaneOpening;
}
public enum NavigationViewBackButtonVisible
public sealed class NavigationViewBackRequestedEventArgs
public sealed class NavigationViewPaneClosingEventArgs
public class RefreshContainer : ContentControl
public sealed class RefreshInteractionRatioChangedEventArgs
public enum RefreshPullDirection
public sealed class RefreshRequestedEventArgs
public sealed class RefreshStateChangedEventArgs
public class RefreshVisualizer : Control
public enum RefreshVisualizerOrientation
public enum RefreshVisualizerState
public class RichEditBox : Control {
SolidColorBrush ContentLinkBackgroundColor { get; set; }
public static DependencyProperty ContentLinkBackgroundColorProperty { get; }
SolidColorBrush ContentLinkForegroundColor { get; set; }
public static DependencyProperty ContentLinkForegroundColorProperty { get; }
ContentLinkProviderCollection ContentLinkProviders { get; set; }
public static DependencyProperty ContentLinkProvidersProperty { get; }
HandwritingView HandwritingView { get; set; }
public static DependencyProperty HandwritingViewProperty { get; }
bool IsHandwritingViewEnabled { get; set; }
public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
event TypedEventHandler ContentLinkChanged;
event TypedEventHandler ContentLinkInvoked;
}
public class TextBox : Control {
HandwritingView HandwritingView { get; set; }
public static DependencyProperty HandwritingViewProperty { get; }
bool IsHandwritingViewEnabled { get; set; }
public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
}
public class TreeView : Control
public sealed class TreeViewCollapsedEventArgs
public sealed class TreeViewExpandingEventArgs
public class TreeViewItem : ListViewItem
public sealed class TreeViewItemInvokedEventArgs
public class TreeViewItemTemplateSettings : DependencyObject
public class TreeViewList : ListView
public class TreeViewNode : DependencyObject
public enum TreeViewSelectionMode
public sealed class WebView : FrameworkElement {
event TypedEventHandler SeparateProcessLost;
}
public enum WebViewExecutionMode {
SeparateProcess = 2,
}
public enum WebViewPermissionType {
Screen = 5,
WebVR = 6,
}
public sealed class WebViewSeparateProcessLostEventArgs
}
namespace Windows.UI.Xaml.Controls.Maps {
public sealed class MapControl : Control {
string Region { get; set; }
public static DependencyProperty RegionProperty { get; }
}
public class MapElement : DependencyObject {
bool IsEnabled { get; set; }
public static DependencyProperty IsEnabledProperty { get; }
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Documents {
public sealed class ContactContentLinkProvider : ContentLinkProvider
public sealed class ContentLink : Inline
public sealed class ContentLinkInvokedEventArgs
public class ContentLinkProvider : DependencyObject
public sealed class ContentLinkProviderCollection : IIterable, IVector
public sealed class PlaceContentLinkProvider : ContentLinkProvider
}
namespace Windows.UI.Xaml.Input {
public sealed class FocusManager {
public static IAsyncOperation TryFocusAsync(DependencyObject element, FocusState value);
public static IAsyncOperation TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
public static IAsyncOperation TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
}
public sealed class FocusMovementResult
public sealed class GettingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode
public sealed class LosingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
}
namespace Windows.UI.Xaml.Media {
public sealed class CompositionTarget {
public static event EventHandler Rendered;
}
public sealed class RenderedEventArgs
}
namespace Windows.Web.UI {
public interface IWebViewControl
public sealed class WebViewControlContentLoadingEventArgs
public sealed class WebViewControlDeferredPermissionRequest
public sealed class WebViewControlDOMContentLoadedEventArgs
public sealed class WebViewControlLongRunningScriptDetectedEventArgs
public sealed class WebViewControlNavigationCompletedEventArgs
public sealed class WebViewControlNavigationStartingEventArgs
public sealed class WebViewControlNewWindowRequestedEventArgs
public sealed class WebViewControlPermissionRequest
public sealed class WebViewControlPermissionRequestedEventArgs
public enum WebViewControlPermissionState
public enum WebViewControlPermissionType
public sealed class WebViewControlScriptNotifyEventArgs
public sealed class WebViewControlSettings
public sealed class WebViewControlUnsupportedUriSchemeIdentifiedEventArgs
public sealed class WebViewControlUnviewableContentIdentifiedEventArgs
public sealed class WebViewControlWebResourceRequestedEventArgs
}
namespace Windows.Web.UI.Interop {
public sealed class WebViewControl : IWebViewControl
public sealed class WebViewControlAcceleratorKeyPressedEventArgs
public enum WebViewControlAcceleratorKeyRoutingStage
public enum WebViewControlMoveFocusReason
public sealed class WebViewControlMoveFocusRequestedEventArgs
public sealed class WebViewControlProcess
public enum WebViewControlProcessCapabilityState
public sealed class WebViewControlProcessOptions
}

Windows 10 SDK Preview Build 17061 now available

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17061 or greater). The Preview SDK Build 17061 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Known Issues
Installation on an operating system that is not a Windows 10 Insider Preview build is not supported and may fail.
Cannot deploy to a device: When attempting to deploy to a mobile device, it fails with the following error:  DEP0001: Unexpected Error: SmartDeviceException – Class not registered [0x80131500]
Please follow this posting for updates.  https://developercommunity.visualstudio.com/content/problem/122425/dep0001-unexpected-error-smartdeviceexception-the.html
XAML Designer fails to load: When attempting to load the XAML designer, an Unhandled exception occurs “The XAML Designer has excited unexpectedly.
What’s New:
C++/WinRT Now Available: The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week.The ModernCPP blog has a deeper dive into the CppWinRT compiler. Please give us feedback by creating an issue at: https://github.com/microsoft/cppwinrt.
 Breaking Changes
New MIDL key words.
As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords is used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

namespace Windows.ApplicationModel {
public enum AddResourcePackageOptions : uint
public sealed class AppInstance
public sealed class PackageCatalog {
IAsyncOperationWithProgress<PackageCatalogAddResourcePackageResult, PackageInstallProgress> AddResourcePackageAsync(string resourcePackageFamilyName, string resourceID, AddResourcePackageOptions options);
IAsyncOperation<PackageCatalogRemoveResourcePackagesResult> RemoveResourcePackagesAsync(IIterable<Package> resourcePackages);
}
public sealed class PackageCatalogAddResourcePackageResult
public sealed class PackageCatalogRemoveResourcePackagesResult
public struct PackageInstallProgress
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Activation {
public enum ActivationKind {
BarcodeScannerProvider = 1022,
}
public sealed class BarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
public interface IBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs
}
namespace Windows.ApplicationModel.Background {
public enum BackgroundAccessRequestKind
public static class BackgroundExecutionManager {
public static IAsyncOperation<bool> RequestAccessKindAsync(BackgroundAccessRequestKind requestedAccess, string reason);
}
public sealed class CustomSystemEventTrigger : IBackgroundTrigger
public enum CustomSystemEventTriggerRecurrence
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
public sealed class NetworkOperatorDataUsageTrigger : IBackgroundTrigger
public sealed class StorageLibraryChangeTrackerTrigger : IBackgroundTrigger
public sealed class TetheringEntitlementCheckTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.Core {
public sealed class AppListEntry {
IAsyncOperation<bool> LaunchForUserAsync(User user);
}
}
namespace Windows.ApplicationModel.DataTransfer {
public sealed class DataPackagePropertySet : IIterable<IKeyValuePair<string, object>>, IMap<string, object> {
string ContentSourceUserActivityJson { get; set; }
}
public sealed class DataPackagePropertySetView : IIterable<IKeyValuePair<string, object>>, IMapView<string, object> {
string ContentSourceUserActivityJson { get; }
}
public static class StandardDataFormats {
public static string UserActivityJsonArray { get; }
}
}
namespace Windows.ApplicationModel.Store.Preview {
public enum StoreSystemFeature {
ArchitectureArm64 = 34,
}
}
namespace Windows.ApplicationModel.Store.Preview.InstallControl {
public sealed class AppInstallItem {
bool LaunchAfterInstall { get; set; }
}
public sealed class AppInstallManager {
IAsyncOperation<bool> GetIsPackageIdentityAllowedToInstallAsync(string correlationVector, string packageIdentityName, string publisherCertificateName);
IAsyncOperation<bool> GetIsPackageIdentityAllowedToInstallForUserAsync(User user, string correlationVector, string packageIdentityName, string publisherCertificateName);
IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesAsync(string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesForUserAsync(User user, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<AppInstallItem> SearchForUpdatesAsync(string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<AppInstallItem> SearchForUpdatesForUserAsync(User user, string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallAsync(string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallForUserAsync(User user, string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
}
public sealed class AppInstallOptions
public sealed class AppInstallStatus {
bool IsStaged { get; }
}
public sealed class AppUpdateOptions
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity(string activityId);
string ToJson();
public static string ToJsonArray(IIterable<UserActivity> activities);
public static UserActivity TryParseFromJson(string json);
public static IVector<UserActivity> TryParseFromJsonArray(string json);
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
IAsyncOperation<IVector<UserActivitySessionHistoryItem>> GetRecentUserActivitiesAsync(int maxUniqueActivities);
IAsyncOperation<IVector<UserActivitySessionHistoryItem>> GetSessionHistoryItemsForUserActivityAsync(string activityId, DateTime startTime);
public static UserActivityChannel TryGetForWebAccount(WebAccount account);
}
public sealed class UserActivityRequest
public sealed class UserActivityRequestedEventArgs
public sealed class UserActivityRequestManager
public sealed class UserActivitySessionHistoryItem
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.Bluetooth {
public sealed class BluetoothAdapter {
bool AreClassicSecureConnectionsSupported { get; }
bool AreLowEnergySecureConnectionsSupported { get; }
}
public sealed class BluetoothDevice : IClosable {
bool WasSecureConnectionUsedForPairing { get; }
}
public sealed class BluetoothLEDevice : IClosable {
bool WasSecureConnectionUsedForPairing { get; }
}
}
namespace Windows.Devices.Display {
public sealed class DisplayMonitor
public enum DisplayMonitorConnectionKind
public enum DisplayMonitorDescriptorKind
public enum DisplayMonitorPhysicalConnectorKind
public enum DisplayMonitorUsageKind
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
bool IsVideoPreviewShownOnEnable { get; set; }
void HideVideoPreview();
IAsyncOperation<bool> ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Devices.PointOfService.Provider {
public sealed class BarcodeScannerDisableScannerRequest
public sealed class BarcodeScannerDisableScannerRequestEventArgs
public sealed class BarcodeScannerEnableScannerRequest
public sealed class BarcodeScannerEnableScannerRequestEventArgs
public sealed class BarcodeScannerGetSymbologyAttributesRequest
public sealed class BarcodeScannerGetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerHideVideoPreviewRequest
public sealed class BarcodeScannerHideVideoPreviewRequestEventArgs
public sealed class BarcodeScannerProviderConnection : IClosable
public sealed class BarcodeScannerProviderTriggerDetails
public sealed class BarcodeScannerSetActiveSymbologiesRequest
public sealed class BarcodeScannerSetActiveSymbologiesRequestEventArgs
public sealed class BarcodeScannerSetSymbologyAttributesRequest
public sealed class BarcodeScannerSetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerStartSoftwareTriggerRequest
public sealed class BarcodeScannerStartSoftwareTriggerRequestEventArgs
public sealed class BarcodeScannerStopSoftwareTriggerRequest
public sealed class BarcodeScannerStopSoftwareTriggerRequestEventArgs
public enum BarcodeScannerTriggerState
public sealed class BarcodeSymbologyAttributesBuilder
}
namespace Windows.Foundation.Numerics {
public struct Rational
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView<string> GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics {
public struct DisplayAdapterId
public interface IGeometrySource2D
}
namespace Windows.Graphics.Capture {
public sealed class Direct3D11CaptureFrame : IClosable
public sealed class Direct3D11CaptureFramePool : IClosable
public sealed class GraphicsCaptureItem
public sealed class GraphicsCapturePicker
public sealed class GraphicsCaptureSession : IClosable
}
namespace Windows.Graphics.DirectX {
public enum DirectXColorSpace
}
namespace Windows.Graphics.Display {
public sealed class AdvancedColorInfo
public enum AdvancedColorKind
public sealed class BrightnessOverrideSettings
public sealed class ColorOverrideSettings
public enum DisplayBrightnessOverrideScenario
public enum DisplayColorOverrideScenario
public sealed class DisplayEnhancementOverride
public sealed class DisplayEnhancementOverrideCapabilities
public sealed class DisplayEnhancementOverrideCapabilitiesChangedEventArgs
public sealed class DisplayInformation {
event TypedEventHandler<DisplayInformation, object> AdvancedColorInfoChanged;
AdvancedColorInfo GetAdvancedColorInfo();
}
public enum HdrMetadataFormat
public struct NitRange
}
namespace Windows.Graphics.Holographic {
public sealed class HolographicCamera {
bool CanOverrideViewport { get; }
}
public sealed class HolographicCameraPose {
void OverrideProjectionTransform(HolographicStereoTransform projectionTransform);
void OverrideViewport(Rect leftViewport, Rect rightViewport);
void OverrideViewTransform(SpatialCoordinateSystem coordinateSystem, HolographicStereoTransform coordinateSystemToViewTransform);
}
public sealed class HolographicFramePresentationMonitor : IClosable
public sealed class HolographicFramePresentationReport
public sealed class HolographicSpace {
HolographicSpaceUserPresence UserPresence { get; }
event TypedEventHandler<HolographicSpace, object> UserPresenceChanged;
HolographicFramePresentationMonitor CreateFramePresentationMonitor(uint maxQueuedReports);
void WaitForNextFrameReady();
void WaitForNextFrameReadyWithHeadStart(TimeSpan requestedHeadStartDuration);
}
public enum HolographicSpaceUserPresence
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Graphics.Printing {
public sealed class PrintPageRange
public sealed class PrintPageRangeOptions
public sealed class PrintTaskOptions : IPrintTaskOptionsCore, IPrintTaskOptionsCoreProperties, IPrintTaskOptionsCoreUIConfiguration {
IVector<PrintPageRange> CustomPageRanges { get; }
PrintPageRangeOptions PageRangeOptions { get; }
}
public static class StandardPrintTaskOptions {
public static string CustomPageRanges { get; }
}
}
namespace Windows.Graphics.Printing.OptionDetails {
public sealed class PrintBindingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintBorderingOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCollationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintColorModeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCopiesOptionDetails : IPrintNumberOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCustomItemListOptionDetails : IPrintCustomOptionDetails, IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
void AddItem(string itemId, string displayName, string description, IRandomAccessStreamWithContentType icon);
}
public sealed class PrintCustomTextOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintCustomToggleOptionDetails : IPrintCustomOptionDetails, IPrintOptionDetails
public sealed class PrintDuplexOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintHolePunchOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintMediaSizeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintMediaTypeOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public enum PrintOptionType {
Toggle = 4,
}
public sealed class PrintOrientationOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintPageRangeOptionDetails : IPrintOptionDetails
public sealed class PrintQualityOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintStapleOptionDetails : IPrintItemListOptionDetails, IPrintOptionDetails {
string Description { get; set; }
string WarningText { get; set; }
}
public sealed class PrintTaskOptionDetails : IPrintTaskOptionsCore, IPrintTaskOptionsCoreUIConfiguration {
PrintCustomToggleOptionDetails CreateToggleOption(string optionId, string displayName);
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
}
}
namespace Windows.Management.Update {
public sealed class PreviewBuildsManager
public sealed class PreviewBuildsState
}
namespace Windows.Media {
public sealed class VideoFrame : IClosable, IMediaFrame {
IAsyncAction CopyToAsync(VideoFrame frame, IReference<BitmapBounds> sourceBounds, IReference<BitmapBounds> destinationBounds);
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height);
public static VideoFrame CreateAsDirect3D11SurfaceBacked(DirectXPixelFormat format, int width, int height, IDirect3DDevice device);
public static VideoFrame CreateWithDirect3D11Surface(IDirect3DSurface surface);
public static VideoFrame CreateWithSoftwareBitmap(SoftwareBitmap bitmap);
}
}
namespace Windows.Media.Audio {
public sealed class AudioGraph : IClosable {
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
}
public sealed class AudioGraphSettings {
double MaxPlaybackSpeedFactor { get; set; }
}
public sealed class AudioStateMonitor
public sealed class CreateMediaSourceAudioInputNodeResult
public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
public enum KnownVideoProfile {
HdrWithWcgPhoto = 8,
HdrWithWcgVideo = 7,
HighFrameRate = 5,
VariablePhotoSequence = 6,
VideoHdr8 = 9,
}
public sealed class MediaCaptureSettings {
IDirect3DDevice Direct3D11Device { get; }
}
public sealed class MediaCaptureVideoProfile {
IVectorView<MediaFrameSourceInfo> FrameSourceInfos { get; }
IMapView<Guid, object> Properties { get; }
}
public sealed class MediaCaptureVideoProfileMediaDescription {
IMapView<Guid, object> Properties { get; }
string Subtype { get; }
}
}
namespace Windows.Media.Capture.Frames {
public sealed class AudioMediaFrame
public sealed class MediaFrameFormat {
AudioEncodingProperties AudioEncodingProperties { get; }
}
public sealed class MediaFrameReference : IClosable {
AudioMediaFrame AudioMediaFrame { get; }
}
public sealed class MediaFrameSourceController {
AudioDeviceController AudioDeviceController { get; }
}
public sealed class MediaFrameSourceInfo {
string ProfileId { get; }
IVectorView<MediaCaptureVideoProfileMediaDescription> VideoProfileMediaDescription { get; }
}
public enum MediaFrameSourceKind {
Audio = 4,
Image = 5,
}
}
namespace Windows.Media.Core {
public sealed class AudioStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
AudioStreamDescriptor Copy();
}
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class TimedMetadataStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2
public sealed class VideoStreamDescriptor : IMediaStreamDescriptor, IMediaStreamDescriptor2 {
VideoStreamDescriptor Copy();
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
public sealed class DialReceiverApp {
IAsyncOperation<string> GetUniqueDeviceNameAsync();
}
}
namespace Windows.Media.Effects {
public sealed class VideoTransformEffectDefinition : IVideoEffectDefinition {
VideoTransformSphericalProjection SphericalProjection { get; }
}
public sealed class VideoTransformSphericalProjection
}
namespace Windows.Media.MediaProperties {
public sealed class AudioEncodingProperties : IMediaEncodingProperties {
AudioEncodingProperties Copy();
}
public sealed class ContainerEncodingProperties : IMediaEncodingProperties {
ContainerEncodingProperties Copy();
}
public sealed class ImageEncodingProperties : IMediaEncodingProperties {
ImageEncodingProperties Copy();
}
public sealed class MediaEncodingProfile {
IVector<TimedMetadataStreamDescriptor> GetTimedMetadataTracks();
void SetTimedMetadataTracks(IIterable<TimedMetadataStreamDescriptor> value);
}
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
public sealed class TimedMetadataEncodingProperties : IMediaEncodingProperties
public sealed class VideoEncodingProperties : IMediaEncodingProperties {
VideoEncodingProperties Copy();
}
}
namespace Windows.Media.Playback {
public sealed class MediaPlaybackSession {
MediaRotation PlaybackRotation { get; set; }
MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
}
public sealed class MediaPlaybackSessionOutputDegradationPolicyState
public enum MediaPlaybackSessionVideoConstrictionReason
public sealed class MediaPlayer : IClosable {
AudioStateMonitor AudioStateMonitor { get; }
}
}
namespace Windows.Media.SpeechSynthesis {
public enum SpeechAppendedSilence
public enum SpeechPunctuationSilence
public sealed class SpeechSynthesizerOptions {
SpeechAppendedSilence AppendedSilence { get; set; }
SpeechPunctuationSilence PunctuationSilence { get; set; }
}
}
namespace Windows.Media.Streaming.Adaptive {
public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference<Guid> PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView<Guid> PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class ESim
public sealed class ESimAddedEventArgs
public enum ESimAuthenticationPreference
public sealed class ESimDownloadProfileMetadataResult
public static class ESimManager
public sealed class ESimOperationResult
public enum ESimOperationStatus
public sealed class ESimPolicy
public sealed class ESimProfile
public enum ESimProfileClass
public struct ESimProfileInstallProgress
public sealed class ESimProfileMetadata
public enum ESimProfileMetadataState
public sealed class ESimProfilePolicy
public enum ESimProfileState
public sealed class ESimRemovedEventArgs
public sealed class ESimServiceInfo
public enum ESimState
public sealed class ESimUpdatedEventArgs
public sealed class ESimWatcher
public enum ESimWatcherStatus
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
bool IsInEmergencyCallMode { get; }
event TypedEventHandler<MobileBroadbandModem, object> IsInEmergencyCallModeChanged;
IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
public enum NetworkOperatorDataUsageNotificationKind
public sealed class NetworkOperatorDataUsageTriggerDetails
public sealed class TetheringEntitlementCheckTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class MessageWebSocket : IClosable, IWebSocket {
IAsyncOperationWithProgress<uint, uint> SendFinalFrameAsync(IBuffer data);
IAsyncOperationWithProgress<uint, uint> SendNonfinalFrameAsync(IBuffer data);
}
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
public sealed class VpnChannel {
object CurrentRequestTransportContext { get; }
void AddAndAssociateTransport(object transport, object context);
ControlChannelTriggerStatus GetSlotTypeForTransportContext(object context);
void ReplaceAndAssociateTransport(object transport, object context);
void StartReconnectingTransport(object transport, object context);
void StartWithTrafficFilter(IIterable<HostName> assignedClientIpv4Addresses, IIterable<HostName> assignedClientIpv6Addresses, VpnInterfaceId vpninterfaceId, VpnRouteAssignment assignedRoutes, VpnDomainNameAssignment assignedNamespace, uint mtuSize, uint maxFrameSize, bool reserved, IIterable<object> transports, VpnTrafficFilterAssignment assignedTrafficFilters);
}
public sealed class VpnPacketBuffer {
object TransportContext { get; set; }
}
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavailable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Security.Authentication.Web.Core {
public sealed class FindAllAccountsResult
public enum FindAllWebAccountsStatus
public static class WebAuthenticationCoreManager {
public static IAsyncOperation<FindAllAccountsResult> FindAllAccountsAsync(WebAccountProvider provider);
public static IAsyncOperation<FindAllAccountsResult> FindAllAccountsAsync(WebAccountProvider provider, string clientId);
}
}
namespace Windows.Security.Authentication.Web.Provider {
public sealed class WebProviderTokenRequest {
string ApplicationPackageFamilyName { get; }
string ApplicationProcessName { get; }
IAsyncOperation<bool> CheckApplicationForCapabilityAsync(string capabilityName);
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference<DateTime> DepartureTime { get; set; }
}
public sealed class PlaceInfo {
public static PlaceInfo CreateFromAddress(string displayAddress);
public static PlaceInfo CreateFromAddress(string displayAddress, string displayName);
}
}
namespace Windows.Services.Store {
public sealed class StoreCanAcquireLicenseResult
public enum StoreCanLicenseStatus
public sealed class StoreContext {
bool CanSilentlyDownloadStorePackageUpdates { get; }
IAsyncOperation<StoreCanAcquireLicenseResult> CanAcquireStoreLicenseAsync(string productStoreId);
IAsyncOperation<StoreCanAcquireLicenseResult> CanAcquireStoreLicenseForOptionalPackageAsync(Package optionalPackage);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> DownloadAndInstallStorePackagesAsync(IIterable<string> storeIds);
IAsyncOperation<IVectorView<StoreQueueItem>> GetAssociatedStoreQueueItemsAsync();
IAsyncOperation<StoreProductQueryResult> GetStoreProductsAsync(IIterable<string> productKinds, IIterable<string> storeIds, StoreProductOptions storeProductOptions);
IAsyncOperation<IVectorView<StoreQueueItem>> GetStoreQueueItemsAsync(IIterable<string> storeIds);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> RequestDownloadAndInstallStorePackagesAsync(IIterable<string> storeIds, StorePackageInstallOptions storePackageInstallOptions);
IAsyncOperation<StoreUninstallStorePackageResult> RequestUninstallStorePackageAsync(Package package);
IAsyncOperation<StoreUninstallStorePackageResult> RequestUninstallStorePackageByStoreIdAsync(string storeId);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
IAsyncOperation<StoreUninstallStorePackageResult> UninstallStorePackageAsync(Package package);
IAsyncOperation<StoreUninstallStorePackageResult> UninstallStorePackageByStoreIdAsync(string storeId);
}
public sealed class StorePackageInstallOptions
public sealed class StorePackageUpdateResult {
IVectorView<StoreQueueItem> StoreQueueItems { get; }
}
public sealed class StoreProductOptions
public sealed class StoreQueueItem
public sealed class StoreQueueItemCompletedEventArgs
public enum StoreQueueItemExtendedState
public enum StoreQueueItemKind
public enum StoreQueueItemState
public sealed class StoreQueueItemStatus
public sealed class StoreUninstallStorePackageResult
public enum StoreUninstallStorePackageStatus
}
namespace Windows.Storage {
public sealed class StorageFolder : IStorageFolder, IStorageFolder2, IStorageFolderQueryOperations, IStorageItem, IStorageItem2, IStorageItemProperties, IStorageItemProperties2, IStorageItemPropertiesWithProvider {
StorageLibraryChangeTracker TryGetChangeTracker();
}
}
namespace Windows.Storage.Provider {
public interface IStorageProviderUriSource
public sealed class StorageProviderGetContentInfoForPathResult
public sealed class StorageProviderGetPathForContentUriResult
public enum StorageProviderUriSourceStatus
}
namespace Windows.Storage.Search {
public sealed class StorageLibraryChangeTrackerTriggerDetails
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation<AppActivationResult> LaunchAsync();
}
public sealed class AppExecutionStateChangeResult
public sealed class AppResourceGroupInfo {
IAsyncOperation<AppExecutionStateChangeResult> StartResumeAsync();
IAsyncOperation<AppExecutionStateChangeResult> StartSuspendAsync();
IAsyncOperation<AppExecutionStateChangeResult> StartTerminateAsync();
}
public enum AutoUpdateTimeZoneStatus
public static class TimeZoneSettings {
public static IAsyncOperation<AutoUpdateTimeZoneStatus> AutoUpdateTimeZoneAsync(TimeSpan timeout);
}
public sealed class User {
public static User GetDefault();
}
public enum UserType {
SystemManaged = 4,
}
}
namespace Windows.System.Diagnostics {
public sealed class DiagnosticInvoker {
IAsyncOperationWithProgress<DiagnosticActionResult, DiagnosticActionState> RunDiagnosticActionFromStringAsync(string context);
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView<string> WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.Inventory {
public sealed class InstalledDesktopApp : IStringable
}
namespace Windows.System.Profile {
public static class AnalyticsInfo {
public static IAsyncOperation<IMapView<string, string>> GetClientPropertiesAsync(IIterable<string> attributeNames);
}
}
namespace Windows.System.RemoteSystems {
public sealed class RemoteSystem {
RemoteSystemPlatform Platform { get; }
}
public sealed class RemoteSystemEnumerationCompletedEventArgs
public enum RemoteSystemPlatform
public sealed class RemoteSystemWatcher {
event TypedEventHandler<RemoteSystemWatcher, RemoteSystemEnumerationCompletedEventArgs> EnumerationCompleted;
event TypedEventHandler<RemoteSystemWatcher, RemoteSystemWatcherErrorOcurredEventArgs> ErrorOcurred;
}
public enum RemoteSystemWatcherError
public sealed class RemoteSystemWatcherErrorOcurredEventArgs
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.ApplicationSettings {
public sealed class AccountsSettingsPane {
public static IAsyncAction ShowAddAccountForUserAsync(User user);
public static IAsyncAction ShowManageAccountsForUserAsync(User user);
}
public sealed class AccountsSettingsPaneCommandsRequestedEventArgs {
User User { get; }
}
}
namespace Windows.UI.Composition {
public sealed class AnimationController : CompositionObject
public enum AnimationControllerProgressBehavior
public sealed class BounceScalarNaturalMotionAnimation : ScalarNaturalMotionAnimation
public sealed class BounceVector2NaturalMotionAnimation : Vector2NaturalMotionAnimation
public sealed class BounceVector3NaturalMotionAnimation : Vector3NaturalMotionAnimation
public sealed class CompositionContainerShape : CompositionShape
public sealed class CompositionEllipseGeometry : CompositionGeometry
public class CompositionGeometry : CompositionObject
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class CompositionLineGeometry : CompositionGeometry
public class CompositionObject : IClosable {
AnimationController TryGetAnimationController(string propertyName);
}
public sealed class CompositionPath : IGeometrySource2D
public sealed class CompositionPathGeometry : CompositionGeometry
public sealed class CompositionRectangleGeometry : CompositionGeometry
public sealed class CompositionRoundedRectangleGeometry : CompositionGeometry
public class CompositionShape : CompositionObject
public sealed class CompositionShapeCollection : CompositionObject, IIterable<CompositionShape>, IVector<CompositionShape>
public sealed class CompositionSpriteShape : CompositionShape
public enum CompositionStrokeCap
public sealed class CompositionStrokeDashArray : CompositionObject, IIterable<float>, IVector<float>
public enum CompositionStrokeLineJoin
public sealed class CompositionViewBox : CompositionObject
public sealed class Compositor : IClosable {
string Comment { get; set; }
float GlobalPlaybackRate { get; set; }
public static float MaxGlobalPlaybackRate { get; }
public static float MinGlobalPlaybackRate { get; }
BounceScalarNaturalMotionAnimation CreateBounceScalarAnimation();
BounceVector2NaturalMotionAnimation CreateBounceVector2Animation();
BounceVector3NaturalMotionAnimation CreateBounceVector3Animation();
CompositionContainerShape CreateContainerShape();
CompositionEllipseGeometry CreateEllipseGeometry();
CompositionLineGeometry CreateLineGeometry();
CompositionPathGeometry CreatePathGeometry();
CompositionPathGeometry CreatePathGeometry(CompositionPath path);
PathKeyFrameAnimation CreatePathKeyFrameAnimation();
CompositionRectangleGeometry CreateRectangleGeometry();
CompositionRoundedRectangleGeometry CreateRoundedRectangleGeometry();
ShapeVisual CreateShapeVisual();
CompositionSpriteShape CreateSpriteShape();
CompositionSpriteShape CreateSpriteShape(CompositionGeometry geometry);
CompositionViewBox CreateViewBox();
IAsyncAction RequestCommitAsync();
}
public sealed class PathKeyFrameAnimation : KeyFrameAnimation
public sealed class PointLight : CompositionLight {
float MaxAttenuationCutoff { get; set; }
float MinAttenuationCutoff { get; set; }
}
public sealed class ShapeVisual : ContainerVisual
public sealed class SpotLight : CompositionLight {
float MaxAttenuationCutoff { get; set; }
float MinAttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Composition.Desktop {
public sealed class DesktopWindowTarget : CompositionTarget
}
namespace Windows.UI.Composition.Diagnostics {
public sealed class CompositionDebugHeatMaps
public enum CompositionDebugOverdrawContentKinds : uint
public sealed class CompositionDebugSettings
}
namespace Windows.UI.Composition.Interactions {
public enum VisualInteractionSourceRedirectionMode {
CapableTouchpadAndPointerWheel = 3,
PointerWheelOnly = 2,
}
}
namespace Windows.UI.Core {
public enum AppViewBackButtonVisibility {
Disabled = 2,
}
public sealed class CoreComponentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
DispatcherQueue DispatcherQueue { get; }
}
public sealed class CoreIndependentInputSource : ICoreInputSourceBase, ICorePointerInputSource, ICorePointerInputSource2 {
DispatcherQueue DispatcherQueue { get; }
}
public interface ICorePointerInputSource2 : ICorePointerInputSource
}
namespace Windows.UI.Input.Core {
public sealed class RadialControllerIndependentInputSource {
DispatcherQueue DispatcherQueue { get; }
}
}
namespace Windows.UI.Input.Inking {
public sealed class InkDrawingAttributes {
InkModelerAttributes ModelerAttributes { get; }
}
public sealed class InkInputConfiguration
public sealed class InkModelerAttributes
public sealed class InkPresenter {
InkInputConfiguration InputConfiguration { get; }
}
}
namespace Windows.UI.Input.Spatial {
public sealed class SpatialInteractionController {
BatteryReport TryGetBatteryReport();
}
}
namespace Windows.UI.Notifications {
public sealed class ScheduledToastNotification {
IReference<DateTime> ExpirationTime { get; set; }
}
}
namespace Windows.UI.StartScreen {
public sealed class TileMixedRealityModel {
TileMixedRealityModelActivationBehavior ActivationBehavior { get; set; }
}
public enum TileMixedRealityModelActivationBehavior
}
namespace Windows.UI.Text {
public sealed class ContentLinkInfo
public sealed class RichEditTextRange : ITextRange
public enum TextRangeUnit {
ContentLink = 32,
}
}
namespace Windows.UI.ViewManagement {
public sealed class ApplicationViewTab
public sealed class ApplicationViewTabBadge
public sealed class ApplicationViewTabIcon
public sealed class ApplicationViewTabManager
public sealed class ApplicationViewTabManagerTabClosedEventArgs
public sealed class ApplicationViewTabManagerTabCloseRequestedEventArgs
public sealed class ApplicationViewTabManagerTabDraggedOutEventArgs
public sealed class ApplicationViewTabManagerTabDroppedInEventArgs
public sealed class ApplicationViewTabManagerTabRearrangedEventArgs
public static class ApplicationViewTabPolicy
}
namespace Windows.UI.ViewManagement.Core {
public sealed class CoreInputView {
event TypedEventHandler<CoreInputView, object> XYFocusTransferredToPrimaryView;
event TypedEventHandler<CoreInputView, CoreInputViewTransferringXYFocusEventArgs> XYFocusTransferringFromPrimaryView;
bool TryTransferXYFocusToPrimaryView(Rect origin, CoreInputViewXYFocusTransferDirection direction);
}
public sealed class CoreInputViewTransferringXYFocusEventArgs
public enum CoreInputViewXYFocusTransferDirection
}
namespace Windows.UI.WebUI {
public sealed class WebUIBarcodeScannerPreviewActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IBarcodeScannerPreviewActivatedEventArgs
public sealed class WebUILaunchActivatedEventArgs : IActivatedEventArgs, IActivatedEventArgsDeferral, IActivatedEventArgsWithUser, IApplicationViewActivatedEventArgs, ILaunchActivatedEventArgs, ILaunchActivatedEventArgs2, IPrelaunchActivatedEventArgs {
TileActivatedInfo TileActivatedInfo { get; }
}
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
double HorizontalAlignmentRatio { get; set; }
double HorizontalOffset { get; set; }
double VerticalAlignmentRatio { get; set; }
double VerticalOffset { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class ElementSoundPlayer {
public static ElementSpatialAudioMode SpatialAudioMode { get; set; }
}
public enum ElementSpatialAudioMode
public enum FocusVisualKind {
Reveal = 2,
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
public static RoutedEvent ContextRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorPlacementTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
public static void RegisterAsScrollPort(UIElement element);
}
}
namespace Windows.UI.Xaml.Automation {
public sealed class AutomationElementIdentifiers {
public static AutomationProperty HeadingLevelProperty { get; }
}
public sealed class AutomationProperties {
public static DependencyProperty HeadingLevelProperty { get; }
public static AutomationHeadingLevel GetHeadingLevel(DependencyObject element);
public static void SetHeadingLevel(DependencyObject element, AutomationHeadingLevel value);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public enum AutomationHeadingLevel
public class AutomationPeer : DependencyObject {
AutomationHeadingLevel GetHeadingLevel();
virtual AutomationHeadingLevel GetHeadingLevelCore();
}
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
public class CalendarDatePickerAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IValueProvider
public class TreeViewItemAutomationPeer : ListViewItemAutomationPeer, IExpandCollapseProvider
public class TreeViewListAutomationPeer : SelectorAutomationPeer
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public sealed class ContentLinkChangedEventArgs
public enum ContentLinkChangeKind
public sealed class HandwritingPanelClosedEventArgs
public sealed class HandwritingPanelOpenedEventArgs
public enum HandwritingPanelPlacementAlignment
public class HandwritingView : Control
public class MediaTransportControls : Control {
bool IsCompactOverlayButtonVisible { get; set; }
public static DependencyProperty IsCompactOverlayButtonVisibleProperty { get; }
bool IsCompactOverlayEnabled { get; set; }
public static DependencyProperty IsCompactOverlayEnabledProperty { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorTextOverride { get; set; }
public static DependencyProperty KeyboardAcceleratorTextOverrideProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler<NavigationView, object> PaneClosed;
event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
event TypedEventHandler<NavigationView, object> PaneOpened;
event TypedEventHandler<NavigationView, object> PaneOpening;
}
public sealed class NavigationViewPaneClosingEventArgs
public class RefreshContainer : ContentControl
public sealed class RefreshInteractionRatioChangedEventArgs
public enum RefreshPullDirection
public sealed class RefreshRequestedEventArgs
public sealed class RefreshStateChangedEventArgs
public class RefreshVisualizer : Control
public enum RefreshVisualizerOrientation
public enum RefreshVisualizerState
public class RichEditBox : Control {
SolidColorBrush ContentLinkBackgroundColor { get; set; }
public static DependencyProperty ContentLinkBackgroundColorProperty { get; }
SolidColorBrush ContentLinkForegroundColor { get; set; }
public static DependencyProperty ContentLinkForegroundColorProperty { get; }
ContentLinkProviderCollection ContentLinkProviders { get; set; }
public static DependencyProperty ContentLinkProvidersProperty { get; }
HandwritingView HandwritingView { get; set; }
public static DependencyProperty HandwritingViewProperty { get; }
bool IsHandwritingViewEnabled { get; set; }
public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
event TypedEventHandler<RichEditBox, ContentLinkChangedEventArgs> ContentLinkChanged;
event TypedEventHandler<RichEditBox, ContentLinkInvokedEventArgs> ContentLinkInvoked;
}
public class TextBox : Control {
HandwritingView HandwritingView { get; set; }
public static DependencyProperty HandwritingViewProperty { get; }
bool IsHandwritingViewEnabled { get; set; }
public static DependencyProperty IsHandwritingViewEnabledProperty { get; }
}
public class TreeView : Control
public sealed class TreeViewCollapsedEventArgs
public sealed class TreeViewExpandingEventArgs
public class TreeViewItem : ListViewItem
public sealed class TreeViewItemInvokedEventArgs
public class TreeViewItemTemplateSettings : DependencyObject
public class TreeViewList : ListView
public class TreeViewNode : DependencyObject
public enum TreeViewSelectionMode
public sealed class WebView : FrameworkElement {
event TypedEventHandler<WebView, WebViewSeparateProcessLostEventArgs> SeparateProcessLost;
}
public enum WebViewExecutionMode {
SeparateProcess = 2,
}
public enum WebViewPermissionType {
Screen = 5,
WebVR = 6,
}
public sealed class WebViewSeparateProcessLostEventArgs
}
namespace Windows.UI.Xaml.Controls.Maps {
public sealed class MapControl : Control {
string Region { get; set; }
public static DependencyProperty RegionProperty { get; }
}
public class MapElement : DependencyObject {
bool IsEnabled { get; set; }
public static DependencyProperty IsEnabledProperty { get; }
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public class ListViewItemPresenter : ContentPresenter {
bool DisableTilt { get; set; }
public static DependencyProperty DisableTiltProperty { get; }
}
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Documents {
public sealed class ContactContentLinkProvider : ContentLinkProvider
public sealed class ContentLink : Inline
public sealed class ContentLinkInvokedEventArgs
public class ContentLinkProvider : DependencyObject
public sealed class ContentLinkProviderCollection : IIterable<ContentLinkProvider>, IVector<ContentLinkProvider>
public sealed class PlaceContentLinkProvider : ContentLinkProvider
}
namespace Windows.UI.Xaml.Input {
public sealed class FocusManager {
public static IAsyncOperation<FocusMovementResult> TryFocusAsync(DependencyObject element, FocusState value);
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection);
public static IAsyncOperation<FocusMovementResult> TryMoveFocusAsync(FocusNavigationDirection focusNavigationDirection, FindNextElementOptions focusNavigationOptions);
}
public sealed class FocusMovementResult
public sealed class GettingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode
public sealed class LosingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
}
namespace Windows.UI.Xaml.Media {
public sealed class CompositionTarget {
public static event EventHandler<RenderedEventArgs> Rendered;
}
public sealed class RenderedEventArgs
}
namespace Windows.Web.UI {
public interface IWebViewControl
public sealed class WebViewControlContentLoadingEventArgs
public sealed class WebViewControlDeferredPermissionRequest
public sealed class WebViewControlDOMContentLoadedEventArgs
public sealed class WebViewControlLongRunningScriptDetectedEventArgs
public sealed class WebViewControlNavigationCompletedEventArgs
public sealed class WebViewControlNavigationStartingEventArgs
public sealed class WebViewControlNewWindowRequestedEventArgs
public sealed class WebViewControlPermissionRequest
public sealed class WebViewControlPermissionRequestedEventArgs
public enum WebViewControlPermissionState
public enum WebViewControlPermissionType
public sealed class WebViewControlScriptNotifyEventArgs
public sealed class WebViewControlSettings
public sealed class WebViewControlUnsupportedUriSchemeIdentifiedEventArgs
public sealed class WebViewControlUnviewableContentIdentifiedEventArgs
public sealed class WebViewControlWebResourceRequestedEventArgs
}
namespace Windows.Web.UI.Interop {
public sealed class WebViewControl : IWebViewControl
public sealed class WebViewControlAcceleratorKeyPressedEventArgs
public enum WebViewControlAcceleratorKeyRoutingStage
public enum WebViewControlMoveFocusReason
public sealed class WebViewControlMoveFocusRequestedEventArgs
public sealed class WebViewControlProcess
public enum WebViewControlProcessCapabilityState
public sealed class WebViewControlProcessOptions
}

Extend your desktop application with Windows 10 features using the new Visual Studio Application Packaging Project

Visual Studio 2017 15.4 introduced the new Windows Application Packaging project to help you modernizing your application by using the new Windows 10 App Deployment Stack.
We talked about it in our previous post: Visual Studio 2017 Update 4 makes it easy to modernize your app and make it store ready and today we want to describe the new capabilities in Visual Studio 2017 15.5 that enable new scenarios to the Windows application packaging project to take advantage of more Windows 10 features in your applications.
During this article we will cover three examples to highlight the new capabilities added to the packaging project to enable packaging for not only Win32 applications, but also UWP applications and components:
Background execution using UWP background tasks.
Windows Shell integration using the Share Target contract.
Include Win32 code investments in your UWP app package.
The first two samples are existing WPF applications packaged as APPX with extended functionality implemented as UWP components. The first application adds background execution based on UWP background tasks, while the second app shows how to deeply integrate the application with the Windows 10 shell using a widely available feature as Share contracts. Finally, the last app is a UWP entry point that calls to a classic Win32 process that interop with Excel.
Note: Because the UWP components require to be compiled for a specific platform: x86 or x64, the Any CPU solution configuration will not work in any of these samples.
All samples are available in the GitHub repo Windows-Packaging-Samples. These samples require Visual Studio 2017 15.5 Preview 4 or greater, available to download from https://www.visualstudio.com/downloads.
1. WPF with Background Tasks
The Universal Windows Platform includes support for advanced background processing. Background tasks allow running code even when the app is suspended. Background tasks are intended for small work items that do not require user interaction, such as downloading mail, showing a toast notification for an incoming chat message or reacting to a change in a system condition.
To show how to use this feature from your Win32 applications, we are going to implement a small utility that will make an HTTP request to a URL configured by the user and will show the elapsed milliseconds in a Toast Notification.

We will create a WPF application to allow the user to specify the URL to check and enable/disable the background task. The background task will be implemented as a Windows Runtime Component (WINMD). To be able to include this component in the package, we need to create a UWP application that uses the component, and finally add the WPF and UWP projects as references to the packaging project. Below is the list of steps needed.
You can find the complete source code of this sample in the GitHub repository, but if you want to create the sample from scratch here are the most important steps.
Package your desktop application using the packaging project
Add a Windows Runtime component to implement the background task
Add a UWP application that reference the runtime component
Add a reference to the UWP application from the packaging project
Configure the Background task in the manifest
Register the background task from the Desktop application
Once you completed steps 1 to 4, you should have a solution for projects as shown in the image below:

The packaging project references not only the WPF application, but also the UWP project. For this reason, the solution needs to be configured for a specific platform, since UWP is not available for Any CPU configurations.
Background Task implementation
The background task is a C# class that implements the IBackgroundTask interface. This interface defines the Run method that will be called when the system triggers the task.

public sealed class SiteVerifier : IBackgroundTask
{
public async void Run(IBackgroundTaskInstance taskInstance)
{

taskInstance.Canceled += TaskInstance_Canceled;
BackgroundTaskDeferral deferral = taskInstance.GetDeferral();
var msg = await MeasureRequestTime();
ShowToast(msg);
deferral.Complete();
}

private async Task<string> MeasureRequestTime()
{
string msg;
try
{
var url = ApplicationData.Current.LocalSettings.Values["UrlToVerify"] as string;
var http = new HttpClient();
Stopwatch clock = Stopwatch.StartNew();
var response = await http.GetAsync(new Uri(url));
response.EnsureSuccessStatusCode();
var elapsed = clock.ElapsedMilliseconds;
clock.Stop();
msg = $"{url} took {elapsed.ToString()} ms";
}
catch (Exception ex)
{
msg = ex.Message;
}
return msg;
}

Note how we use the LocalSettings in ApplicationData to share information between the WPF application and the UWP background task.
To configure the background task, you need to update the manifest using the manifest designer. Go to the declarations tab, add the background task and configure the entry point as the implementation.

To register the background task in the system, we need to call a Windows 10 API from the WPF application. This API is available in the Windows 10 SDK, and to use it from .NET we need to add the references explained here. Once you have access to the Windows 10 API you can use  the BackgroundTaskRegistration class to configure the background task as shown in the code below:

public void RegisterBackgroundTask(String triggerName)
{
var current = BackgroundTaskRegistration.AllTasks
.Where(b => b.Value.Name == triggerName).FirstOrDefault().Value;

if (current is null)
{
BackgroundTaskBuilder builder = new BackgroundTaskBuilder();
builder.Name = triggerName;
builder.SetTrigger(new MaintenanceTrigger(15, false));
builder.TaskEntryPoint = "HttpPing.SiteVerifier";
builder.Register();
System.Diagnostics.Debug.WriteLine("BGTask registered:" + triggerName);
}
else
{
System.Diagnostics.Debug.WriteLine("Task already:" + triggerName);
}
}

To register the background task, first we make sure the task has not been registered before, and then we use the BackgroundTaskBuilder to configure the name and the Trigger, in this case we are using the MainteinanceTrigger.
2. Register your application as Share Target
Share contracts is a Windows 10 feature that allows the sharing of information between two apps, the sender and the receiver. Thanks to the Desktop Bridge, we can register a UWP application as a Share receiver and then integrate with a Win32 application. Once the app is registered, it will be shown every time the user invokes a share operation as shown below:

In this sample, we are extending a WPF application to become a share target where users can send images from other apps like the Photos app, Edge or even the Shell to our application. We are using the packaging project to include not only the WPF application, but also a UWP application that allows a UWP UI to receive events from the share target. Below you can see the solution explorer with the packaging project referencing the WPF and UWP projects.

The package needs to declare the Share Target, including the name of the UWP application:

When the application gets activated, it receives the share target information from the ShareOperation parameter as shown in the code snippet below:

protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
operation = (ShareOperation)e.Parameter;
if (operation.Data.Contains(StandardDataFormats.StorageItems))
{
var items = await operation.Data.GetStorageItemsAsync();
file = items[0] as StorageFile;
IRandomAccessStreamWithContentType stream = await file.OpenReadAsync();

await this.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async () =>
{
BitmapImage image = new BitmapImage();
this.img.Source = image;
await image.SetSourceAsync(stream);
});
}
}

Now every time the user shares a picture and selects our application, the Share UI application gets invoked and the UWP UI will be displayed.

After clicking the “Share to WPF app” button, the UWP will process the event handler, and will copy the picture to the ApplicationData folder and run the Win32 application using the FullTrustProcessLauncher.

private async void ShareBtn_Click(object sender, RoutedEventArgs e)
{
await file.CopyAsync(ApplicationData.Current.LocalFolder);
operation.ReportCompleted();
await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
}

To use the FullTrustProcessLauncher we will use the Desktop extension to UWP, this extension is available as an SDK reference available in the Add References dialog of the UWP application:

And finally, register the desktop extension and the target executable in the manifest:

<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10"
IgnorableNamespaces="uap mp rescap desktop">
<… >
<desktop:Extension Category="windows.fullTrustProcess"
Executable="WPFPhotoViewerWPFPhotoViewer.exe" />
<… >

3. Enable Office interop from UWP application
One of the key features of the Desktop Bridge is the ability to include Win32 executables on your application package and run those as full trust process from a UWP application. Now, with the Windows Application Packaging project, you can create packages that contain both UWP and Win32 binaries.
Additionally, to the process launcher, the App Service extension will help you to establish a communication channel between your UWP application and the Win32 process.
In this sample we are going to include a Win32 process (a command line application) to manage an Excel worksheet using office interop.
We start with a UWP application that uses the Telerik data grid to show some tabular data, and we will add button to export the same data to Excel as shown in the image below:

The solution explorer of this example looks very similar to our previous example, with three projects in the solution: The UWP application, the Win32 command line and the packaging project with a reference to both projects. However, note that in this case the Application entry point (shown in bold) is the UWP project:

As we did in our previous example, we need to add a reference to the Desktop extension and register the full trust process in the manifest. But this time, we will also register the application service in the package manifest:

To open the communication channel in the Win32 process, we will add a reference to the Windows API as described here:
To establish the connection, we will use the AppServiceConnection class, where we need to specify the package family name of the application we want to connect with, and the event handlers we will use to process the incoming requests.

Connection = new AppServiceConnection();
connection.AppServiceName = "ExcelInteropService";
connection.PackageFamilyName = Windows.ApplicationModel.Package.Current.Id.FamilyName;
connection.RequestReceived += Connection_RequestReceived;
connection.ServiceClosed += Connection_ServiceClosed;

Conclusion
The new features added to the packaging project in Visual Studio 2017 will help you to modernize your existing desktop applications to get the best from UWP and Win32 in the same package. This new project will help you to configure your package by using the manifest designer, debug your application in the context of the Desktop Bridge and finally, help to create the packages for store submission or sideloading. Here are some resources for more details:
Desktop Bridge docs
Desktop Bridge samples
Windows Application Packaging project samples
App Modernization video on Channel 9
Are you ready to submit your desktop application to the Microsoft Store? Let us know about it here, and we will help you through the process!

Windows 10 SDK Preview Build 17046 now available

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17046 or greater). The Preview SDK Build 17046 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Known Issues
“All tests run with Windows App Certification Kit will fail. During installation, please uncheck Windows App Certification Kit”

Installation on an operating system that is not a Windows 10 Insider Preview build is not supported and may fail.
What’s New:
C++/WinRT Now Available:
The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week.The ModernCPP blog has a deeper dive into the CppWinRT compiler. Please give us feedback by creating an issue at: https://github.com/microsoft/cppwinrt.
Breaking Changes
New MIDL key words.
As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords is used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

namespace Windows.ApplicationModel {
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Background {
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
public sealed class TetheringEntitlementCheckTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.Chat {
public sealed class RcsManagerChangedEventArgs
public enum RcsManagerChangeType
public sealed class RcsNotificationManager
}
namespace Windows.ApplicationModel.Store.Preview.InstallControl {
public sealed class AppInstallManager {
IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesAsync(string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView<AppInstallItem>> SearchForAllUpdatesForUserAsync(User user, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<AppInstallItem> SearchForUpdatesAsync(string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<AppInstallItem> SearchForUpdatesForUserAsync(User user, string productId, string skuId, string correlationVector, string clientId, AppUpdateOptions updateOptions);
IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallAsync(string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
IAsyncOperation<IVectorView<AppInstallItem>> StartProductInstallForUserAsync(User user, string productId, string flightId, string clientId, string correlationVector, AppInstallOptions installOptions);
}
public sealed class AppInstallOptions
public sealed class AppInstallStatus {
bool IsStaged { get; }
}
public sealed class AppUpdateOptions
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity(string activityId);
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
}
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
bool IsVideoPreviewShownOnEnable { get; set; }
void HideVideoPreview();
IAsyncOperation<bool> ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Devices.PointOfService.Provider {
public sealed class BarcodeScannerDisableScannerRequest
public sealed class BarcodeScannerDisableScannerRequestEventArgs
public sealed class BarcodeScannerEnableScannerRequest
public sealed class BarcodeScannerEnableScannerRequestEventArgs
public sealed class BarcodeScannerGetSymbologyAttributesRequest
public sealed class BarcodeScannerGetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerHideVideoPreviewRequest
public sealed class BarcodeScannerHideVideoPreviewRequestEventArgs
public sealed class BarcodeScannerProviderConnection : IClosable
public sealed class BarcodeScannerProviderTriggerDetails
public sealed class BarcodeScannerSetActiveSymbologiesRequest
public sealed class BarcodeScannerSetActiveSymbologiesRequestEventArgs
public sealed class BarcodeScannerSetSymbologyAttributesRequest
public sealed class BarcodeScannerSetSymbologyAttributesRequestEventArgs
public sealed class BarcodeScannerStartSoftwareTriggerRequest
public sealed class BarcodeScannerStartSoftwareTriggerRequestEventArgs
public sealed class BarcodeScannerStopSoftwareTriggerRequest
public sealed class BarcodeScannerStopSoftwareTriggerRequestEventArgs
public enum BarcodeScannerTriggerState
public sealed class BarcodeSymbologyAttributesBuilder
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView<string> GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
}
}
namespace Windows.Media.Audio {
public sealed class AudioGraph : IClosable {
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
}
public sealed class AudioGraphSettings {
double MaxPlaybackSpeedFactor { get; set; }
}
public sealed class AudioStateMonitor
public sealed class CreateMediaSourceAudioInputNodeResult
public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
public enum KnownVideoProfile {
HdrWithWcgPhoto = 8,
HdrWithWcgVideo = 7,
HighFrameRate = 5,
VariablePhotoSequence = 6,
VideoHdr8 = 9,
}
public sealed class MediaCaptureSettings {
IDirect3DDevice Direct3D11Device { get; }
}
public sealed class MediaCaptureVideoProfile {
IVectorView<MediaFrameSourceInfo> FrameSourceInfos { get; }
IMapView<Guid, object> Properties { get; }
}
public sealed class MediaCaptureVideoProfileMediaDescription {
IMapView<Guid, object> Properties { get; }
string Subtype { get; }
}
}
namespace Windows.Media.Capture.Frames {
public sealed class AudioMediaFrame
public sealed class MediaFrameFormat {
AudioEncodingProperties AudioEncodingProperties { get; }
}
public sealed class MediaFrameReference : IClosable {
AudioMediaFrame AudioMediaFrame { get; }
}
public sealed class MediaFrameSourceController {
AudioDeviceController AudioDeviceController { get; }
}
public sealed class MediaFrameSourceInfo {
string ProfileId { get; }
IVectorView<MediaCaptureVideoProfileMediaDescription> VideoProfileMediaDescription { get; }
}
public enum MediaFrameSourceKind {
Audio = 4,
Image = 5,
}
}
namespace Windows.Media.Core {
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
public sealed class DialReceiverApp {
IAsyncOperation<string> GetUniqueDeviceNameAsync();
}
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
}
namespace Windows.Media.Playback {
public sealed class MediaPlaybackSession {
MediaRotation PlaybackRotation { get; set; }
MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
}
public sealed class MediaPlaybackSessionOutputDegradationPolicyState
public enum MediaPlaybackSessionVideoConstrictionReason
}
namespace Windows.Media.Streaming.Adaptive {
public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference<Guid> PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView<Guid> PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
public sealed class TetheringEntitlementCheckTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
public sealed class VpnNativeProfile : IVpnProfile {
string IDi { get; set; }
VpnPayloadIdType IdiType { get; set; }
string IDr { get; set; }
VpnPayloadIdType IdrType { get; set; }
bool IsImsConfig { get; set; }
string PCscf { get; }
}
public enum VpnPayloadIdType
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavaliable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference<DateTime> DepartureTime { get; set; }
}
public sealed class PlaceInfo {
public static PlaceInfo CreateFromAddress(string displayAddress);
public static PlaceInfo CreateFromAddress(string displayAddress, string displayName);
}
}
namespace Windows.Services.Store {
public sealed class StoreCanAcquireLicenseResult
public enum StoreCanLicenseStatus
public sealed class StoreContext {
bool CanSilentlyDownloadStorePackageUpdates { get; }
IAsyncOperation<StoreCanAcquireLicenseResult> CanAcquireStoreLicenseForOptionalPackageAsync(Package optionalPackage);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadAndInstallStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
IAsyncOperationWithProgress<StorePackageUpdateResult, StorePackageUpdateStatus> TrySilentDownloadStorePackageUpdatesAsync(IIterable<StorePackageUpdate> storePackageUpdates);
}
}
namespace Windows.Storage.Provider {
public interface IStorageProviderUriSource
public enum StorageProviderResolveContentUriResult
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation<AppActivationResult> ActivateAsync();
}
public sealed class AppResourceGroupInfo {
IAsyncOperation<bool> TryResumeAsync();
IAsyncOperation<bool> TrySuspendAsync();
IAsyncOperation<bool> TryTerminateAsync();
}
public sealed class User {
public static User GetDefault();
}
public enum UserType {
SystemManaged = 4,
}
}
namespace Windows.System.Diagnostics {
public sealed class DiagnosticInvoker {
IAsyncOperationWithProgress<DiagnosticActionResult, DiagnosticActionState> RunDiagnosticActionFromStringAsync(string context);
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView<string> WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.RemoteSystems {
public static class KnownRemoteSystemCapabilities {
public static string NearShare { get; }
}
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.ApplicationSettings {
public sealed class AccountsSettingsPane {
public static IAsyncAction ShowAddAccountForUserAsync(User user);
public static IAsyncAction ShowManageAccountsForUserAsync(User user);
}
public sealed class AccountsSettingsPaneCommandsRequestedEventArgs {
User User { get; }
}
}
namespace Windows.UI.Composition {
public sealed class BounceScalarNaturalMotionAnimation : ScalarNaturalMotionAnimation
public sealed class BounceVector2NaturalMotionAnimation : Vector2NaturalMotionAnimation
public sealed class BounceVector3NaturalMotionAnimation : Vector3NaturalMotionAnimation
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class Compositor : IClosable {
string Comment { get; set; }
BounceScalarNaturalMotionAnimation CreateBounceScalarAnimation();
BounceVector2NaturalMotionAnimation CreateBounceVector2Animation();
BounceVector3NaturalMotionAnimation CreateBounceVector3Animation();
}
public sealed class PointLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
public sealed class SpotLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Composition.Desktop {
public sealed class HwndTarget : CompositionTarget
}
namespace Windows.UI.Input.Spatial {
public sealed class SpatialInteractionController {
BatteryReport TryGetBatteryReport();
}
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
double HorizontalAlignmentRatio { get; set; }
double HorizontalOffset { get; set; }
double VerticalAlignmentRatio { get; set; }
double VerticalOffset { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class EffectiveViewportChangedEventArgs
public enum FocusVisualKind {
Reveal = 2,
}
public class FrameworkElement : UIElement {
event TypedEventHandler<FrameworkElement, EffectiveViewportChangedEventArgs> EffectiveViewportChanged;
void InvalidateViewport();
virtual bool IsViewport();
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
public static RoutedEvent ContextRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorToolTipTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorToolTipTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
public class CalendarDatePickerAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IValueProvider
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler<NavigationView, object> PaneClosed;
event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
event TypedEventHandler<NavigationView, object> PaneOpened;
event TypedEventHandler<NavigationView, object> PaneOpening;
}
public sealed class NavigationViewPaneClosingEventArgs
public sealed class ScrollViewer : ContentControl {
bool IsResponsiveToOcclusions { get; set; }
public static DependencyProperty IsResponsiveToOcclusionsProperty { get; }
}
public enum WebViewPermissionType {
Screen = 5,
}
}
namespace Windows.UI.Xaml.Controls.Maps {
public sealed class MapControl : Control {
string Region { get; set; }
public static DependencyProperty RegionProperty { get; }
}
public class MapElement : DependencyObject {
bool IsEnabled { get; set; }
public static DependencyProperty IsEnabledProperty { get; }
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public class ListViewItemPresenter : ContentPresenter {
bool DisableTilt { get; set; }
public static DependencyProperty DisableTiltProperty { get; }
}
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Input {
public sealed class GettingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode
public sealed class LosingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
}

Windows 10 SDK Preview Build 17040 now available

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17040 or greater). The Preview SDK Build 17040 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Known Issues
“All tests run with Windows App Certification Kit will fail.  During installation, please uncheck Windows App Certification Kit”

Installation on an operating system that is not a Windows 10 Insider Preview  build is not supported and may fail.
What’s New:
C++/WinRT Now Available:
The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week.The ModernCPP blog has a deeper dive into the CppWinRT compiler. Please give us feedback by creating an issue at: https://github.com/microsoft/cppwinrt.
Breaking Changes
New MIDL key words. 
As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords is used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

namespace Windows.ApplicationModel {
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Background {
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
public sealed class TetheringEntitlementCheckTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.Chat {
public sealed class RcsManagerChangedEventArgs
public enum RcsManagerChangeType
public sealed class RcsNotificationManager
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity(string activityId);
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
}
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
bool IsVideoPreviewShownOnEnable { get; set; }
void HideVideoPreview();
IAsyncOperation<bool> ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView<string> GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
}
}
namespace Windows.Media.Audio {
public sealed class AudioGraph : IClosable {
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
}
public sealed class AudioGraphSettings {
double MaxPlaybackSpeedFactor { get; set; }
}
public sealed class AudioStateMonitor
public sealed class CreateMediaSourceAudioInputNodeResult
public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
public enum KnownVideoProfile {
HdrWithWcgPhoto = 8,
HdrWithWcgVideo = 7,
HighFrameRate = 5,
VariablePhotoSequence = 6,
VideoHdr8 = 9,
}
public sealed class MediaCaptureSettings {
IDirect3DDevice Direct3D11Device { get; }
}
public sealed class MediaCaptureVideoProfile {
IVectorView<MediaFrameSourceInfo> FrameSourceInfos { get; }
IMapView<Guid, object> Properties { get; }
}
public sealed class MediaCaptureVideoProfileMediaDescription {
IMapView<Guid, object> Properties { get; }
string Subtype { get; }
}
}
namespace Windows.Media.Capture.Frames {
public sealed class AudioMediaFrame
public sealed class MediaFrameFormat {
AudioEncodingProperties AudioEncodingProperties { get; }
}
public sealed class MediaFrameReference : IClosable {
AudioMediaFrame AudioMediaFrame { get; }
}
public sealed class MediaFrameSourceController {
AudioDeviceController AudioDeviceController { get; }
}
public sealed class MediaFrameSourceInfo {
string ProfileId { get; }
IVectorView<MediaCaptureVideoProfileMediaDescription> VideoProfileMediaDescription { get; }
}
public enum MediaFrameSourceKind {
Audio = 4,
Image = 5,
}
}
namespace Windows.Media.Core {
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
public sealed class DialReceiverApp {
IAsyncOperation<string> GetUniqueDeviceNameAsync();
}
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
}
namespace Windows.Media.Playback {
public sealed class MediaPlaybackSession {
MediaRotation PlaybackRotation { get; set; }
MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
}
public sealed class MediaPlaybackSessionOutputDegradationPolicyState
public enum MediaPlaybackSessionVideoConstrictionReason
}
namespace Windows.Media.Streaming.Adaptive {
public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference<Guid> PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView<Guid> PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
public sealed class TetheringEntitlementCheckTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
public sealed class VpnNativeProfile : IVpnProfile {
string IDi { get; set; }
VpnPayloadIdType IdiType { get; set; }
string IDr { get; set; }
VpnPayloadIdType IdrType { get; set; }
bool IsImsConfig { get; set; }
string PCscf { get; }
}
public enum VpnPayloadIdType
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavaliable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference<DateTime> DepartureTime { get; set; }
}
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation<AppActivationResult> ActivateAsync();
}
public sealed class AppResourceGroupInfo {
IAsyncOperation<bool> TryResumeAsync();
IAsyncOperation<bool> TrySuspendAsync();
IAsyncOperation<bool> TryTerminateAsync();
}
public sealed class User {
public static User GetDefault();
}
public enum UserType {
SystemManaged = 4,
}
}
namespace Windows.System.Diagnostics {
public sealed class DiagnosticInvoker {
IAsyncOperationWithProgress<DiagnosticActionResult, DiagnosticActionState> RunDiagnosticActionFromStringAsync(string context);
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView<string> WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.RemoteSystems {
public static class KnownRemoteSystemCapabilities {
public static string NearShare { get; }
}
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.ApplicationSettings {
public sealed class AccountsSettingsPane {
public static IAsyncAction ShowAddAccountForUserAsync(User user);
public static IAsyncAction ShowManageAccountsForUserAsync(User user);
}
public sealed class AccountsSettingsPaneCommandsRequestedEventArgs {
User User { get; }
}
}
namespace Windows.UI.Composition {
public sealed class BounceScalarNaturalMotionAnimation : ScalarNaturalMotionAnimation
public sealed class BounceVector2NaturalMotionAnimation : Vector2NaturalMotionAnimation
public sealed class BounceVector3NaturalMotionAnimation : Vector3NaturalMotionAnimation
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class Compositor : IClosable {
string Comment { get; set; }
BounceScalarNaturalMotionAnimation CreateBounceScalarAnimation();
BounceVector2NaturalMotionAnimation CreateBounceVector2Animation();
BounceVector3NaturalMotionAnimation CreateBounceVector3Animation();
}
public sealed class PointLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
public sealed class SpotLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Composition.Desktop {
public sealed class HwndTarget : CompositionTarget
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
double HorizontalAlignmentRatio { get; set; }
double HorizontalOffset { get; set; }
double VerticalAlignmentRatio { get; set; }
double VerticalOffset { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class EffectiveViewportChangedEventArgs
public enum FocusVisualKind {
Reveal = 2,
}
public class FrameworkElement : UIElement {
event TypedEventHandler<FrameworkElement, EffectiveViewportChangedEventArgs> EffectiveViewportChanged;
void InvalidateViewport();
virtual bool IsViewport();
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
public static RoutedEvent ContextRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorToolTipTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorToolTipTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
public class CalendarDatePickerAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider, IValueProvider
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler<NavigationView, object> PaneClosed;
event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
event TypedEventHandler<NavigationView, object> PaneOpened;
event TypedEventHandler<NavigationView, object> PaneOpening;
}
public sealed class NavigationViewPaneClosingEventArgs
public sealed class ScrollViewer : ContentControl {
bool IsResponsiveToOcclusions { get; set; }
public static DependencyProperty IsResponsiveToOcclusionsProperty { get; }
}
public enum WebViewPermissionType {
Screen = 5,
}
}
namespace Windows.UI.Xaml.Controls.Maps {
public sealed class MapControl : Control {
string Region { get; set; }
public static DependencyProperty RegionProperty { get; }
}
public class MapElement : DependencyObject {
bool IsEnabled { get; set; }
public static DependencyProperty IsEnabledProperty { get; }
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public class ListViewItemPresenter : ContentPresenter {
bool DisableTilt { get; set; }
public static DependencyProperty DisableTiltProperty { get; }
}
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Input {
public sealed class GettingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode
public sealed class LosingFocusEventArgs : RoutedEventArgs {
bool TryCancel();
bool TrySetNewFocusedElement(DependencyObject element);
}
}

Windows 10 SDK Preview Build 17035 now available

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17035 or greater). The Preview SDK Build 17035 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Known Issues:
Installation on an operating system that is not a Windows 10 Insider Preview  build is not supported and may fail.
What’s New:
C++/WinRT Now Available:
The C++/WinRT headers and cppwinrt compiler (cppwinrt.exe) are now included in the Windows SDK. The compiler comes in handy if you need to consume a third-party WinRT component or if you need to author your own WinRT components with C++/WinRT. The easiest way to get working with it after installing the Windows Insider Preview SDK is to start the Visual Studio Developer Command Prompt and run the compiler in that environment. Authoring support is currently experimental and subject to change. Stay tuned as we will publish more detailed instructions on how to use the compiler in the coming week. The ModernCPP blog has a deeper dive into the CppWinRT compiler. Please give us feedback by creating an issue at: https://github.com/microsoft/cppwinrt.
Breaking Changes
New MIDL key words. 
As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords are used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1 >d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

namespace Windows.ApplicationModel {
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Background {
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.Chat {
public sealed class RcsManagerChangedEventArgs
public enum RcsManagerChangeType
public sealed class RcsNotificationManager
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity();
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
}
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
void HideVideoPreview();
IAsyncOperation<bool> ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView<string> GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
}
}
namespace Windows.Media.Audio {
public sealed class AudioGraph : IClosable {
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource);
IAsyncOperation<CreateMediaSourceAudioInputNodeResult> CreateMediaSourceAudioInputNodeAsync(MediaSource mediaSource, AudioNodeEmitter emitter);
}
public sealed class AudioGraphSettings {
double MaxPlaybackSpeedFactor { get; set; }
}
public sealed class CreateMediaSourceAudioInputNodeResult
public sealed class MediaSourceAudioInputNode : IAudioInputNode, IAudioInputNode2, IAudioNode, IClosable
public enum MediaSourceAudioInputNodeCreationStatus
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
}
namespace Windows.Media.Capture.Frames {
public sealed class AudioMediaFrame
public sealed class MediaFrameFormat {
AudioEncodingProperties AudioEncodingProperties { get; }
}
public sealed class MediaFrameReference : IClosable {
AudioMediaFrame AudioMediaFrame { get; }
}
public sealed class MediaFrameSourceController {
AudioDeviceController AudioDeviceController { get; }
}
public enum MediaFrameSourceKind {
Audio = 4,
}
}
namespace Windows.Media.Core {
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.DialProtocol {
public sealed class DialReceiverApp {
IAsyncOperation<string> GetUniqueDeviceNameAsync();
}
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
}
namespace Windows.Media.Playback {
public sealed class MediaPlaybackSession {
MediaRotation PlaybackRotation { get; set; }
MediaPlaybackSessionOutputDegradationPolicyState GetOutputDegradationPolicyState();
}
public sealed class MediaPlaybackSessionOutputDegradationPolicyState
public enum MediaPlaybackSessionVideoConstrictionReason
}
namespace Windows.Media.Streaming.Adaptive {
public sealed class AdaptiveMediaSourceDiagnosticAvailableEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadCompletedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadFailedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
public sealed class AdaptiveMediaSourceDownloadRequestedEventArgs {
string ResourceContentType { get; }
IReference<TimeSpan> ResourceDuration { get; }
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference<Guid> PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView<Guid> PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Networking.Vpn {
public sealed class VpnNativeProfile : IVpnProfile {
string IDi { get; set; }
VpnPayloadIdType IdiType { get; set; }
string IDr { get; set; }
VpnPayloadIdType IdrType { get; set; }
bool IsImsConfig { get; set; }
string PCscf { get; }
}
public enum VpnPayloadIdType
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavaliable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference<DateTime> DepartureTime { get; set; }
}
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation<AppActivationResult> ActivateAsync();
}
public sealed class AppResourceGroupInfo {
IAsyncOperation<bool> TryResumeAsync();
IAsyncOperation<bool> TrySuspendAsync();
IAsyncOperation<bool> TryTerminateAsync();
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView<string> WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.RemoteSystems {
public static class KnownRemoteSystemCapabilities {
public static string NearShare { get; }
}
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.Composition {
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class Compositor : IClosable {
string Comment { get; set; }
}
public sealed class PointLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
public sealed class SpotLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
IReference<double> HorizontalAlignmentRatio { get; set; }
Point Offset { get; set; }
IReference<double> VerticalAlignmentRatio { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class EffectiveViewportChangedEventArgs
public class FrameworkElement : UIElement {
event TypedEventHandler<FrameworkElement, EffectiveViewportChangedEventArgs> EffectiveViewportChanged;
void InvalidateViewport();
virtual bool IsViewport();
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorToolTipTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorToolTipTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler<NavigationView, object> PaneClosed;
event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
event TypedEventHandler<NavigationView, object> PaneOpened;
event TypedEventHandler<NavigationView, object> PaneOpening;
}
public sealed class NavigationViewPaneClosingEventArgs
public enum WebViewPermissionType {
Screen = 5,
}
}
namespace Windows.UI.Xaml.Controls.Maps {
public sealed class MapControl : Control {
string Region { get; set; }
public static DependencyProperty RegionProperty { get; }
}
public class MapElement : DependencyObject {
bool IsEnabled { get; set; }
public static DependencyProperty IsEnabledProperty { get; }
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Input {
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode
}

Windows 10 SDK Preview Build 17025

Today, we released a new Windows 10 Preview Build of the SDK to be used in conjunction with Windows 10 Insider Preview (Build 17025 or greater). The Preview SDK Build 17025 contains bug fixes and under development changes to the API surface area.
The Preview SDK can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum.  For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017. You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Known Issues
Installation on an operating system that is not a Windows 10 Insider Preview build is not supported and may fail.
 Breaking Changes
New MIDL key words.As a part of the “modernizing IDL” effort, several new keywords are added to the midlrt tool. These new keywords will cause build breaks if they are encountered in IDL files.
The new keywords are:
event
set
get
partial
unsealed
overridable
protected
importwinmd
If any of these keywords are used as an identifier, it will generate a build failure indicating a syntax error.
The error will be similar to:
1
>d:ossrconecorecomcombaseunittestastatestserverstestserver6idlremreleasetest.idl
(12) : error MIDL2025 : [msg]syntax error [context]: expecting a declarator or * near “)”
To fix this, modify the identifier in error to an “@” prefix in front of the identifier. That will cause MIDL to treat the offending element as an identifier instead of a keyword.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information.
The following APIs have been added to the platform since the release of 16299.

namespace Windows.ApplicationModel {
public enum StartupTaskState {
EnabledByPolicy = 4,
}
}
namespace Windows.ApplicationModel.Background {
public sealed class MobileBroadbandPcoDataChangeTrigger : IBackgroundTrigger
}
namespace Windows.ApplicationModel.Calls {
public enum PhoneCallMedia {
AudioAndRealTimeText = 2,
}
public sealed class VoipCallCoordinator {
VoipPhoneCall RequestNewAppInitiatedCall(string context, string contactName, string contactNumber, string serviceName, VoipPhoneCallMedia media);
VoipPhoneCall RequestNewIncomingCall(string context, string contactName, string contactNumber, Uri contactImage, string serviceName, Uri brandingImage, string callDetails, Uri ringtone, VoipPhoneCallMedia media, TimeSpan ringTimeout, string contactRemoteId);
}
public sealed class VoipPhoneCall {
void NotifyCallAccepted(VoipPhoneCallMedia media);
}
}
namespace Windows.ApplicationModel.UserActivities {
public sealed class UserActivity {
public UserActivity();
}
public sealed class UserActivityChannel {
public static void DisableAutoSessionCreation();
}
public sealed class UserActivityVisualElements {
string AttributionDisplayText { get; set; }
}
}
namespace Windows.Devices.PointOfService {
public sealed class BarcodeScannerReport {
public BarcodeScannerReport(uint scanDataType, IBuffer scanData, IBuffer scanDataLabel);
}
public sealed class ClaimedBarcodeScanner : IClosable {
void HideVideoPreview();
IAsyncOperation<bool> ShowVideoPreviewAsync();
}
public sealed class UnifiedPosErrorData {
public UnifiedPosErrorData(string message, UnifiedPosErrorSeverity severity, UnifiedPosErrorReason reason, uint extendedReason);
}
}
namespace Windows.Globalization {
public static class ApplicationLanguages {
public static IVectorView<string> GetLanguagesForUser(User user);
}
public sealed class Language {
LanguageLayoutDirection LayoutDirection { get; }
}
public enum LanguageLayoutDirection
}
namespace Windows.Graphics.Imaging {
public enum BitmapPixelFormat {
P010 = 104,
}
}
namespace Windows.Management.Deployment {
public sealed class PackageManager {
IAsyncOperationWithProgress<DeploymentResult, DeploymentProgress> RequestAddPackageAsync(Uri packageUri, IIterable<Uri> dependencyPackageUris, DeploymentOptions deploymentOptions, PackageVolume targetVolume, IIterable<string> optionalPackageFamilyNames, IIterable<Uri> relatedPackageUris, IIterable<Uri> packageUrisToInstall);
}
}
namespace Windows.Media.Capture {
public sealed class CapturedFrame : IClosable, IContentTypeProvider, IInputStream, IOutputStream, IRandomAccessStream, IRandomAccessStreamWithContentType {
BitmapPropertySet BitmapProperties { get; }
CapturedFrameControlValues ControlValues { get; }
}
}
namespace Windows.Media.Core {
public sealed class MediaBindingEventArgs {
void SetDownloadOperation(DownloadOperation downloadOperation);
}
public sealed class MediaSource : IClosable, IMediaPlaybackSource {
DownloadOperation DownloadOperation { get; }
public static MediaSource CreateFromDownloadOperation(DownloadOperation downloadOperation);
}
}
namespace Windows.Media.Devices {
public sealed class VideoDeviceController : IMediaDeviceController {
VideoTemporalDenoisingControl VideoTemporalDenoisingControl { get; }
}
public sealed class VideoTemporalDenoisingControl
public enum VideoTemporalDenoisingMode
}
namespace Windows.Media.MediaProperties {
public static class MediaEncodingSubtypes {
public static string P010 { get; }
}
public enum MediaPixelFormat {
P010 = 2,
}
}
namespace Windows.Networking.BackgroundTransfer {
public sealed class DownloadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
public sealed class UploadOperation : IBackgroundTransferOperation, IBackgroundTransferOperationPriority {
void MakeCurrentInTransferGroup();
}
}
namespace Windows.Networking.Connectivity {
public sealed class CellularApnContext {
string ProfileName { get; set; }
}
public sealed class ConnectionProfileFilter {
IReference<Guid> PurposeGuid { get; set; }
}
public sealed class WwanConnectionProfileDetails {
WwanNetworkIPKind IPKind { get; }
IVectorView<Guid> PurposeGuids { get; }
}
public enum WwanNetworkIPKind
}
namespace Windows.Networking.NetworkOperators {
public sealed class MobileBroadbandAntennaSar {
public MobileBroadbandAntennaSar(int antennaIndex, int sarBackoffIndex);
}
public sealed class MobileBroadbandModem {
IAsyncOperation<MobileBroadbandPco> TryGetPcoAsync();
}
public sealed class MobileBroadbandModemIsolation
public sealed class MobileBroadbandPco
public sealed class MobileBroadbandPcoDataChangeTriggerDetails
}
namespace Windows.Networking.Sockets {
public sealed class ServerMessageWebSocket : IClosable
public sealed class ServerMessageWebSocketControl
public sealed class ServerMessageWebSocketInformation
public sealed class ServerStreamWebSocket : IClosable
public sealed class ServerStreamWebSocketInformation
}
namespace Windows.Security.Authentication.Identity.Provider {
public enum SecondaryAuthenticationFactorAuthenticationMessage {
CanceledByUser = 22,
CenterHand = 23,
ConnectionRequired = 20,
DeviceUnavaliable = 28,
MoveHandCloser = 24,
MoveHandFarther = 25,
PlaceHandAbove = 26,
RecognitionFailed = 27,
TimeLimitExceeded = 21,
}
}
namespace Windows.Services.Maps {
public sealed class MapRouteDrivingOptions {
IReference<DateTime> DepartureTime { get; set; }
}
}
namespace Windows.System {
public sealed class AppActivationResult
public sealed class AppDiagnosticInfo {
IAsyncOperation<AppActivationResult> ActivateAsync();
}
public sealed class AppResourceGroupInfo {
IAsyncOperation<bool> TryResumeAsync();
IAsyncOperation<bool> TrySuspendAsync();
IAsyncOperation<bool> TryTerminateAsync();
}
}
namespace Windows.System.Diagnostics.DevicePortal {
public sealed class DevicePortalConnection {
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol);
ServerMessageWebSocket GetServerMessageWebSocketForRequest(HttpRequestMessage request, SocketMessageType messageType, string protocol, uint outboundBufferSizeInBytes, uint maxMessageSize, MessageWebSocketReceiveMode receiveMode);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request);
ServerStreamWebSocket GetServerStreamWebSocketForRequest(HttpRequestMessage request, string protocol, uint outboundBufferSizeInBytes, bool noDelay);
}
public sealed class DevicePortalConnectionRequestReceivedEventArgs {
bool IsWebSocketUpgradeRequest { get; }
IVectorView<string> WebSocketProtocolsRequested { get; }
Deferral GetDeferral();
}
}
namespace Windows.System.RemoteSystems {
public static class KnownRemoteSystemCapabilities {
public static string NearShare { get; }
}
}
namespace Windows.System.UserProfile {
public static class GlobalizationPreferences {
public static GlobalizationPreferencesForUser GetForUser(User user);
}
public sealed class GlobalizationPreferencesForUser
}
namespace Windows.UI.Composition {
public class CompositionLight : CompositionObject {
bool IsEnabled { get; set; }
}
public sealed class Compositor : IClosable {
string Comment { get; set; }
}
public sealed class PointLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
public sealed class SpotLight : CompositionLight {
Vector2 AttenuationCutoff { get; set; }
}
}
namespace Windows.UI.Composition.Core {
public sealed class CompositorController : IClosable
}
namespace Windows.UI.Xaml {
public sealed class BringIntoViewOptions {
IReference<double> HorizontalAlignmentRatio { get; set; }
Point Offset { get; set; }
IReference<double> VerticalAlignmentRatio { get; set; }
}
public sealed class BringIntoViewRequestedEventArgs : RoutedEventArgs
public sealed class EffectiveViewportChangedEventArgs
public class FrameworkElement : UIElement {
event TypedEventHandler<FrameworkElement, EffectiveViewportChangedEventArgs> EffectiveViewportChanged;
void InvalidateViewport();
virtual bool IsViewport();
}
public class UIElement : DependencyObject {
public static RoutedEvent BringIntoViewRequestedEvent { get; }
KeyboardAcceleratorPlacementMode KeyboardAcceleratorPlacementMode { get; set; }
public static DependencyProperty KeyboardAcceleratorPlacementModeProperty { get; }
DependencyObject KeyboardAcceleratorToolTipTarget { get; set; }
public static DependencyProperty KeyboardAcceleratorToolTipTargetProperty { get; }
DependencyObject KeyTipTarget { get; set; }
public static DependencyProperty KeyTipTargetProperty { get; }
event TypedEventHandler<UIElement, BringIntoViewRequestedEventArgs> BringIntoViewRequested;
virtual void OnBringIntoViewRequested(BringIntoViewRequestedEventArgs e);
virtual void OnKeyboardAcceleratorInvoked(KeyboardAcceleratorInvokedEventArgs args);
}
}
namespace Windows.UI.Xaml.Automation.Peers {
public sealed class AutoSuggestBoxAutomationPeer : FrameworkElementAutomationPeer, IInvokeProvider {
void Invoke();
}
}
namespace Windows.UI.Xaml.Controls {
public class AppBarButton : Button, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarButtonTemplateSettings TemplateSettings { get; }
}
public class AppBarToggleButton : ToggleButton, ICommandBarElement, ICommandBarElement2 {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
AppBarToggleButtonTemplateSettings TemplateSettings { get; }
}
public class MenuFlyoutItem : MenuFlyoutItemBase {
string KeyboardAcceleratorText { get; set; }
public static DependencyProperty KeyboardAcceleratorTextProperty { get; }
MenuFlyoutItemTemplateSettings TemplateSettings { get; }
}
public class NavigationView : ContentControl {
string PaneTitle { get; set; }
public static DependencyProperty PaneTitleProperty { get; }
event TypedEventHandler<NavigationView, object> PaneClosed;
event TypedEventHandler<NavigationView, NavigationViewPaneClosingEventArgs> PaneClosing;
event TypedEventHandler<NavigationView, object> PaneOpened;
event TypedEventHandler<NavigationView, object> PaneOpening;
}
public sealed class NavigationViewPaneClosingEventArgs
public enum WebViewPermissionType {
Screen = 5,
}
}
namespace Windows.UI.Xaml.Controls.Primitives {
public sealed class AppBarButtonTemplateSettings : DependencyObject
public sealed class AppBarToggleButtonTemplateSettings : DependencyObject
public sealed class MenuFlyoutItemTemplateSettings : DependencyObject
}
namespace Windows.UI.Xaml.Input {
public sealed class KeyboardAcceleratorInvokedEventArgs {
KeyboardAccelerator KeyboardAccelerator { get; }
}
public enum KeyboardAcceleratorPlacementMode

}

Visual Studio 2017 Update 4 makes it easy to modernize your desktop application and make it store ready

Last year with the Windows 10 Anniversary Update, we introduced the Desktop Bridge to provide desktop applications a path to modernize with the Universal Windows Platform, and to distribute via the Windows Store and the Microsoft Store for Business to all Windows 10 PCs, including devices that are running the Windows 10 S configuration.
The primary developer tool at the time was the Desktop App Converter, a tool that converts your current app installer into a Windows app package (.appx file), which can be submitted to the Windows Store or deployed via your distribution mechanism of choice. With Update 4 for Visual Studio 2017 we now have great support directly in Visual Studio for your Windows desktop application projects (WPF, Winforms, Win32, etc.). With the new tools you can now as you develop them in VS by simply hitting F5!
Let me walk you through an example, step-by-step. I am starting out with this Winforms app that showcases various chart controls. It’s been created several years ago in an older version of VS against .NET 4. Now my goal is to release it in the Windows Store and incrementally modernize it. Here is how easy it is now with Update 4 for Visual Studio 2017.

Step 1 – Add Windows App Packaging project to the solution
Before we start we need to make sure our desktop application project is loaded in Visual Studio 2017 and builds without error. Then in the next step we want to package our application as a Windows App Package (.appx file) so our Winforms app can take advantage of all the same Windows 10 app deployment features that are available to UWP apps: clean install & uninstall, seamless updates, Store distribution and many more. To do this, we will take advantage of the new tooling features introduced in Update 4 for Visual Studio 2017. We are adding a new project of type “Windows Application Packaging Project” to our solution:

Now we need to specify our min/target versions…

…and let the packaging  project know which project output to include in the package. To do so we right-click on the “Applications” node and set a reference to our Winforms project – done!

Important! Select the “DistributionPackage” project as your startup project. Now hit F5 and watch how your app gets packaged, deployed and launched as a Desktop Bridge app. You can start testing and debugging in this new execution context. If you set the Winforms project as startup project and hit F5, you can still test and debug the unpackaged version of your application
Step 2 – Configure app for Windows Store release
Our app is already running as a Desktop Bridge app now and we have successfully tested and debugged it in this configuration. Next we just need to put some finishing touches on the package so it integrates nicely with the Windows 10 Shell (tiles, badges, etc.) and to make sure it conforms to the Store submission requirements. First thing, we need to replace the default visual assets that come with the project template with our real, application-specific assets. This is very easy now in Visual Studio 2017 with the Visual Assets Manager in the package manifest editor:

To prepare for our Store submission we need to create the application in the Windows Dev Center and reserve our application name, provide screenshots for the store front, set the price, age ratings, etc. If you are not planning to distribute via the Windows Store, you can skip this step.

Last thing we need to do before we can release our app to the public is create a package bundle that is ready to deploy and Store-compliant. This bundle can contain binaries for different architectures, resources for different locales as well as the symbols for our binaries so we can later make sense of any crash reports in the Dev Center or Mobile Center. This can be done for Desktop Bridge apps directly from Visual Studio now, just like you would do for any UWP app:

As part of creating the packages we also run the certification tests and then submit the package to the Dev Center for certification and publishing. You can try the result of my submission out now and install the sample app on your machine from the Store by clicking on the badge below – source code for the app is available for your reference here.

What else does this enable for developers?
Aside from distributing and monetizing via Windows Store, your app now enjoys the modern deployment capabilities built into Windows 10. You don’t need to build an installer anymore, updates are automatic and differential. Uninstalls are guaranteed to be clean. Moreover, since your app is now in the Windows 10 App Model, you have access to UWP APIs and features, such as live tiles, Cortana integration, background tasks etc. Another important benefit specifically for Windows Forms apps is the new high DPI support in .NET 4.7, which is included in the Windows Creators Update (1703). Our sample app here is taking advantage of this new support, by following the steps outlined in this article.
And there is more
Talking about installers, did you know that your app package is also your installer on Windows 10? Users can just click to install it, as long as it’s signed with a certificate that is trusted on the target device. This enables you to distribute your modernized desktop application in the way that’s right for your scenario, without having to go through the Store – e.g. for LOB applications in an enterprise. Learn more about it here.

Conclusion
Getting your desktop application development project ready for Windows Store submission is easy now with Visual Studio 2017 Update 4. Once converted to a Windows App Package your app can take advantage of all the Windows 10 platform capabilities and start using new APIs and features on Windows 10. Here are some resources for more details:
Desktop Bridge docs
Desktop Bridge samples
App Modernization video on Channel 9
Are you ready to submit your desktop application to the Windows Store? Let us know about it here, and we will help you through the process!

Windows Developer Day in London – Windows 10 Fall Creators Update SDK Availability

Windows 10 Fall Creators Update provides a developer platform that is designed to inspire the creator in each of us – empowering developers to build applications that change the way people work, play and interact with devices. To truly fulfill this platform promise, I believe that our developer platform needs to be centered around people and their needs.  Technology should adapt and learn how to work with us.
As we showed at Microsoft Build in May, the Windows 10 Fall Creators Update SDK delivers thousands of new capabilities and improvements that support this promise. Today, at Windows Developer Day in London, we’re celebrating three areas that help you, our developer partners:
Create inspiring experiences using the next revolution in technology – Mixed Reality
Modernize applications for the modern workplace
Build and monetize your games and applications
I’m pleased to share with you that you can get started now by downloading the Windows 10 Fall Creators Update SDK. Windows 10 adoption has been incredible – with more than 500 million monthly active devices. We are also seeing devices staying current with the latest updates faster than ever, with the majority of devices running the latest updates in less than 6 months, and over eighty percent of devices running the latest update in less than a year. We can’t wait to see the next wave of innovation enabled by the Windows 10 Fall Creators Update SDK.
Create inspiring experiences using the next revolution in technology – Mixed Reality
The next revolution of computing is Mixed Reality. Microsoft is the only company embracing the entire continuum for mixed reality, from augmented reality to virtual reality and everything in between. Windows 10 was designed from ground up for spatial interactions and the next wave in this journey is Windows Mixed Reality, uniting the digital and real world to create a rich, immersive world. As humans, we interact with space constantly, and Windows Mixed Reality will feel the most natural for users. With HoloLens, we have already demonstrated unrivaled innovation that is transforming industries. Now, our immersive headsets offer unrivaled experiences.
For developers, Windows Mixed Reality offers unique opportunities.
Our unified platform maximizes reuse across platforms and device form factors
Windows Mixed Reality provides reach on the broadest range of devices
Our Microsoft Store provides an unrivaled discovery opportunity
Millions of people come to the Store every day to get an application from our broad catalog
Modernize applications for the modern workplace
With the Windows 10 Fall Creators Update SDK, developers can easily create a new or update an existing application to support modern experiences that employees need, or customers expect.
Modernizing your deployment
The deployment system in Windows 10 has been significantly enhanced to help your users start using your application quicker and easier. This starts with the ability to only download the delta between updates, the updated bits versus the entire package to your end user. In addition, you can break up your application into components to allow streaming install. This will allow your application to work before your user has the entire application installed.
To assist with this modernization, the Fall Creators Update introduces the Windows application packaging project with Visual Studio 2017 version 15.4. This new project allows developers to utilize the app packaging without having to convert your existing installer. Just add the project and you’re done. Once your application is using the modernized installer, you now have access to all the APIs that have been added to the Windows Platform. For example, integration with Windows Hello to assist with security, action center integration to assist with engagement, and cross-device capabilities provided with device relay and activity feed.
Another major investment has been the integration of .NET Standard 2.0 which enables developers to reuse their code across platforms and devices with Visual Studio and integrates the vast array of libraries available in the open source community built on .NET.
Fluent Design System
The Fluent Design System is the evolution of Microsoft’s approach to creating the very best user experiences. Experiences with Fluent Design feel natural on the device you’re using, whether it’s a large screen desktop with keyboard, a laptop or tablet with touch, a mixed reality headset, or one of many other computing form factors. Applications using Fluent Design are optimized for consuming content and are efficient and powerful to use for creating and collaborating, and they help you to achieve more… they are experiences you love to use!
For developers, the Windows 10 Fall Creators Update provides a comprehensive solution for creating applications with Fluent Design in a way that’s simple, powerful and flexible to your needs. It includes UX building blocks, guidelines, samples, tools, and a community to help you build the best experiences for your customers. Here are some highlights:
The Navigation View control provides an easy, consistent home for getting around your app.
Acrylic Material gives you a rich new visual building block that helps you create information hierarchy and greater immersion in your app.
The Reveal Highlight interaction visualization built into many controls helps your experience feel natural to use across as disparate inputs as mouse, pen, touch and gaze.
Connected Animations aid usability by preserving context and increasing engagement, and are so easy to adopt incrementally.
Gesture Actions like swipe build on familiar patterns to help users efficiently and naturally get stuff done.
Learn more about all the different building blocks and features you can take advantage of at: http://developer.microsoft.com/design.
Device Relay and Activity Feed
Microsoft Graph and Project Rome enable new and exciting ways to drive user engagement across apps, devices and platforms. Device relay allows your customers to continue what they’re doing right now, but on a different device and Activity Feed, allows them to pick up an activity they were doing in the past, and continuing it now or sometime in the future.
Helping your customers stay connected to what they need to do right now isn’t as easy as it used to be. People have multiple devices they switch between and they expect them to all work together. Using the Remote Systems and Remote Sessions APIs, you can do truly delightful device relay scenarios to help your customers use the right device for the task.  The Remote Systems APIs enable you to communicate with the user’s devices across Windows, Android and iOS.
With the Activity Feed, you can keep your customers engaged and help them resume what they need to do next. Your customers can’t always finish what they were doing in a task or session in your app, but you can still help them pick up where they left off between devices and experiences by simply adding an activity to the Activity Feed using the UserActivity API.
Build and monetize your games and applications
Lastly, with the Expanded Resources feature in the Fall Xbox One Update, we’ve made another investment in the promise to open Xbox One to UWP game developers who want to build more immersive experiences. Now, developers will automatically have access to 6 exclusive cores, 5 GB of ram and full access to the GPU with DX12! We designed Visual Studio 2017 with game developers in mind! We built a brand-new work-load based installer in Visual Studio 2017, which optimizes the install experience for game developers, so you get everything you need and nothing you don’t.
We recently launched the Xbox Live Creators Program, and this gives anyone the ability to build and publish games for the Xbox One family of devices and Windows 10 PCs. You don’t have to go through concept approval, and the certification is simplified. What’s more is that you are able to leverage select Xbox Live features like stats, leaderboards and cloud saves. We have added more monetization options and tools in Microsoft Store. Interactivity is the future of live streaming and Mixer is our fast and interactive live streaming platform. We have the Mixer SDKs for the major game engines and languages and you can make something cool in less than an hour. Our goal is to create a community of indie game developers. We want to foster open discussions between developers and Windows, and each other. With that in mind, we are bringing back Dream.Build.Play in 2017. The 2017 Challenge has a prize pool over $225,000 (USD), with several categories.
Community and thanks
We were pleased today to have been joined on stage in London by two creative partners building UWPs for unique and innovative experiences.  Black Marble, a UK based developer is building on its history of simplifying law enforcement experiences with a new Mixed Reality UWP to bring MR to courtrooms. Texthelp, another UK based company, showcased a UWP application and Edge extension that helps improve reading and writing comprehension for children with dyslexia and students learning in a second language. Texthelp has also announced a new app, EquatIO, which assists learning in mathematics.
Whether you’re building immersive experiences for Windows Mixed Reality, games, education or business applications, community is crucial to the Windows developer platform. I’d also like to take a moment to thank all developers who are participating Windows Insiders Program and have been using the Fall Creators Update Preview SDK. We value your insight and suggestions, as well as your feedback.
I look forward to seeing what you create with the Windows 10 Fall Creators Update SDK. The Windows Dev Center is open now for submissions to the Microsoft Store! For more details, go to dev.windows.com.

Windows 10 SDK Preview Build 16288 and Mobile Emulator Build 15240 Released

Today, we released a new Windows 10 Preview Build of the SDK and the Mobile Emulator to be used in conjunction with Windows 10 Insider Preview (Build 16288 or greater). The Preview SDK Build 16288 contains bug fixes and under development changes to the API surface area.
The Preview SDK and Mobile Emulator can be downloaded from developer section on Windows Insider.
For feedback and updates to the known issues, please see the developer forum. For new developer feature requests, head over to our Windows Platform UserVoice.
Things to note:
This build works in conjunction with previously released SDKs and Visual Studio 2017.  You can install this SDK and still also continue to submit your apps that target Windows 10 Creators build or earlier to the Store.
The Windows SDK will now formally only be supported by Visual Studio 2017 and greater. You can download the Visual Studio 2017 here.
Breaking Changes
ecmangen.exe removal from the SDK:  Ecmangen.exe will no longer ship with the Windows SDK. Developers who rely on ecmangen for event manifest creation are advised to install the Windows Creators Edition of the SDK to obtain the file. Developers may also use notepad or other XML editor of choice for manifest creation. A schema file is available on MSDN to aid in manifest creation, for tools that support it.
API Updates and Additions
When targeting new APIs, consider writing your app to be adaptive in order to run correctly on the widest number of Windows 10 devices. Please see Dynamically detecting features with API contracts (10 by 10) for more information. 
There have been no changes since build 16278 to the API surface.