読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

Windows10TP build9926の新しいWindowsRuntimeAPI その1 ApplicationModel編

日常 WindowsRuntime

1/24の夜中にWindows10 TP版 build9926がダウンロード開始されました。

それにともなって新しく追加されたAPI(buil9879追加分も含む)をちょこっと覗いてWindows10からアプリ開発でどのようなことができるようになるのかちょこっと覗いていきたいと思います。

どうやって新しいAPIを取得するかという話ですが、WindowsRuntimeのAPIはすべてC:\Windows\System32\WinMetadataのなかにある.winmdファイルに記述されています。

そいつをMetaDiffというツールを使ってWindows8のやつと差分をとってやればWindows10でどんなAPIが追加されたのかがわかるわけです。

というわけで今回はWindows.AppliactionModel.winmdのWindows8.1からの変更分を抜粋して見ていきます。

Windows.ApplicationModel.Package**

パッケージ系のAPIが追加されています。 Windows8.1時代でもPackage系のAPIはデスクトップアプリのみ利用可能でしたがアプリから利用できるようになるかも? Packageクラスではインストール日とかがあるわけですが中でも一番面白いのがLaunchメソッドがあること。
何かしらのソフトウエアからパッケージ一覧取得→起動みたいなランチャーソフトがつくれるようになるってことかもしれません。

| public class Windows.ApplicationModel.Package {
+   public DateTime InstalledDate { get; }
+   public PackageStatus Status { get; }
+   public DateTime InstallDate { get; }
+   public string GetThumbnailToken();
+   public void Launch( string parameters );
| }

Windows.ApplicationModel.Activation.ActivationKind

ActivationKindはアプリが起動されたときに、どのような起動方法によって起動されたのかという種類をあらわす列挙体です。
つまり、今回追加された13種類のメンバは13種類の起動方法が新しくできたということを表します。
VoiceCommandとかCortana臭がぷんぷんしますね。Cortanaからアプリの起動はWindowsPhoneではできましたがWindows8.1ではできませんでした。
WalletActionとかおもしろいです。何かしらの支払い動作をしたらアプリが起動するみたいな感じでしょうか。

| public enum Windows.ApplicationModel.Activation.ActivationKind {
+   VoiceCommand = 16,
+   LockScreen = 17,
+   PickerReturned = 1000,
+   WalletAction = 1001,
+   PickFileContinuation = 1002,
+   PickSaveFileContinuation = 1003,
+   PickFolderContinuation = 1004,
+   WebAuthenticationBrokerContinuation = 1005,
+   WebAccountProvider = 1006,
+   WebAccountProviderContinuation = 1007,
+   ComponentUI = 1008,
+   ProtocolWithResultsContinuation = 1009,
+   ProtocolForResults = 1010,
| }

LockScreenActivate系

LockScreenから起動できるっぽいです。
ロックスクリーンにアプリのアイコンを置けて、ロックスクリーンから直接起動するというAndroidiOSのカメラみたいなことができるかもです。

+ public class Windows.ApplicationModel.Activation.LockScreenActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public object Info { get; }
+ }

Windows.ApplicationModel.AppService名前空間

AppServiceという言葉が多く出てきます。

サービスをOpen,Close、その間のメッセージのやりとりができるサービス型のアプリを作ることができるかもしません。

+ public class Windows.ApplicationModel.AppService.AppServiceConnection {
+   public User User { get; set; }
+   public string PackageFamilyName { get; set; }
+   public string AppServiceName { get; set; }
+   public AppServiceConnection();
+   public IAsyncOperation<AppServiceConnectionStatus> OpenAsync();
+   public IAsyncOperation<AppServiceResponse> SendMessageAsync( ValueSet operation );
+   public void Close();
+   TypedEventHandler<AppServiceConnection, AppServiceRequestReceivedEventArgs> RequestReceived;
+   TypedEventHandler<AppServiceConnection, AppServiceClosedEventArgs> ServiceClosed;
+ }

Windows.ApplicationModel.Appointments名前空間

Appointment系のAPIが多く追加されています。
今回はカレンダーに多く介入することができるっぽく、予定の変更周りだと思います。

+ public class Windows.ApplicationModel.Appointments.AppointmentStore {
+   public AppointmentStoreChangeTracker ChangeTracker { get; }
+   public IAsyncOperation<AppointmentCalendar> CreateAppointmentCalendarAsync( string operation );
+   public IAsyncOperation<AppointmentCalendar> GetAppointmentCalendarAsync( string result );
+   public IAsyncOperation<Appointment> GetAppointmentAsync( string result );
+   public IAsyncOperation<Appointment> GetAppointmentInstanceAsync( string result, DateTime localId );
+   public IAsyncOperation<IVectorView<AppointmentCalendar>> FindAppointmentCalendarsAsync();
+   public IAsyncOperation<IVectorView<AppointmentCalendar>> FindAppointmentCalendarsAsync( FindAppointmentCalendarsOptions result );
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart );
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart, FindAppointmentsOptions rangeLength );
+   public IAsyncOperation<AppointmentConflictResult> FindConflictAsync( Appointment result );
+   public IAsyncOperation<AppointmentConflictResult> FindConflictAsync( Appointment result, DateTime appointment );
+   public IAsyncAction MoveAppointmentAsync( Appointment asyncAction, AppointmentCalendar appointment );
+   public IAsyncOperation<string> ShowAddAppointmentAsync( Appointment operation, Rect appointment );
+   public IAsyncOperation<string> ShowReplaceAppointmentAsync( string operation, Appointment localId, Rect appointment );
+   public IAsyncOperation<string> ShowReplaceAppointmentAsync( string operation, Appointment localId, Rect appointment, Placement selection, DateTime preferredPlacement );
+   public IAsyncOperation<bool> ShowRemoveAppointmentAsync( string operation, Rect localId );
+   public IAsyncOperation<bool> ShowRemoveAppointmentAsync( string operation, Rect localId, Placement selection, DateTime preferredPlacement );
+   public IAsyncAction ShowAppointmentDetailsAsync( string asyncAction );
+   public IAsyncAction ShowAppointmentDetailsAsync( string asyncAction, DateTime localId );
+   public IAsyncOperation<string> ShowEditNewAppointmentAsync( Appointment operation );
+   public IAsyncOperation<IVectorView<string>> FindLocalIdsFromRoamingIdAsync( string operation );
+   TypedEventHandler<AppointmentStore, AppointmentStoreChangedEventArgs> StoreChanged;
+ }

新しいBackgroundTrigger

BackgroundTaskの実行トリガーが結構追加されています。

  • BluetoothLEAdvertisementPublishTrigger
  • BluetoothLEAdvertisementPublisherTrigger
  • CachedFileUpdaterTrigger
  • CachedFileUpdaterTriggerDetails
  • ChatMessageNotificationTrigger
  • ContactStoreNotificationTrigger
  • DeviceConnectionChangeTrigger
  • DeviceManufacturerNotificationTrigger
  • EmailStoreNotificationTrigger
  • GattCharacteristicNotificationTrigger
  • MediaProcessingTrigger
  • PhoneTrigger
  • RfcommConnectionTrigger
  • SensorDataThresholdTrigger
  • SmsMessageReceivedTrigger
  • ToastNotificationHistoryChangedTrigger

Phone統合もあってTriggerめっちゃ増えてます

Windows.ApplicationModel.Calls名前空間

Phone系のAPIがたくさんありました。 CallLogとか、アプリから参照できるようになりそうです。

Windows.ApplicationModel.Chat名前空間

SMS?チャット制御ができそうな感じです。

+ public class Windows.ApplicationModel.Chat.ChatMessage {
+   public DateTime LocalTimestamp { get; set; }
+   public bool IsRead { get; set; }
+   public ChatMessageStatus Status { get; set; }
+   public bool IsIncoming { get; set; }
+   public bool IsForwardingDisabled { get; set; }
+   public string TransportId { get; set; }
+   public DateTime NetworkTimestamp { get; set; }
+   public string From { get; set; }
+   public string Body { get; set; }
+   public string Id { get; }
+   public IVector<ChatMessageAttachment> Attachments { get; }
+   public IMapView<string, ChatMessageStatus> RecipientSendStatuses { get; }
+   public IVector<string> Recipients { get; }
+   public string Subject { get; }
+   public string TransportFriendlyName { get; }
+   public bool SupressNotification { get; set; }
+   public string RemoteId { get; set; }
+   public ChatMessageType MessageType { get; set; }
+   public ChatConversationThreadingInfo ThreadingInfo { get; set; }
+   public bool IsDraft { get; set; }
+   public ulong DownloadSize { get; set; }
+   public bool IsSIMMessage { get; }
+   public IVector<ChatRecipient> RecipientsInfo { get; }
+   public ChatMessage();
+ }

Windows.ApplicationModel.Contacts名前空間

連絡先関連ですかね。現行のWindowsRuntimeでも連絡先のあった気がしますがたくさんのメンバ増やして新しくなったかも?
そういえば現行の WindowsRuntimeの連絡先周りは本当に弱かったきがしました。

| public class Windows.ApplicationModel.Contacts.Contact {
+   public string RemoteId { get; set; }
+   public IRandomAccessStreamReference SourceDisplayPicture { get; set; }
+   public IRandomAccessStreamReference RingTone { get; set; }
+   public IRandomAccessStreamReference TextTone { get; set; }
+   public DateTime CurrentDisplayPictureUserUpdateTime { get; set; }
+   public bool IsMe { get; }
+   public ContactKind Kind { get; }
+   public IRandomAccessStreamReference LargeDisplayPicture { get; }
+   public string AccountId { get; }
+   public string AggregateId { get; }
+   public IRandomAccessStreamReference SmallDisplayPicture { get; }
+   public bool DisplayPictureIsManuallySet { get; }
| }

RestrictedAppContainer

非常に謎。何をするのかがさっぱりわからないです。

+ public class Windows.ApplicationModel.Core.RestrictedAppContainer {
+   public RestrictedAppContainerCapabilities Capabilities { get; }
+   public string Name { get; }
+   public IAsyncAction LaunchAsync( object operation );
+   public void TerminateAll();
+   public static IAsyncOperation<RestrictedAppContainer> CreateAsync( string operation, RestrictedAppContainerCapabilities name );
+   public static IAsyncAction DeleteAsync( string operation );
+   public static RestrictedAppContainer Open( string restrictedAppContainer );
+   public static IAsyncOperation<IVectorView<RestrictedAppContainer>> FindAllAsync();
+ }

Windows.ApplicationModel.DataTransfer.DragDrop

Windowsストアアプリがウインドウ化されたことにともなってドラッグアンドドロップがいい感じになりでそうです。

Windows.ApplicationModel.Email

Email制御ができそうな感じあります。

+ public class Windows.ApplicationModel.Email.EmailMailbox {
+   public EmailMailboxOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public EmailMailboxOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public string MailAddress { get; set; }
+   public string DisplayName { get; set; }
+   public EmailMailboxChangeTracker ChangeTracker { get; }
+   public EmailMailboxCapabilities Capabilities { get; }
+   public string Id { get; }
+   public bool IsAppOwnedMailbox { get; }
+   public EmailMailboxType MailboxType { get; }
+   public bool MustEncryptSmimeMessages { get; }
+   public bool MustEncryptUnderLockscreen { get; }
+   public bool MustSignSmimeMessages { get; }
+   public bool AllowSmimeSoftCerts { get; }
+   public bool AllowSmimeEncryptionAlgorithmNegotiation { get; }
+   public SmimeEncryptionAlgorithm RequiredSmimeEncryptionAlgorithm { get; }
+   public SmimeSigningAlgorithm RequiredSmimeSigningAlgorithm { get; }
+   public string SourceDisplayName { get; }
+   public EmailMailboxSyncAdapter SyncAdapter { get; }
+   public EmailConversationReader GetConversationReader();
+   public EmailConversationReader GetConversationReader( EmailFetchOptions result );
+   public EmailMessageReader GetMessageReader();
+   public EmailMessageReader GetMessageReader( EmailFetchOptions result );
+   public IAsyncOperation<IVectorView<EmailIrmTemplate>> GetSupportedIrmTemplatesAsync();
+   public IAsyncAction DeleteAsync();
+   public IAsyncOperation<EmailConversation> GetConversationAsync( string result );
+   public IAsyncOperation<EmailFolder> GetFolderAsync( string result );
+   public IAsyncOperation<EmailMessage> GetMessageAsync( string result );
+   public IAsyncOperation<EmailFolder> GetSpecialFolderAsync( EmailSpecialFolderType result );
+   public IAsyncAction SaveAsync();
+   public IAsyncAction MarkMessageAsSeenAsync( string result );
+   public IAsyncAction MarkFolderAsSeenAsync( string result );
+   public IAsyncAction MarkMessageReadAsync( string result, bool messageId );
+   public IAsyncAction ChangeMessageFlagStateAsync( string result, EmailFlagState messageId );
+   public IAsyncOperation<bool> TryMoveMessageAsync( string result, string messageId );
+   public IAsyncOperation<bool> TryMoveFolderAsync( string result, string folderId );
+   public IAsyncOperation<bool> TryMoveFolderAsync( string result, string folderId, string newParentFolderId );
+   public IAsyncAction DeleteMessageAsync( string result );
+   public IAsyncAction MarkFolderSyncingAsync( string result, bool folderId );
+   public IAsyncAction SendMessageAsync( EmailMessage result );
+   public IAsyncAction SaveDraftAsync( EmailMessage result );
+   public IAsyncAction DownloadMessageAsync( string result );
+   public IAsyncAction DownloadAttachmentAsync( string result );
+   public IAsyncOperation<EmailMessage> CreateResponseMessageAsync( string result, EmailMessageResponseType messageId, string responseType, EmailMessageBodyType subject, string responseHeaderType );
+   public IAsyncAction RespondToMeetingAsync( EmailMessage result, EmailMeetingResponseType meeting, string response, string subject, bool comment );
+   public IAsyncAction RespondToMeetingAppointmentAsync( Appointment result, EmailMeetingResponseType meeting, string response, string subject, bool comment );
+   public IAsyncAction ForwardMeetingAsync( EmailMessage result, IVector<EmailRecipient> meeting, string recipients, EmailMessageBodyType subject, string forwardHeaderType, string forwardHeader );
+   public IAsyncAction ForwardMeetingAppointmentAsync( Appointment result, IVector<EmailRecipient> meeting, string recipients, EmailMessageBodyType subject, string forwardHeaderType, string forwardHeader );
+   public IAsyncAction ProposeNewTimeForMeetingAsync( EmailMessage result, DateTime meeting, TimeSpan newStartTime, string newDuration, string subject );
+   public IAsyncAction ProposeNewTimeForMeetingAppointmentAsync( Appointment result, DateTime meeting, TimeSpan newStartTime, string newDuration, string subject );
+   public IAsyncAction CreateMeetingAsync( AppointmentCalendar result, Appointment calendar );
+   public IAsyncAction UpdateMeetingAsync( Appointment result );
+   public IAsyncOperation<EmailMailboxSyncStatus> SyncAsync();
+   TypedEventHandler<EmailMailbox, EmailMailboxChangedEventArgs> MailboxChanged;
+ }

Windows.ApplicationModel.ExtendedExecution名前空間

同じく謎。直訳すると拡張実行?

+ public class Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionSession {
+   public ExtendedExecutionReason Reason { get; set; }
+   public uint PercentProgress { get; set; }
+   public string Description { get; set; }
+   public IAsyncOperation<ExtendedExecutionResult> RequestExtensionAsync();
+   public void Close();
+   TypedEventHandler<ExtendedExecutionSession, ExtensionRevokedEventArgs> Revoked;
+ }

Windows.ApplicationModel.LockScreen名前空間

LockScreen周り。今回はLockScreenいろいろいじれそうな感じです。

+ public class Windows.ApplicationModel.LockScreen.LockScreenInfo {
+   public IRandomAccessStream AlarmIcon { get; }
+   public IVectorView<LockScreenBadge> Badges { get; }
+   public IVectorView<string> DetailText { get; }
+   public IRandomAccessStream LockScreenImage { get; }
+   TypedEventHandler<LockScreenInfo, object> AlarmIconChanged;
+   TypedEventHandler<LockScreenInfo, object> BadgesChanged;
+   TypedEventHandler<LockScreenInfo, object> DetailTextChanged;
+   TypedEventHandler<LockScreenInfo, object> LockScreenImageChanged;
+ }

Windows.ApplicationModel.Resources.Core名前空間

バージョン番号とか?

+ public struct Windows.ApplicationModel.Resources.Core.ResourceLayoutInfo {
+   public uint MajorVersion;
+   public uint MinorVersion;
+   public uint ResourceSubtreeCount;
+   public uint NamedResourceCount;
+   public int Checksum;
+ }

| public class Windows.ApplicationModel.Resources.Core.ResourceManager {
+   public IVectorView<NamedResource> GetAllNamedResourcesForPackage( string table, ResourceLayoutInfo packageName );
+   public IVectorView<ResourceMap> GetAllSubtreesForPackage( string table, ResourceLayoutInfo packageName );
| }

まとめ

とりあえず面白そうなのを抜粋してみました。
これでまだ一つのwinmdファイルなのでまだまだ新規追加APIはあります。
Windows.ApplicationModel.winmdファイルのdiffを下に貼っておきます。

 MetaDiff v0.1 https://github.com/WalkingCat/MetaDiff

 new file: C:\Users\Ryota\Desktop\WinMetadata\WinMetadata_9926\Windows.ApplicationModel.winmd
 old file: C:\Users\Ryota\Desktop\WinMetadata\WinMetadata_old\Windows.ApplicationModel.winmd

 diff legends: +: added, -: removed, *: changed, |: type member changed

| public class Windows.ApplicationModel.Package {
+   public DateTime InstalledDate { get; }
+   public PackageStatus Status { get; }
+   public DateTime InstallDate { get; }
+   public string GetThumbnailToken();
+   public void Launch( string parameters );
| }

| public class Windows.ApplicationModel.PackageId {
+   public string Author { get; }
+   public string ProductId { get; }
| }

+ public class Windows.ApplicationModel.PackageStatus {
+   public bool DataOffline { get; }
+   public bool DependencyIssue { get; }
+   public bool DeploymentInProgress { get; }
+   public bool Disabled { get; }
+   public bool LicenseIssue { get; }
+   public bool Modified { get; }
+   public bool NeedsRemediation { get; }
+   public bool NotAvailable { get; }
+   public bool PackageOffline { get; }
+   public bool Servicing { get; }
+   public bool Tampered { get; }
+   public bool VerifyIsOK();
+ }

+ public struct Windows.ApplicationModel.Activation.ActivatedEventsContract {
+ }

| public enum Windows.ApplicationModel.Activation.ActivationKind {
+   VoiceCommand = 16,
+   LockScreen = 17,
+   PickerReturned = 1000,
+   WalletAction = 1001,
+   PickFileContinuation = 1002,
+   PickSaveFileContinuation = 1003,
+   PickFolderContinuation = 1004,
+   WebAuthenticationBrokerContinuation = 1005,
+   WebAccountProvider = 1006,
+   WebAccountProviderContinuation = 1007,
+   ComponentUI = 1008,
+   ProtocolWithResultsContinuation = 1009,
+   ProtocolForResults = 1010,
| }

+ public class Windows.ApplicationModel.Activation.AppointmentsProviderShowAppointmentDetailsActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public string Verb { get; }
+   public IReference<DateTime> InstanceStartDate { get; }
+   public string LocalId { get; }
+   public string RoamingId { get; }
+ }

+ public class Windows.ApplicationModel.Activation.FileOpenPickerContinuationEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public ValueSet ContinuationData { get; }
+   public IVectorView<StorageFile> Files { get; }
+ }

+ public class Windows.ApplicationModel.Activation.FileSavePickerContinuationEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public ValueSet ContinuationData { get; }
+   public StorageFile File { get; }
+ }

+ public class Windows.ApplicationModel.Activation.FolderPickerContinuationEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public ValueSet ContinuationData { get; }
+   public StorageFolder Folder { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IAppointmentsProviderShowAppointmentDetailsActivatedEventArgs {
+   public IReference<DateTime> InstanceStartDate { get; }
+   public string LocalId { get; }
+   public string RoamingId { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IContinuationActivatedEventArgs {
+   public ValueSet ContinuationData { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IFileOpenPickerContinuationEventArgs {
+   public IVectorView<StorageFile> Files { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IFileSavePickerContinuationEventArgs {
+   public StorageFile File { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IFolderActivatedEventArgs {
+   public IStorageFolder Folder { get; }
+   public IVectorView<IStorageItem> SelectedItems { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IFolderPickerContinuationEventArgs {
+   public StorageFolder Folder { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.ILockScreenActivatedEventArgs {
+   public object Info { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IPickerReturnedActivatedEventArgs {
+   public string PickerOperationId { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IProtocolActivatedEventArgsWithCallerPackageFamilyNameAndData {
+   public string CallerPackageFamilyName { get; }
+   public ValueSet Data { get; }
+ }

* public interface Windows.ApplicationModel.Activation.ISplashScreen;

+ public interface Windows.ApplicationModel.Activation.IVoiceCommandActivatedEventArgs {
+   public SpeechRecognitionResult Result { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IWalletActionActivatedEventArgs {
+   public string ActionId { get; }
+   public WalletActionKind ActionKind { get; }
+   public string ItemId { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IWebAccountProviderActivatedEventArgs {
+   public IWebAccountProviderOperation Operation { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IWebAccountProviderContinuationEventArgs {
+   public WebTokenRequestResult Result { get; }
+ }

+ public interface Windows.ApplicationModel.Activation.IWebAuthenticationBrokerContinuationEventArgs {
+   public WebAuthenticationResult WebAuthenticationResult { get; }
+ }

+ public class Windows.ApplicationModel.Activation.LockScreenActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public object Info { get; }
+ }

+ public class Windows.ApplicationModel.Activation.PickerReturnedActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public string PickerOperationId { get; }
+ }

| public class Windows.ApplicationModel.Activation.ProtocolActivatedEventArgs {
+   public string CallerPackageFamilyName { get; }
+   public ValueSet Data { get; }
| }

+ public class Windows.ApplicationModel.Activation.ProtocolForResultsActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public int CurrentlyShownApplicationViewId { get; }
+   public Uri Uri { get; }
+   public string CallerPackageFamilyName { get; }
+   public ValueSet Data { get; }
+   public ProtocolForResultsOperation ProtocolForResultsOperation { get; }
+ }

+ public class Windows.ApplicationModel.Activation.ProtocolWithResultsContinuationActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public ValueSet ContinuationData { get; }
+   public ValueSet Result { get; }
+ }

+ public class Windows.ApplicationModel.Activation.VoiceCommandActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public SpeechRecognitionResult Result { get; }
+ }

+ public class Windows.ApplicationModel.Activation.WalletActionActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public string ActionId { get; }
+   public WalletActionKind ActionKind { get; }
+   public string ItemId { get; }
+ }

+ public class Windows.ApplicationModel.Activation.WebAccountProviderActivatedEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public IWebAccountProviderOperation Operation { get; }
+ }

+ public class Windows.ApplicationModel.Activation.WebAccountProviderContinuationEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public WebTokenRequestResult Result { get; }
+ }

+ public class Windows.ApplicationModel.Activation.WebAuthenticationBrokerContinuationEventArgs {
+   public ActivationKind Kind { get; }
+   public ApplicationExecutionState PreviousExecutionState { get; }
+   public SplashScreen SplashScreen { get; }
+   public ValueSet ContinuationData { get; }
+   public WebAuthenticationResult WebAuthenticationResult { get; }
+ }

+ public struct Windows.ApplicationModel.Activation.WebUISearchActivatedEventsContract {
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceClosedEventArgs {
+   public AppServiceClosedStatus Status { get; }
+ }

+ public enum Windows.ApplicationModel.AppService.AppServiceClosedStatus {
+   Completed = 0,
+   Canceled = 1,
+   ResourceLimitsExceeded = 2,
+   Unknown = 3,
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceConnection {
+   public User User { get; set; }
+   public string PackageFamilyName { get; set; }
+   public string AppServiceName { get; set; }
+   public AppServiceConnection();
+   public IAsyncOperation<AppServiceConnectionStatus> OpenAsync();
+   public IAsyncOperation<AppServiceResponse> SendMessageAsync( ValueSet operation );
+   public void Close();
+   TypedEventHandler<AppServiceConnection, AppServiceRequestReceivedEventArgs> RequestReceived;
+   TypedEventHandler<AppServiceConnection, AppServiceClosedEventArgs> ServiceClosed;
+ }

+ public enum Windows.ApplicationModel.AppService.AppServiceConnectionStatus {
+   Success = 0,
+   AppNotInstalled = 1,
+   AppUnavailable = 2,
+   AppServiceUnavailable = 3,
+   Unknown = 4,
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceRequest {
+   public ValueSet Message { get; }
+   public IAsyncOperation<AppServiceResponseStatus> SendResponseAsync( ValueSet operation );
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceRequestReceivedEventArgs {
+   public AppServiceRequest Request { get; }
+   public AppServiceDeferral GetDeferral();
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceResponse {
+   public ValueSet Message { get; }
+   public AppServiceResponseStatus Status { get; }
+ }

+ public enum Windows.ApplicationModel.AppService.AppServiceResponseStatus {
+   Success = 0,
+   Failure = 1,
+   ResourceLimitsExceeded = 2,
+   Unknown = 3,
+ }

+ public class Windows.ApplicationModel.AppService.AppServiceTriggerDetails {
+   public AppServiceConnection AppServiceConnection { get; }
+   public string CallerPackageFamilyName { get; }
+   public string Name { get; }
+ }

| public class Windows.ApplicationModel.Appointments.Appointment {
+   public bool AllowNewTimeProposal { get; set; }
+   public bool IsOrganizedByUser { get; set; }
+   public bool IsCanceledMeeting { get; set; }
+   public string OnlineMeetingLink { get; set; }
+   public bool IsResponseRequested { get; set; }
+   public AppointmentParticipantResponse UserResponse { get; set; }
+   public string RoamingId { get; set; }
+   public IReference<DateTime> ReplyTime { get; set; }
+   public string CalendarId { get; }
+   public bool HasInvitees { get; }
+   public string LocalId { get; }
+   public IReference<DateTime> OriginalStartTime { get; }
+   public ulong ServerChangeNumber { get; set; }
+   public ulong ChangeNumber { get; }
| }

+ public class Windows.ApplicationModel.Appointments.AppointmentCalendar {
+   public AppointmentSummaryCardView SummaryCardView { get; set; }
+   public AppointmentCalendarOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public AppointmentCalendarOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public string DisplayName { get; set; }
+   public Color DisplayColor { get; }
+   public bool IsHidden { get; }
+   public string LocalId { get; }
+   public string SourceDisplayName { get; }
+   public AppointmentCalendarSyncAdapter SyncAdapter { get; }
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart );
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart, FindAppointmentsOptions rangeLength );
+   public IAsyncOperation<IVectorView<AppointmentException>> FindExceptionsFromMasterAsync( string value );
+   public IAsyncOperation<IVectorView<Appointment>> FindAllInstancesAsync( string value, DateTime masterLocalId, TimeSpan rangeStart );
+   public IAsyncOperation<IVectorView<Appointment>> FindAllInstancesAsync( string value, DateTime masterLocalId, TimeSpan rangeStart, FindAppointmentsOptions rangeLength );
+   public IAsyncOperation<Appointment> GetAppointmentAsync( string result );
+   public IAsyncOperation<Appointment> GetAppointmentInstanceAsync( string result, DateTime localId );
+   public IAsyncOperation<IVectorView<Appointment>> FindUnexpandedAppointmentsAsync();
+   public IAsyncOperation<IVectorView<Appointment>> FindUnexpandedAppointmentsAsync( FindAppointmentsOptions result );
+   public IAsyncAction DeleteAsync();
+   public IAsyncAction SaveAsync();
+   public IAsyncAction DeleteAppointmentAsync( string asyncAction );
+   public IAsyncAction DeleteAppointmentInstanceAsync( string asyncAction, DateTime localId );
+   public IAsyncAction SaveAppointmentAsync( Appointment asyncAction );
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppReadAccess {
+   SystemOnly = 0,
+   Limited = 1,
+   Full = 2,
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentCalendarOtherAppWriteAccess {
+   None = 0,
+   SystemOnly = 1,
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentCalendarSyncAdapter {
+   public AppointmentCalendarSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+   public IAsyncOperation<bool> SyncAsync();
+   TypedEventHandler<AppointmentCalendar, AppointmentCalendarSyncStatusChangedEventArgs> SyncStatusChanged;
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentCalendarSyncState {
+   Unknown = 0,
+   Idle = 1,
+   Syncing = 2,
+   Disconnected = 3,
+   Throttled = 4,
+   UserAttentionRequired = 5,
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentCalendarSyncStatusChangedEventArgs {
+   public AppointmentCalendarSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentConflictResult {
+   public DateTime Date { get; }
+   public AppointmentConflictType Type { get; }
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentConflictType {
+   None = 0,
+   Adjacent = 1,
+   Overlap = 2,
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentException {
+   public Appointment Appointment { get; }
+   public IVectorView<string> ExceptionProperties { get; }
+   public bool IsDeleted { get; }
+ }

| public class Windows.ApplicationModel.Appointments.AppointmentManager {
+   public static IAsyncAction ShowAppointmentDetailsAsync( string asyncAction );
+   public static IAsyncAction ShowAppointmentDetailsAsync( string asyncAction, DateTime appointmentId );
+   public static IAsyncOperation<string> ShowEditNewAppointmentAsync( Appointment operation );
+   public static IAsyncOperation<AppointmentStore> RequestStoreAsync( AppointmentStoreAccessType operation );
| }

+ public class Windows.ApplicationModel.Appointments.AppointmentProperties {
+   public string Invitees { get; }
+   public string AllDay { get; }
+   public string AllowNewTimeProposal { get; }
+   public string BusyStatus { get; }
+   public IVector<string> DefaultProperties { get; }
+   public string Details { get; }
+   public string Duration { get; }
+   public string HasInvitees { get; }
+   public string Reminder { get; }
+   public string IsCanceledMeeting { get; }
+   public string IsOrganizedByUser { get; }
+   public string IsResponseRequested { get; }
+   public string Location { get; }
+   public string OnlineMeetingLink { get; }
+   public string Organizer { get; }
+   public string OriginalStartTime { get; }
+   public string Recurrence { get; }
+   public string ReplyTime { get; }
+   public string Sensitivity { get; }
+   public string StartTime { get; }
+   public string Subject { get; }
+   public string Uri { get; }
+   public string UserResponse { get; }
+   public string ServerChangeNumber { get; }
+   public string ChangeNumber { get; }
+ }

| public class Windows.ApplicationModel.Appointments.AppointmentRecurrence {
+   public string TimeZone { get; set; }
+   public RecurrenceType RecurrenceType { get; }
| }

+ public class Windows.ApplicationModel.Appointments.AppointmentStore {
+   public AppointmentStoreChangeTracker ChangeTracker { get; }
+   public IAsyncOperation<AppointmentCalendar> CreateAppointmentCalendarAsync( string operation );
+   public IAsyncOperation<AppointmentCalendar> GetAppointmentCalendarAsync( string result );
+   public IAsyncOperation<Appointment> GetAppointmentAsync( string result );
+   public IAsyncOperation<Appointment> GetAppointmentInstanceAsync( string result, DateTime localId );
+   public IAsyncOperation<IVectorView<AppointmentCalendar>> FindAppointmentCalendarsAsync();
+   public IAsyncOperation<IVectorView<AppointmentCalendar>> FindAppointmentCalendarsAsync( FindAppointmentCalendarsOptions result );
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart );
+   public IAsyncOperation<IVectorView<Appointment>> FindAppointmentsAsync( DateTime result, TimeSpan rangeStart, FindAppointmentsOptions rangeLength );
+   public IAsyncOperation<AppointmentConflictResult> FindConflictAsync( Appointment result );
+   public IAsyncOperation<AppointmentConflictResult> FindConflictAsync( Appointment result, DateTime appointment );
+   public IAsyncAction MoveAppointmentAsync( Appointment asyncAction, AppointmentCalendar appointment );
+   public IAsyncOperation<string> ShowAddAppointmentAsync( Appointment operation, Rect appointment );
+   public IAsyncOperation<string> ShowReplaceAppointmentAsync( string operation, Appointment localId, Rect appointment );
+   public IAsyncOperation<string> ShowReplaceAppointmentAsync( string operation, Appointment localId, Rect appointment, Placement selection, DateTime preferredPlacement );
+   public IAsyncOperation<bool> ShowRemoveAppointmentAsync( string operation, Rect localId );
+   public IAsyncOperation<bool> ShowRemoveAppointmentAsync( string operation, Rect localId, Placement selection, DateTime preferredPlacement );
+   public IAsyncAction ShowAppointmentDetailsAsync( string asyncAction );
+   public IAsyncAction ShowAppointmentDetailsAsync( string asyncAction, DateTime localId );
+   public IAsyncOperation<string> ShowEditNewAppointmentAsync( Appointment operation );
+   public IAsyncOperation<IVectorView<string>> FindLocalIdsFromRoamingIdAsync( string operation );
+   TypedEventHandler<AppointmentStore, AppointmentStoreChangedEventArgs> StoreChanged;
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentStoreAccessType {
+   AppCalendarsReadWrite = 0,
+   AllCalendarsReadOnly = 1,
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreChange {
+   public Appointment Appointment { get; }
+   public AppointmentStoreChangeType ChangeType { get; }
+   public AppointmentCalendar Calendar { get; }
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreChangeReader {
+   public IAsyncOperation<IVectorView<AppointmentStoreChange>> ReadBatchAsync();
+   public void AcceptChanges();
+   public void AcceptChangesThrough( AppointmentStoreChange lastChangeToAccept );
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreChangeTracker {
+   public AppointmentStoreChangeReader GetChangeReader();
+   public void Enable();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentStoreChangeType {
+   AppointmentCreated = 0,
+   AppointmentModified = 1,
+   AppointmentDeleted = 2,
+   ChangeTrackingLost = 3,
+   CalendarCreated = 4,
+   CalendarModified = 5,
+   CalendarDeleted = 6,
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreChangedEventArgs {
+   public AppointmentStoreChangedDeferral GetDeferral();
+ }

+ public class Windows.ApplicationModel.Appointments.AppointmentStoreNotificationTriggerDetails {
+ }

+ public enum Windows.ApplicationModel.Appointments.AppointmentSummaryCardView {
+   System = 0,
+   App = 1,
+ }

+ public enum Windows.ApplicationModel.Appointments.FindAppointmentCalendarsOptions {
+   None = 0,
+   IncludeHidden = 1,
+ }

+ public class Windows.ApplicationModel.Appointments.FindAppointmentsOptions {
+   public uint MaxCount { get; set; }
+   public bool IncludeHidden { get; set; }
+   public IVector<string> CalendarIds { get; }
+   public IVector<string> FetchProperties { get; }
+   public FindAppointmentsOptions();
+ }

+ public enum Windows.ApplicationModel.Appointments.RecurrenceType {
+   Master = 0,
+   Instance = 1,
+   ExceptionInstance = 2,
+ }

| public class Windows.ApplicationModel.Appointments.AppointmentsProvider.AppointmentsProviderLaunchActionVerbs {
+   public string ShowAppointmentDetails { get; }
| }

+ public class Windows.ApplicationModel.Background.ActivitySensorTrigger {
+   public uint MinimumReportInterval { get; }
+   public uint ReportInterval { get; }
+   public IVector<ActivityType> SubscribedActivities { get; }
+   public IVectorView<ActivityType> SupportedActivities { get; }
+   public ActivitySensorTrigger( uint reportIntervalInMilliseconds );
+ }

+ public class Windows.ApplicationModel.Background.ApplicationTrigger {
+   public ApplicationTrigger();
+   public IAsyncOperation<ApplicationTriggerResult> RequestAsync();
+   public IAsyncOperation<ApplicationTriggerResult> RequestAsync( ValueSet result );
+ }

+ public class Windows.ApplicationModel.Background.ApplicationTriggerDetails {
+   public ValueSet Arguments { get; }
+ }

+ public enum Windows.ApplicationModel.Background.ApplicationTriggerResult {
+   Allowed = 0,
+   CurrentlyRunning = 1,
+   DisabledByPolicy = 2,
+   UnknownError = 3,
+ }

+ public class Windows.ApplicationModel.Background.AppointmentStoreNotificationTrigger {
+   public AppointmentStoreNotificationTrigger();
+ }

| public class Windows.ApplicationModel.Background.BackgroundTaskBuilder {
+   public bool IsNetworkRequested { get; set; }
| }

| public class Windows.ApplicationModel.Background.BackgroundTaskRegistration {
+   public IBackgroundTrigger Trigger { get; }
| }

+ public class Windows.ApplicationModel.Background.BluetoothLEAdvertisementPublisherTrigger {
+   public BluetoothLEAdvertisement Advertisement { get; }
+   public BluetoothLEAdvertisementPublisherTrigger();
+ }

+ public class Windows.ApplicationModel.Background.BluetoothLEAdvertisementWatcherTrigger {
+   public BluetoothSignalStrengthFilter SignalStrengthFilter { get; set; }
+   public BluetoothLEAdvertisementFilter AdvertisementFilter { get; set; }
+   public TimeSpan MaxOutOfRangeTimeout { get; }
+   public TimeSpan MaxSamplingInterval { get; }
+   public TimeSpan MinOutOfRangeTimeout { get; }
+   public TimeSpan MinSamplingInterval { get; }
+   public BluetoothLEAdvertisementWatcherTrigger();
+ }

+ public class Windows.ApplicationModel.Background.CachedFileUpdaterTrigger {
+   public CachedFileUpdaterTrigger();
+ }

+ public class Windows.ApplicationModel.Background.CachedFileUpdaterTriggerDetails {
+   public bool CanRequestUserInput { get; }
+   public FileUpdateRequest UpdateRequest { get; }
+   public CachedFileTarget UpdateTarget { get; }
+ }

+ public class Windows.ApplicationModel.Background.ChatMessageNotificationTrigger {
+   public ChatMessageNotificationTrigger();
+ }

+ public class Windows.ApplicationModel.Background.ContactStoreNotificationTrigger {
+   public ContactStoreNotificationTrigger();
+ }

+ public class Windows.ApplicationModel.Background.DeviceConnectionChangeTrigger {
+   public bool MaintainConnection { get; set; }
+   public bool CanMaintainConnection { get; }
+   public string DeviceId { get; }
+   public static IAsyncOperation<DeviceConnectionChangeTrigger> FromIdAsync( string deviceChangeTrigger );
+ }

+ public class Windows.ApplicationModel.Background.DeviceManufacturerNotificationTrigger {
+   public bool OneShot { get; }
+   public string TriggerQualifier { get; }
+   public DeviceManufacturerNotificationTrigger( string triggerQualifier, bool oneShot );
+ }

+ public class Windows.ApplicationModel.Background.EmailStoreNotificationTrigger {
+   public EmailStoreNotificationTrigger();
+ }

+ public class Windows.ApplicationModel.Background.GattCharacteristicNotificationTrigger {
+   public GattCharacteristic Characteristic { get; }
+   public GattCharacteristicNotificationTrigger( GattCharacteristic characteristic );
+ }

+ public interface Windows.ApplicationModel.Background.IBackgroundTaskRegistration2 {
+   public IBackgroundTrigger Trigger { get; }
+ }

+ public class Windows.ApplicationModel.Background.MediaProcessingTrigger {
+   public MediaProcessingTrigger();
+   public IAsyncOperation<MediaProcessingTriggerResult> RequestAsync();
+   public IAsyncOperation<MediaProcessingTriggerResult> RequestAsync( ValueSet result );
+ }

+ public class Windows.ApplicationModel.Background.MediaProcessingTriggerDetails {
+   public ValueSet Arguments { get; }
+ }

+ public enum Windows.ApplicationModel.Background.MediaProcessingTriggerResult {
+   Allowed = 0,
+   CurrentlyRunning = 1,
+   DisabledByPolicy = 2,
+   UnknownError = 3,
+ }

+ public class Windows.ApplicationModel.Background.PhoneTrigger {
+   public bool OneShot { get; }
+   public PhoneTriggerType TriggerType { get; }
+   public PhoneTrigger( PhoneTriggerType type, bool oneShot );
+ }

+ public class Windows.ApplicationModel.Background.RfcommConnectionTrigger {
+   public HostName RemoteHostName { get; set; }
+   public SocketProtectionLevel ProtectionLevel { get; set; }
+   public bool AllowMultipleConnections { get; set; }
+   public RfcommInboundConnectionInformation InboundConnection { get; }
+   public RfcommOutboundConnectionInformation OutboundConnection { get; }
+   public RfcommConnectionTrigger();
+ }

+ public class Windows.ApplicationModel.Background.SensorDataThresholdTrigger {
+   public SensorDataThresholdTrigger( ISensorDataThreshold threshold );
+ }

+ public class Windows.ApplicationModel.Background.SmsMessageReceivedTrigger {
+   public SmsMessageReceivedTrigger( SmsFilterRules filterRules );
+ }

+ public class Windows.ApplicationModel.Background.SocketActivityTrigger {
+   public SocketActivityTrigger();
+ }

+ public class Windows.ApplicationModel.Background.ToastNotificationHistoryChangedTrigger {
+   public ToastNotificationHistoryChangedTrigger( string applicationId );
+   public ToastNotificationHistoryChangedTrigger();
+ }

+ public struct Windows.ApplicationModel.Calls.LockScreenCallContract {
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneAudioRoutingEndpoint {
+   Default = 0,
+   Bluetooth = 1,
+   Speakerphone = 2,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogEntry {
+   public bool IsEmergency { get; set; }
+   public bool IsCallerIdBlocked { get; set; }
+   public bool IsSeen { get; set; }
+   public IReference<TimeSpan> Duration { get; set; }
+   public PhoneCallLogEntryDirection Direction { get; set; }
+   public PhoneCallLogEntryAddress Address { get; set; }
+   public DateTime StartTime { get; set; }
+   public string RemoteId { get; set; }
+   public PhoneCallLogEntryKind Kind { get; set; }
+   public bool IsVoicemail { get; set; }
+   public bool IsSuppressed { get; set; }
+   public string Id { get; }
+   public string ProviderId { get; }
+   public PhoneCallLogEntry();
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogEntryAddress {
+   public string RawAddress { get; set; }
+   public string DisplayName { get; set; }
+   public PhoneCallLogEntryAddress();
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogEntryDirection {
+   Outgoing = 0,
+   IncomingAnswered = 1,
+   IncomingMissed = 2,
+   IncomingRinging = 3,
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogEntryKind {
+   CellularAudio = 0,
+   CellularVideo = 1,
+   VoipAudio = 2,
+   VoipVideo = 3,
+   VoipPstn = 4,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogEntryMatchReason {
+   public PhoneCallLogEntryMatchReasonField MatchedField { get; }
+   public IVectorView<TextSegment> MatchedSegments { get; }
+   public string MatchedText { get; }
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogEntryMatchReasonField {
+   DisplayName = 0,
+   RawAddress = 1,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogEntryQuery {
+   public string SearchText { get; set; }
+   public PhoneCallLogEntryQueryKinds Kinds { get; set; }
+   public PhoneCallLogEntryQueryDirections Directions { get; set; }
+   public IVector<string> PhoneCallLogEntryProviderIds { get; }
+   public PhoneCallLogEntryQuery();
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogEntryQueryDirections {
+   None = 0,
+   Outgoing = 1,
+   IncomingAnswered = 2,
+   IncomingMissed = 4,
+   IncomingRinging = 8,
+   All = 4294967295,
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogEntryQueryKinds {
+   None = 0,
+   CellularAudio = 1,
+   CellularVideo = 2,
+   VoipAudio = 4,
+   VoipVideo = 8,
+   VoipPstn = 16,
+   All = 4294967295,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogEntryReader {
+   public IVectorView<PhoneCallLogEntryMatchReason> GetMatchingPropertiesWithMatchReason( PhoneCallLogEntry result );
+   public IAsyncOperation<IVectorView<PhoneCallLogEntry>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogManager {
+   public static IAsyncOperation<PhoneCallLogStore> RequestCallLogStoreAsync( PhoneCallLogStoreAccessType result );
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogProvider {
+   public PhoneCallLogProviderOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public PhoneCallLogProviderOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public string DisplayName { get; set; }
+   public string Id { get; }
+   public string SourceDisplayName { get; }
+   public IAsyncAction SaveAsync();
+   public IAsyncAction DeleteAsync();
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogProviderOtherAppReadAccess {
+   SystemOnly = 0,
+   Full = 1,
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogProviderOtherAppWriteAccess {
+   None = 0,
+   Limited = 1,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallLogStore {
+   public IAsyncOperation<PhoneCallLogEntry> GetPhoneCallLogEntryAsync( string result );
+   public PhoneCallLogEntryReader GetCallLogEntryReader();
+   public PhoneCallLogEntryReader GetCallLogEntryReader( PhoneCallLogEntryQuery result );
+   public IAsyncAction SavePhoneCallLogEntryAsync( PhoneCallLogEntry result );
+   public IAsyncAction MarkPhoneCallLogEntriesAsSeenAsync( IVector<PhoneCallLogEntry> result );
+   public IAsyncAction MarkPhoneCallLogEntryAsSeenAsync( PhoneCallLogEntry result );
+   public IAsyncAction DeletePhoneCallLogEntriesAsync( IVector<PhoneCallLogEntry> result );
+   public IAsyncAction DeletePhoneCallLogEntryAsync( PhoneCallLogEntry result );
+   public IAsyncOperation<PhoneCallLogProvider> CreatePhoneCallLogProviderAsync( string result );
+   public IAsyncOperation<PhoneCallLogProvider> GetPhoneCallLogProviderAsync();
+   public IAsyncOperation<IVectorView<PhoneCallLogProvider>> GetPhoneCallLogProvidersAsync();
+   public IAsyncOperation<uint> GetPhoneCallLogProvidersUnseenCountAsync( IVectorView<PhoneCallLogProvider> result );
+   public IAsyncOperation<uint> GetPhoneCallLogProvidersUnseenCountAsync();
+   public IAsyncAction MarkPhoneCallLogProvidersAsSeenAsync( IVectorView<PhoneCallLogProvider> result );
+   public IAsyncAction MarkPhoneCallLogProvidersAsSeenAsync();
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallLogStoreAccessType {
+   AppProvidersReadWrite = 0,
+   AllProvidersReadOnly = 1,
+   AllProvidersReadWrite = 2,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallManager {
+   public bool IsCallActive { get; }
+   public bool IsCallIncoming { get; }
+   public static void ShowPhoneCallSettingsUI();
+   public static IAsyncOperation<PhoneCallStore> RequestStoreAsync();
+   public static void ShowPhoneCallUI( string phoneNumber, string displayName );
+   EventHandler<object> CallStateChanged;
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneCallMedia {
+   Audio = 0,
+   AudioAndVideo = 1,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneCallStore {
+   public IAsyncOperation<bool> IsEmergencyPhoneNumberAsync( string result );
+   public IAsyncOperation<IObservableMap<Guid, PhoneLine>> GetPhoneLinesAsync();
+   public IAsyncAction SaveDefaultLineAsync( Guid result );
+   public IAsyncOperation<Guid> GetDefaultLineAsync();
+   public PhoneLineWatcher RequestLineWatcher();
+ }

+ public class Windows.ApplicationModel.Calls.PhoneDialOptions {
+   public string Number { get; set; }
+   public PhoneCallMedia Media { get; set; }
+   public string DisplayName { get; set; }
+   public ContactPhone ContactPhone { get; set; }
+   public Contact Contact { get; set; }
+   public PhoneAudioRoutingEndpoint AudioEndpoint { get; set; }
+   public PhoneDialOptions();
+ }

+ public class Windows.ApplicationModel.Calls.PhoneLine {
+   public bool CanDial { get; }
+   public PhoneLineCellularDetails CellularDetails { get; }
+   public Color DisplayColor { get; }
+   public string DisplayName { get; }
+   public Guid Id { get; }
+   public bool IsCallFilteringEnabled { get; }
+   public string NetworkName { get; }
+   public PhoneLineNetworkOperatorDisplayOptions NetworkOperatorDisplayOptions { get; }
+   public PhoneNetworkState NetworkState { get; }
+   public bool SupportsTile { get; }
+   public PhoneLineTransport Transport { get; }
+   public PhoneVoicemail Voicemail { get; }
+   public IAsyncOperation<bool> IsImmediateDialNumberAsync( string result );
+   public void Dial( string number, string displayName );
+   public void DialWithOptions( PhoneDialOptions options );
+   public static IAsyncOperation<PhoneLine> FromIdAsync( Guid result );
+   TypedEventHandler<PhoneLine, object> LineChanged;
+ }

+ public class Windows.ApplicationModel.Calls.PhoneLineCellularDetails {
+   public bool IsModemOn { get; }
+   public uint RegistrationRejectCode { get; }
+   public uint SimSlotIndex { get; }
+   public PhoneSimState SimState { get; }
+ }

+ public class Windows.ApplicationModel.Calls.PhoneLineNetworkOperatorDisplayOptions {
+   public bool ShouldDisplayEmergencyCallState { get; }
+   public bool ShouldDisplayExtendedRejectCodes { get; }
+   public bool ShouldDisplayNetworkStateInCallHistory { get; }
+   public bool ShouldDisplayNetworkStateInDialer { get; }
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneLineTransport {
+   Cellular = 0,
+   VoipApp = 1,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneLineWatcher {
+   public PhoneLineWatcherStatus Status { get; }
+   public void Start();
+   public void Stop();
+   TypedEventHandler<PhoneLineWatcher, object> EnumerationCompleted;
+   TypedEventHandler<PhoneLineWatcher, PhoneLineWatcherEventArgs> LineAdded;
+   TypedEventHandler<PhoneLineWatcher, PhoneLineWatcherEventArgs> LineRemoved;
+   TypedEventHandler<PhoneLineWatcher, PhoneLineWatcherEventArgs> LineUpdated;
+   TypedEventHandler<PhoneLineWatcher, object> Stopped;
+ }

+ public class Windows.ApplicationModel.Calls.PhoneLineWatcherEventArgs {
+   public Guid LineId { get; }
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneLineWatcherStatus {
+   Created = 0,
+   Started = 1,
+   EnumerationCompleted = 2,
+   Stopped = 3,
+   Aborted = 4,
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneNetworkState {
+   Unknown = 0,
+   NoSignal = 1,
+   Deregistered = 2,
+   Denied = 3,
+   Searching = 4,
+   Home = 5,
+   RoamingInternational = 6,
+   RoamingDomestic = 7,
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneSimState {
+   Unknown = 0,
+   PinNotRequired = 1,
+   PinUnlocked = 2,
+   PinLocked = 3,
+   PukLocked = 4,
+   NotInserted = 5,
+   Invalid = 6,
+   Disabled = 7,
+ }

+ public class Windows.ApplicationModel.Calls.PhoneVoicemail {
+   public uint MessageCount { get; }
+   public string Number { get; }
+   public PhoneVoicemailType Type { get; }
+   public IAsyncAction DialVoicemailAsync();
+ }

+ public enum Windows.ApplicationModel.Calls.PhoneVoicemailType {
+   None = 0,
+   Traditional = 1,
+   Visual = 2,
+ }

+ public class Windows.ApplicationModel.Calls.Background.PhoneCallStateChangedTriggerDetails {
+   public uint ActiveCallCount { get; }
+   public uint EndedCallCount { get; }
+   public uint IncomingCallCount { get; }
+ }

+ public enum Windows.ApplicationModel.Calls.Background.PhoneLineChangeType {
+   Added = 0,
+   Removed = 1,
+   Changed = 2,
+ }

+ public class Windows.ApplicationModel.Calls.Background.PhoneLineChangedTriggerDetails {
+   public PhoneLineChangeType ChangeType { get; }
+   public Guid LineId { get; }
+   public bool HasLinePropertyChanged( PhoneLineProperties pResult );
+ }

+ public enum Windows.ApplicationModel.Calls.Background.PhoneLineProperties {
+   None = 0,
+   BrandingOptions = 1,
+   CanDial = 2,
+   CellularDetails = 4,
+   DisplayColor = 8,
+   Name = 16,
+   NetworkName = 32,
+   NetworkState = 64,
+   Transport = 128,
+   Voicemail = 256,
+ }

+ public enum Windows.ApplicationModel.Calls.Background.PhoneTriggerType {
+   CallStateChanged = 0,
+   NewVoicemailMessage = 1,
+   CallHistoryChanged = 2,
+   LineChanged = 3,
+   AirplaneModeDisabledForEmergencyCall = 4,
+ }

+ public class Windows.ApplicationModel.Calls.Background.PhoneVoicemailCountChangedTriggerDetails {
+   public Guid LineId { get; }
+   public uint VoicemailCount { get; }
+   public string VoicemailMessage { get; }
+ }

+ public class Windows.ApplicationModel.Chat.ChatConversation {
+   public bool IsConversationMuted { get; set; }
+   public bool HasUnreadMessages { get; }
+   public string Id { get; }
+   public string MostRecentMessageId { get; }
+   public IVector<string> Participants { get; }
+   public ChatConversationThreadingInfo ThreadingInfo { get; }
+   public IAsyncAction DeleteAsync();
+   public ChatMessageReader GetMessageReader();
+   public IAsyncAction MarkAsReadAsync();
+   public IAsyncAction SaveAsync();
+ }

+ public class Windows.ApplicationModel.Chat.ChatConversationReader {
+   public IAsyncOperation<IVectorView<ChatConversation>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Chat.ChatConversationThreadingInfo {
+   public ChatConversationThreadingType Type { get; set; }
+   public string Custom { get; set; }
+   public string ConversationId { get; set; }
+   public string ContactId { get; set; }
+   public IVector<string> Participants { get; }
+   public ChatConversationThreadingInfo();
+ }

+ public enum Windows.ApplicationModel.Chat.ChatConversationThreadingType {
+   Participants = 0,
+   Contact = 1,
+   ConversationId = 2,
+   Custom = 3,
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessage {
+   public DateTime LocalTimestamp { get; set; }
+   public bool IsRead { get; set; }
+   public ChatMessageStatus Status { get; set; }
+   public bool IsIncoming { get; set; }
+   public bool IsForwardingDisabled { get; set; }
+   public string TransportId { get; set; }
+   public DateTime NetworkTimestamp { get; set; }
+   public string From { get; set; }
+   public string Body { get; set; }
+   public string Id { get; }
+   public IVector<ChatMessageAttachment> Attachments { get; }
+   public IMapView<string, ChatMessageStatus> RecipientSendStatuses { get; }
+   public IVector<string> Recipients { get; }
+   public string Subject { get; }
+   public string TransportFriendlyName { get; }
+   public bool SupressNotification { get; set; }
+   public string RemoteId { get; set; }
+   public ChatMessageType MessageType { get; set; }
+   public ChatConversationThreadingInfo ThreadingInfo { get; set; }
+   public bool IsDraft { get; set; }
+   public ulong DownloadSize { get; set; }
+   public bool IsSIMMessage { get; }
+   public IVector<ChatRecipient> RecipientsInfo { get; }
+   public ChatMessage();
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageAttachment {
+   public string Text { get; set; }
+   public string MimeType { get; set; }
+   public uint GroupId { get; set; }
+   public IRandomAccessStreamReference DataStreamReference { get; set; }
+   public ChatMessageAttachment( string mimeType, IRandomAccessStreamReference dataStreamReference );
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageChange {
+   public ChatMessageChangeType ChangeType { get; }
+   public ChatMessage Message { get; }
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( ChatMessageChange lastChangeToAcknowledge );
+   public IAsyncOperation<IVectorView<ChatMessageChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageChangeTracker {
+   public void Enable();
+   public ChatMessageChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageChangeType {
+   MessageCreated = 0,
+   MessageModified = 1,
+   MessageDeleted = 2,
+   ChangeTrackingLost = 3,
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageChangedEventArgs {
+   public ChatMessageChangedDeferral GetDeferral();
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageManager {
+   public static string TryRegisterAsTransportAsync();
+   public static IAsyncOperation<IVectorView<ChatMessageTransport>> GetTransportsAsync();
+   public static IAsyncOperation<ChatMessageStore> RequestStoreAsync();
+   public static IAsyncAction ShowComposeSmsMessageAsync( ChatMessage value );
+   public static void ShowSmsSettings();
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageNotificationAction {
+   None = 0,
+   Poke = 1,
+   Toast = 2,
+   Tile = 4,
+   Badge = 8,
+   ActionCenter = 16,
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageNotificationPretreatment {
+   AutoReplied = 1,
+   PlayedOverSpeech = 2,
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageNotificationTriggerDetails {
+   public ChatMessage ChatMessage { get; }
+   public ChatMessageNotificationAction Actions { get; }
+   public ChatMessageNotificationPretreatment Pretreatments { get; }
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageReader {
+   public IAsyncOperation<IVectorView<ChatMessage>> ReadBatchAsync();
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageStatus {
+   Draft = 0,
+   Sending = 1,
+   Sent = 2,
+   SendRetryNeeded = 3,
+   SendFailed = 4,
+   Received = 5,
+   ReceiveDownloadNeeded = 6,
+   ReceiveDownloadFailed = 7,
+   ReceiveDownloading = 8,
+   Deleted = 9,
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageStore {
+   public ChatMessageChangeTracker ChangeTracker { get; }
+   public IAsyncAction DeleteMessageAsync( string value );
+   public IAsyncAction DownloadMessageAsync( string value );
+   public IAsyncOperation<ChatMessage> GetMessageAsync( string value );
+   public ChatMessageReader GetMessageReader();
+   public ChatMessageReader GetMessageReader( TimeSpan value );
+   public IAsyncAction MarkMessageReadAsync( string value );
+   public IAsyncAction RetrySendMessageAsync( string value );
+   public IAsyncAction SendMessageAsync( ChatMessage value );
+   public ChatMessageValidationResult ValidateMessage( ChatMessage value );
+   public IAsyncOperation<ChatConversation> GetConversationAsync( string value );
+   public IAsyncOperation<ChatConversation> GetConversationAsync( string value, IVectorView<string> id );
+   public ChatConversationReader GetConversationReader();
+   public ChatConversationReader GetConversationReader( IVectorView<string> value );
+   public IAsyncOperation<ChatMessage> GetMessageByRemoteIdAsync( string value, string transportId );
+   public IAsyncOperation<uint> GetUnseenCountAsync();
+   public IAsyncOperation<uint> GetUnseenCountAsync( IVectorView<string> value );
+   public IAsyncAction MarkAsSeenAsync();
+   public IAsyncAction MarkAsSeenAsync( IVectorView<string> value );
+   public IAsyncAction SaveMessageAsync( ChatMessage value );
+   TypedEventHandler<ChatMessageStore, ChatMessageChangedEventArgs> MessageChanged;
+   TypedEventHandler<ChatMessageStore, ChatStoreChangedEventArgs> StoreChanged;
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageTransport {
+   public bool IsActive { get; }
+   public bool IsAppSetAsNotificationProvider { get; }
+   public string TransportFriendlyName { get; }
+   public string TransportId { get; }
+   public ChatMessageTransportSettings Settings { get; }
+   public IAsyncAction RequestSetAsNotificationProviderAsync();
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageTransportSettings {
+   public uint AttachmentLimit { get; }
+   public uint MaxSize { get; }
+   public uint RecipientLimit { get; }
+   public ChatMessageVideoFormat VideoFormat { get; }
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageType {
+   Standard = 0,
+   AutoReply = 1,
+   ReceivedDuringQuiteHours = 2,
+   FileTransferRequest = 3,
+   TransportCustom = 4,
+ }

+ public class Windows.ApplicationModel.Chat.ChatMessageValidationResult {
+   public IReference<uint> MaxPartCount { get; }
+   public IReference<uint> PartCount { get; }
+   public IReference<uint> RemainingCharacterCountInPart { get; }
+   public ChatMessageValidationStatus Status { get; }
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageValidationStatus {
+   Valid = 0,
+   NoRecipients = 1,
+   InvalidData = 2,
+   MessageTooLarge = 3,
+   TooManyRecipients = 4,
+   TransportInactive = 5,
+   TransportNotFound = 6,
+   TooManyAttachments = 7,
+   InvalidRecipients = 8,
+   InvalidBody = 9,
+   InvalidOther = 10,
+ }

+ public enum Windows.ApplicationModel.Chat.ChatMessageVideoFormat {
+   H264_AAC_MP4 = 0,
+   H254_AAC_3GP = 1,
+   H263_AMRNB_3GP = 2,
+   MPEG4_AMRNB_3GP = 3,
+ }

+ public class Windows.ApplicationModel.Chat.ChatRecipient {
+   public ChatRecipientStatus Status { get; set; }
+   public IReference<DateTime> ReadTime { get; set; }
+   public IReference<DateTime> DeliveryTime { get; set; }
+   public string Address { get; set; }
+   public ChatRecipient();
+ }

+ public class Windows.ApplicationModel.Chat.ChatRecipientStatus {
+   public IReference<uint> Result { get; set; }
+   public bool HasPermanentError { get; set; }
+   public IReference<uint> ErrorCode2 { get; set; }
+   public IReference<uint> ErrorCode1 { get; set; }
+   public ChatRecipientStatus();
+ }

+ public class Windows.ApplicationModel.Chat.ChatStoreChangedEventArgs {
+   public string Id { get; }
+   public ChatStoreChangedEventType Type { get; }
+ }

+ public enum Windows.ApplicationModel.Chat.ChatStoreChangedEventType {
+   Lost = 0,
+   StoreModified = 1,
+   MessageCreated = 2,
+   MessageModified = 3,
+   MessageDeleted = 4,
+   ConversationModified = 5,
+   ConversationDeleted = 6,
+   ConversationTransportDeleted = 7,
+ }

| public class Windows.ApplicationModel.Contacts.Contact {
+   public string RemoteId { get; set; }
+   public IRandomAccessStreamReference SourceDisplayPicture { get; set; }
+   public IRandomAccessStreamReference RingTone { get; set; }
+   public IRandomAccessStreamReference TextTone { get; set; }
+   public DateTime CurrentDisplayPictureUserUpdateTime { get; set; }
+   public bool IsMe { get; }
+   public ContactKind Kind { get; }
+   public IRandomAccessStreamReference LargeDisplayPicture { get; }
+   public string AccountId { get; }
+   public string AggregateId { get; }
+   public IRandomAccessStreamReference SmallDisplayPicture { get; }
+   public bool DisplayPictureIsManuallySet { get; }
| }

+ public class Windows.ApplicationModel.Contacts.ContactAccount {
+   public ContactSyncFieldMaxCount SyncFieldMaxCount { get; set; }
+   public ContactAccountOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public ContactAccountOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public bool IsHidden { get; set; }
+   public string AccountName { get; set; }
+   public string AccountId { get; }
+   public ContactChangeTracker ContactChangeTracker { get; }
+   public IAsyncAction SaveAsync();
+   public IAsyncAction DeleteAsync();
+   public IAsyncOperation<Contact> GetContactFromRemoteIdAsync( string contact );
+   public IAsyncOperation<Contact> GetMeContactAsync();
+   public ContactReader GetContactReader();
+   public ContactReader GetContactReader( ContactReaderOptions value );
+   public IAsyncAction SaveContactAsync( Contact value );
+   public IAsyncAction DeleteContactAsync( string value );
+   public IAsyncOperation<Contact> GetContactAsync( string contacts );
+   TypedEventHandler<ContactAccount, ContactChangedEventArgs> ContactChanged;
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactAccountOtherAppReadAccess {
+   SystemOnly = 0,
+   Limited = 1,
+   Full = 2,
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactAccountOtherAppWriteAccess {
+   None = 0,
+   SystemOnly = 1,
+ }

+ public class Windows.ApplicationModel.Contacts.ContactChange {
+   public ContactChangeType ChangeType { get; }
+   public Contact Contact { get; }
+ }

+ public class Windows.ApplicationModel.Contacts.ContactChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( ContactChange lastChangeToAcknowledge );
+   public IAsyncOperation<IVectorView<ContactChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactChangeTracker {
+   public void Enable();
+   public ContactChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactChangeType {
+   ContactCreated = 0,
+   ContactModified = 1,
+   ContactDeleted = 2,
+   ChangeTrackingLost = 3,
+ }

+ public class Windows.ApplicationModel.Contacts.ContactChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactChangedEventArgs {
+   public ContactChangedDeferral GetDeferral();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroup {
+   public ContactGroupKind Kind { get; set; }
+   public string DisplayName { get; set; }
+   public string Id { get; }
+   public IVector<string> MemberIds { get; }
+   public ContactGroup();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroupChange {
+   public ContactGroupChangeType ChangeType { get; }
+   public ContactGroup ContactGroup { get; }
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroupChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( ContactGroupChange lastChangeToAcknowledge );
+   public IAsyncOperation<IVectorView<ContactGroupChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroupChangeTracker {
+   public void Enable();
+   public ContactGroupChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactGroupChangeType {
+   ContactGroupCreated = 0,
+   ContactGroupModified = 1,
+   ContactGroupDeleted = 2,
+   ChangeTrackingLost = 3,
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroupChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactGroupChangedEventArgs {
+   public ContactGroupChangedDeferral GetDeferral();
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactGroupKind {
+   Default = 0,
+   Room = 1,
+   SpeedDial = 2,
+   Custom = 65535,
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactKind {
+   Component = 0,
+   Aggregate = 1,
+ }

| public class Windows.ApplicationModel.Contacts.ContactManager {
+   public static IAsyncOperation<RandomAccessStreamReference> ConvertContactToVCardAsync( Contact vCard );
+   public static IAsyncOperation<RandomAccessStreamReference> ConvertContactToVCardAsync( Contact vCard, uint contact );
+   public static IAsyncOperation<Contact> ConvertVCardToContactAsync( RandomAccessStreamReference contact );
+   public static IAsyncOperation<ContactStore> RequestStoreAsync( ContactStoreAccessType store );
+   public static IAsyncOperation<ContactStore> RequestStoreAsync();
| }

| public class Windows.ApplicationModel.Contacts.ContactPhone {
+   public bool IsSkypable { get; set; }
| }

+ public class Windows.ApplicationModel.Contacts.ContactReader {
+   public IAsyncOperation<IVectorView<Contact>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Contacts.ContactReaderOptions {
+   public string SearchText { get; set; }
+   public ContactReaderSearchFields SearchFields { get; set; }
+   public ContactReaderRequiredFields RequiredFields { get; set; }
+   public bool OnlyLoadDisplayProperties { get; set; }
+   public bool IncludeHidden { get; set; }
+   public IVector<string> AccountIds { get; }
+   public ContactReaderOptions();
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactReaderRequiredFields {
+   NoneRequired = 0,
+   PhoneNumberRequired = 1,
+   EmailAddressRequired = 2,
+   PostalAddressRequired = 4,
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactReaderSearchFields {
+   Name = 1,
+   Email = 2,
+   Phone = 4,
+   All = 65535,
+ }

| public class Windows.ApplicationModel.Contacts.ContactSignificantOther {
+   public ContactSignificantOtherKind Kind { get; set; }
| }

+ public enum Windows.ApplicationModel.Contacts.ContactSignificantOtherKind {
+   Spouse = 0,
+   Partner = 1,
+   Sibling = 2,
+   Parent = 3,
+   Child = 4,
+   Other = 5,
+ }

+ public class Windows.ApplicationModel.Contacts.ContactStore {
+   public ContactChangeTracker ContactChangeTracker { get; }
+   public ContactGroupChangeTracker ContactGroupChangeTracker { get; }
+   public IAsyncOperation<IVectorView<Contact>> FindContactsAsync();
+   public IAsyncOperation<IVectorView<Contact>> FindContactsAsync( string contacts );
+   public IAsyncOperation<Contact> GetContactAsync( string contacts );
+   public IAsyncOperation<IVectorView<Contact>> FindComponentsAsync( string value );
+   public IAsyncAction LinkAggregateContactsAsync( string value, string primaryAggregateContactId );
+   public IAsyncAction UnlinkFromAggregateContactAsync( string value, string aggregateContactId );
+   public IAsyncOperation<IVectorView<ContactAccount>> FindContactAccountsAsync();
+   public IAsyncOperation<ContactAccount> GetContactAccountAsync( string value );
+   public IAsyncOperation<ContactAccount> CreateContactAccountAsync( string value );
+   public IAsyncOperation<IVectorView<ContactGroup>> FindContactGroupsAsync();
+   public IAsyncOperation<ContactGroup> GetContactGroupAsync( string value );
+   public IAsyncAction SaveContactGroupAsync( ContactGroup value );
+   public IAsyncAction DeleteContactGroupAsync( string value );
+   public IAsyncOperation<Contact> GetMeAggregateContactAsync();
+   public ContactReader GetContactReader();
+   public ContactReader GetContactReader( ContactReaderOptions value );
+   public IAsyncAction SaveAggregateContactAsync( Contact value );
+   TypedEventHandler<ContactStore, ContactChangedEventArgs> ContactChanged;
+   TypedEventHandler<ContactStore, ContactGroupChangedEventArgs> ContactGroupChanged;
+ }

+ public enum Windows.ApplicationModel.Contacts.ContactStoreAccessType {
+   AppContactsReadWrite = 0,
+   AllContactsReadOnly = 1,
+   AllContactsReadWrite = 2,
+ }

+ public struct Windows.ApplicationModel.Contacts.ContactSyncFieldMaxCount {
+   public bool SupportsDestription;
+   public bool UseFirstNameOnly;
+   public uint MaxHomePhone;
+   public uint MaxWorkPhone;
+   public uint MaxMobilePhone;
+   public uint MaxCompanyPhone;
+   public uint MaxPagerPhone;
+   public uint MaxHomeFaxPhone;
+   public uint MaxWorkFaxPhone;
+   public uint MaxHomeEmail;
+   public uint MaxWorkEmail;
+   public uint MaxOtherEmail;
+   public uint MaxHomeAddress;
+   public uint MaxWorkAddress;
+   public uint MaxOtherAddress;
+   public uint MaxWebsite;
+   public uint MaxParent;
+   public uint MaxChildren;
+   public uint MaxSiblings;
+ }

+ public class Windows.ApplicationModel.ContactsTemp.AggregateContactManager {
+   public IAsyncOperation<IVectorView<Contact>> FindRawContactsAsync( Contact value );
+   public IAsyncOperation<Contact> TryLinkContactsAsync( Contact contact, Contact primaryContact );
+   public IAsyncAction UnlinkRawContactAsync( Contact value );
+   public IAsyncAction SaveAggregateContactAsync( Contact value );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.Contact {
+   public IRandomAccessStreamReference Thumbnail { get; set; }
+   public string Name { get; set; }
+   public IVector<IContactField> Fields { get; }
+   public string Notes { get; set; }
+   public string Id { get; set; }
+   public IVector<string> DataSuppliers { get; }
+   public IVector<ContactEmail> Emails { get; }
+   public IVector<ContactAddress> Addresses { get; }
+   public IVector<ContactDate> ImportantDates { get; }
+   public IVector<ContactJobInfo> JobInfo { get; }
+   public IVector<ContactConnectedServiceAccount> ConnectedServiceAccounts { get; }
+   public IVector<ContactPhone> Phones { get; }
+   public IPropertySet ProviderProperties { get; }
+   public IVector<ContactSignificantOther> SignificantOthers { get; }
+   public IVector<ContactWebsite> Websites { get; }
+   public string RemoteId { get; set; }
+   public IRandomAccessStreamReference RingTone { get; set; }
+   public IRandomAccessStreamReference SourceDisplayPicture { get; set; }
+   public IRandomAccessStreamReference TextTone { get; set; }
+   public DateTime DisplayPictureUserUpdateTime { get; set; }
+   public string ManualDisplayName { get; set; }
+   public string Nickname { get; set; }
+   public IRandomAccessStreamReference LargeDisplayPicture { get; }
+   public string AggregateId { get; }
+   public string FullName { get; }
+   public string ContactListId { get; }
+   public IRandomAccessStreamReference SmallDisplayPicture { get; }
+   public bool IsAggregate { get; }
+   public bool IsDisplayPictureManuallySet { get; }
+   public bool IsMe { get; }
+   public string YomiGivenName { get; set; }
+   public string LastName { get; set; }
+   public string MiddleName { get; set; }
+   public string YomiFamilyName { get; set; }
+   public string HonorificNameSuffix { get; set; }
+   public string HonorificNamePrefix { get; set; }
+   public string FirstName { get; set; }
+   public string YomiDisplayName { get; }
+   public string DisplayName { get; }
+   public Contact();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactAddress {
+   public string StreetAddress { get; set; }
+   public string Region { get; set; }
+   public string PostalCode { get; set; }
+   public string Locality { get; set; }
+   public ContactAddressKind Kind { get; set; }
+   public string Description { get; set; }
+   public string Country { get; set; }
+   public ContactAddress();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactAddressKind {
+   Home = 0,
+   Work = 1,
+   Other = 2,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactBatch {
+   public IVectorView<Contact> Contacts { get; }
+   public ContactBatchStatus Status { get; }
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactBatchStatus {
+   Success = 0,
+   ServerSearchPartnershipError = 1,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactCardDelayedDataLoader {
+   public void SetData( Contact contact );
+   public void Close();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactChange {
+   public ContactChangeType ChangeType { get; }
+   public Contact Contact { get; }
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( ContactChange lastChangeToAccept );
+   public IAsyncOperation<IVectorView<ContactChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactChangeTracker {
+   public void Enable();
+   public ContactChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactChangeType {
+   Created = 0,
+   Modified = 1,
+   Deleted = 2,
+   ChangeTrackingLost = 3,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactChangedEventArgs {
+   public ContactChangedDeferral GetDeferral();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactConnectedServiceAccount {
+   public string ServiceName { get; set; }
+   public string Id { get; set; }
+   public ContactConnectedServiceAccount();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactDate {
+   public IReference<int> Year { get; set; }
+   public IReference<uint> Month { get; set; }
+   public ContactDateKind Kind { get; set; }
+   public string Description { get; set; }
+   public IReference<uint> Day { get; set; }
+   public ContactDate();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactDateKind {
+   Birthday = 0,
+   Anniversary = 1,
+   Other = 2,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactEmail {
+   public ContactEmailKind Kind { get; set; }
+   public string Description { get; set; }
+   public string Address { get; set; }
+   public ContactEmail();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactEmailKind {
+   Personal = 0,
+   Work = 1,
+   Other = 2,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactField {
+   public ContactFieldCategory Category { get; }
+   public string Name { get; }
+   public ContactFieldType Type { get; }
+   public string Value { get; }
+   public ContactField( string value, ContactFieldType type );
+   public ContactField( string value, ContactFieldType type, ContactFieldCategory category );
+   public ContactField( string name, string value, ContactFieldType type, ContactFieldCategory category );
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactFieldCategory {
+   None = 0,
+   Home = 1,
+   Work = 2,
+   Mobile = 3,
+   Other = 4,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactFieldFactory {
+   public ContactFieldFactory();
+   public ContactField CreateField( string field, ContactFieldType value );
+   public ContactField CreateField( string field, ContactFieldType value, ContactFieldCategory type );
+   public ContactField CreateField( string field, string name, ContactFieldType value, ContactFieldCategory type );
+   public ContactLocationField CreateLocation( string field );
+   public ContactLocationField CreateLocation( string field, ContactFieldCategory unstructuredAddress );
+   public ContactLocationField CreateLocation( string field, ContactFieldCategory unstructuredAddress, string category, string street, string city, string region, string country );
+   public ContactInstantMessageField CreateInstantMessage( string field );
+   public ContactInstantMessageField CreateInstantMessage( string field, ContactFieldCategory userName );
+   public ContactInstantMessageField CreateInstantMessage( string field, ContactFieldCategory userName, string category, string service, Uri displayText );
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactFieldType {
+   Email = 0,
+   PhoneNumber = 1,
+   Location = 2,
+   InstantMessage = 3,
+   Custom = 4,
+   ConnectedServiceAccount = 5,
+   ImportantDate = 6,
+   Address = 7,
+   SignificantOther = 8,
+   Notes = 9,
+   Website = 10,
+   JobInfo = 11,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroup {
+   public ContactGroupKind Kind { get; set; }
+   public string DisplayName { get; set; }
+   public string Id { get; }
+   public IVector<string> MemberIds { get; }
+   public ContactGroup();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroupChange {
+   public ContactGroupChangeType ChangeType { get; }
+   public ContactGroup ContactGroup { get; }
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroupChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( ContactGroupChange lastChangeToAccept );
+   public IAsyncOperation<IVectorView<ContactGroupChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroupChangeTracker {
+   public void Enable();
+   public ContactGroupChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactGroupChangeType {
+   ContactGroupCreated = 0,
+   ContactGroupModified = 1,
+   ContactGroupDeleted = 2,
+   ChangeTrackingLost = 3,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroupChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactGroupChangedEventArgs {
+   public ContactGroupChangedDeferral GetDeferral();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactGroupKind {
+   Default = 0,
+   Room = 1,
+   SpeedDial = 2,
+   Custom = 65535,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactInformation {
+   public IVectorView<ContactField> CustomFields { get; }
+   public IVectorView<ContactField> Emails { get; }
+   public IVectorView<ContactInstantMessageField> InstantMessages { get; }
+   public IVectorView<ContactLocationField> Locations { get; }
+   public string Name { get; }
+   public IVectorView<ContactField> PhoneNumbers { get; }
+   public IAsyncOperation<IRandomAccessStreamWithContentType> GetThumbnailAsync();
+   public IVectorView<ContactField> QueryCustomFields( string value );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactInstantMessageField {
+   public ContactFieldCategory Category { get; }
+   public string Name { get; }
+   public ContactFieldType Type { get; }
+   public string Value { get; }
+   public string DisplayText { get; }
+   public Uri LaunchUri { get; }
+   public string Service { get; }
+   public string UserName { get; }
+   public ContactInstantMessageField( string userName );
+   public ContactInstantMessageField( string userName, ContactFieldCategory category );
+   public ContactInstantMessageField( string userName, ContactFieldCategory category, string service, string displayText, Uri verb );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactJobInfo {
+   public string Title { get; set; }
+   public string Office { get; set; }
+   public string Manager { get; set; }
+   public string Description { get; set; }
+   public string Department { get; set; }
+   public string CompanyYomiName { get; set; }
+   public string CompanyName { get; set; }
+   public string CompanyAddress { get; set; }
+   public ContactJobInfo();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactLaunchActionVerbs {
+   public string Call { get; }
+   public string Map { get; }
+   public string Message { get; }
+   public string Post { get; }
+   public string VideoCall { get; }
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactList {
+   public ContactListOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public ContactListOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public bool IsHidden { get; set; }
+   public string DisplayName { get; set; }
+   public ContactPropertiesConstraints Constraints { get; set; }
+   public ContactChangeTracker ChangeTracker { get; }
+   public string Id { get; }
+   public string SourceDisplayName { get; }
+   public bool SupportsServerSearch { get; }
+   public ContactListSyncAdapter SyncAdapter { get; }
+   public IAsyncAction SaveAsync();
+   public IAsyncAction DeleteAsync();
+   public IAsyncOperation<Contact> GetContactFromRemoteIdAsync( string contact );
+   public IAsyncOperation<Contact> GetMeContactAsync();
+   public ContactReader GetContactReader();
+   public ContactReader GetContactReader( ContactQuery value );
+   public IAsyncAction SaveContactAsync( Contact value );
+   public IAsyncAction DeleteContactAsync( Contact value );
+   public IAsyncOperation<Contact> GetContactAsync( string contacts );
+   TypedEventHandler<ContactList, ContactChangedEventArgs> ContactChanged;
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactListOtherAppReadAccess {
+   SystemOnly = 0,
+   Limited = 1,
+   Full = 2,
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactListOtherAppWriteAccess {
+   None = 0,
+   SystemOnly = 1,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactListSyncAdapter {
+   public ContactListSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+   public IAsyncOperation<bool> SyncAsync();
+   TypedEventHandler<ContactList, ContactListSyncStatusChangedEventArgs> SyncStatusChanged;
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactListSyncState {
+   Unknown = 0,
+   Idle = 1,
+   Syncing = 2,
+   Disconnected = 3,
+   Throttled = 4,
+   UserAttentionRequired = 5,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactListSyncStatusChangedEventArgs {
+   public ContactListSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactLocationField {
+   public ContactFieldCategory Category { get; }
+   public string Name { get; }
+   public ContactFieldType Type { get; }
+   public string Value { get; }
+   public string City { get; }
+   public string Country { get; }
+   public string PostalCode { get; }
+   public string Region { get; }
+   public string Street { get; }
+   public string UnstructuredAddress { get; }
+   public ContactLocationField( string unstructuredAddress );
+   public ContactLocationField( string unstructuredAddress, ContactFieldCategory category );
+   public ContactLocationField( string unstructuredAddress, ContactFieldCategory category, string street, string city, string region, string country, string postalCode );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactManager {
+   public static IAsyncOperation<RandomAccessStreamReference> ConvertContactToVCardAsync( Contact vCard );
+   public static IAsyncOperation<RandomAccessStreamReference> ConvertContactToVCardAsync( Contact vCard, uint contact );
+   public static IAsyncOperation<Contact> ConvertVCardToContactAsync( RandomAccessStreamReference contact );
+   public static IAsyncOperation<ContactStore> RequestStoreAsync( ContactStoreAccessType store );
+   public static IAsyncOperation<ContactStore> RequestStoreAsync();
+   public static void ShowContactCard( Contact contact, Rect selection );
+   public static void ShowContactCard( Contact contact, Rect selection, Placement preferredPlacement );
+   public static ContactCardDelayedDataLoader ShowDelayLoadedContactCard( Contact dataLoader, Rect contact, Placement selection );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactMatchReason {
+   public ContactMatchReasonType MatchedField { get; }
+   public IVectorView<TextSegment> MatchedSegments { get; }
+   public string MatchedText { get; }
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactMatchReasonType {
+   ContactName = 0,
+   ContactEmail = 1,
+   ContactPhone = 2,
+   ContactJobInfo = 3,
+   ContactYomiName = 4,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactPhone {
+   public string Number { get; set; }
+   public ContactPhoneKind Kind { get; set; }
+   public string Description { get; set; }
+   public ContactPhone();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactPhoneKind {
+   Home = 0,
+   Mobile = 1,
+   Work = 2,
+   Other = 3,
+   Pager = 4,
+   BusinessFax = 5,
+   HomeFax = 6,
+   Company = 7,
+   Assistant = 8,
+   Radio = 9,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactPropertiesConstraints {
+   public IReference<int> MaxPagerPhoneCount { get; set; }
+   public IReference<int> MaxOtherEmailCount { get; set; }
+   public IReference<int> MaxMobilePhoneCount { get; set; }
+   public IReference<int> MaxHomePhoneCount { get; set; }
+   public IReference<int> MaxChildCountCount { get; set; }
+   public IReference<int> MaxHomeFaxPhoneCount { get; set; }
+   public IReference<int> MaxHomeEmailCount { get; set; }
+   public IReference<int> MaxHomeAddressCount { get; set; }
+   public IReference<int> MaxCompanyPhoneCount { get; set; }
+   public IReference<int> MaxWorkEmailCount { get; set; }
+   public bool UseFirstNameOnly { get; set; }
+   public bool NoPropertyDescriptions { get; set; }
+   public IReference<int> MaxWorkPhoneCount { get; set; }
+   public IReference<int> MaxWorkFaxPhoneCount { get; set; }
+   public IReference<int> MaxWorkAddressCount { get; set; }
+   public IReference<int> MaxWebsiteCount { get; set; }
+   public IReference<int> MaxOtherAddressCount { get; set; }
+   public IReference<int> MaxSiblingCountCount { get; set; }
+   public IReference<int> MaxParentCount { get; set; }
+   public ContactPropertiesConstraints();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactQuery {
+   public string SearchText { get; set; }
+   public ContactQuerySearchFields SearchFields { get; set; }
+   public ContactQueryRequiredFields RequiredFields { get; set; }
+   public bool OnlyServerSearchResults { get; set; }
+   public bool IncludeContactsFromHiddenLists { get; set; }
+   public IVector<string> ContactListIds { get; }
+   public ContactQuery();
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactQueryRequiredFields {
+   None = 0,
+   PhoneNumber = 1,
+   EmailAddress = 2,
+   PostalAddress = 4,
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactQuerySearchFields {
+   None = 0,
+   Name = 1,
+   Email = 2,
+   Phone = 4,
+   All = 4294967295,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactReader {
+   public IAsyncOperation<ContactBatch> ReadBatchAsync();
+   public IVectorView<ContactMatchReason> GetMatchingPropertiesWithMatchReason( Contact ppRetVal );
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactRelationship {
+   Other = 0,
+   Spouse = 1,
+   Partner = 2,
+   Sibling = 3,
+   Parent = 4,
+   Child = 5,
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactSelectionMode {
+   Contacts = 0,
+   Fields = 1,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactSignificantOther {
+   public string Name { get; set; }
+   public string Description { get; set; }
+   public ContactRelationship Relationship { get; set; }
+   public ContactSignificantOther();
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactStore {
+   public AggregateContactManager AggregateContactManager { get; }
+   public ContactChangeTracker ChangeTracker { get; }
+   public ContactGroupChangeTracker GroupChangeTracker { get; }
+   public IAsyncOperation<IVectorView<Contact>> FindContactsAsync();
+   public IAsyncOperation<IVectorView<Contact>> FindContactsAsync( string contacts );
+   public IAsyncOperation<Contact> GetContactAsync( string contacts );
+   public IAsyncOperation<IVectorView<ContactList>> FindContactListsAsync();
+   public IAsyncOperation<ContactList> GetContactListAsync( string value );
+   public IAsyncOperation<ContactList> CreateContactListAsync( string value );
+   public IAsyncOperation<IVectorView<ContactGroup>> FindContactGroupsAsync();
+   public IAsyncOperation<ContactGroup> GetContactGroupAsync( string value );
+   public IAsyncAction SaveContactGroupAsync( ContactGroup value );
+   public IAsyncAction DeleteContactGroupAsync( ContactGroup value );
+   public IAsyncOperation<Contact> GetMeContactAsync();
+   public ContactReader GetContactReader();
+   public ContactReader GetContactReader( ContactQuery value );
+   TypedEventHandler<ContactStore, ContactChangedEventArgs> ContactChanged;
+   TypedEventHandler<ContactStore, ContactGroupChangedEventArgs> ContactGroupChanged;
+ }

+ public enum Windows.ApplicationModel.ContactsTemp.ContactStoreAccessType {
+   AppContactsReadWrite = 0,
+   AllContactsReadOnly = 1,
+   AllContactsReadWrite = 2,
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactStoreNotificationTriggerDetails {
+ }

+ public class Windows.ApplicationModel.ContactsTemp.ContactWebsite {
+   public Uri Uri { get; set; }
+   public string Description { get; set; }
+   public string RawUri { get; set; }
+   public ContactWebsite();
+ }

+ public interface Windows.ApplicationModel.ContactsTemp.IContactField {
+   public ContactFieldCategory Category { get; }
+   public string Name { get; }
+   public ContactFieldType Type { get; }
+   public string Value { get; }
+ }

+ public interface Windows.ApplicationModel.ContactsTemp.IContactFieldFactory {
+   public ContactField CreateField( string field, ContactFieldType value );
+   public ContactField CreateField( string field, ContactFieldType value, ContactFieldCategory type );
+   public ContactField CreateField( string field, string name, ContactFieldType value, ContactFieldCategory type );
+ }

+ public interface Windows.ApplicationModel.ContactsTemp.IContactInstantMessageFieldFactory {
+   public ContactInstantMessageField CreateInstantMessage( string field );
+   public ContactInstantMessageField CreateInstantMessage( string field, ContactFieldCategory userName );
+   public ContactInstantMessageField CreateInstantMessage( string field, ContactFieldCategory userName, string category, string service, Uri displayText );
+ }

+ public interface Windows.ApplicationModel.ContactsTemp.IContactLocationFieldFactory {
+   public ContactLocationField CreateLocation( string field );
+   public ContactLocationField CreateLocation( string field, ContactFieldCategory unstructuredAddress );
+   public ContactLocationField CreateLocation( string field, ContactFieldCategory unstructuredAddress, string category, string street, string city, string region, string country );
+ }

+ public class Windows.ApplicationModel.ContactsTemp.KnownContactField {
+   public string Email { get; }
+   public string InstantMessage { get; }
+   public string Location { get; }
+   public string PhoneNumber { get; }
+   public static ContactFieldType ConvertNameToType( string type );
+   public static string ConvertTypeToName( ContactFieldType name );
+ }

+ public class Windows.ApplicationModel.Core.RestrictedAppContainer {
+   public RestrictedAppContainerCapabilities Capabilities { get; }
+   public string Name { get; }
+   public IAsyncAction LaunchAsync( object operation );
+   public void TerminateAll();
+   public static IAsyncOperation<RestrictedAppContainer> CreateAsync( string operation, RestrictedAppContainerCapabilities name );
+   public static IAsyncAction DeleteAsync( string operation );
+   public static RestrictedAppContainer Open( string restrictedAppContainer );
+   public static IAsyncOperation<IVectorView<RestrictedAppContainer>> FindAllAsync();
+ }

+ public enum Windows.ApplicationModel.Core.RestrictedAppContainerCapabilities {
+   None = 0,
+   InternetClient = 1,
+   InternetClientServer = 2,
+   PrivateNetworkClientServer = 4,
+ }

+ public class Windows.ApplicationModel.CrossSystem.PeerSystem {
+   public string Name { get; }
+   public ValueSet Properties { get; }
+ }

+ public class Windows.ApplicationModel.CrossSystem.PeerSystemQuery {
+   public IIterable<string> UriSchemes { get; }
+   public IAsyncOperation<IIterable<PeerSystem>> FindAsync();
+ }

+ public class Windows.ApplicationModel.DataTransfer.SharedStorageAccessManager {
+   public static string AddFile( IStorageFile outToken );
+   public static IAsyncOperation<StorageFile> RedeemTokenForFileAsync( string operation );
+   public static void RemoveFile( string token );
+ }

+ public enum Windows.ApplicationModel.DataTransfer.DragDrop.DragDropModifiers {
+   None = 0,
+   Shift = 1,
+   Control = 2,
+   Alt = 4,
+   LeftButton = 8,
+   MiddleButton = 16,
+   RightButton = 32,
+ }

+ public enum Windows.ApplicationModel.DataTransfer.DragDrop.DragUIOptions {
+   None = 0,
+   SuppressAdornments = 1,
+ }

+ public class Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragDropManager {
+   public bool AreConcurrentOperationsEnabled { get; set; }
+   public CoreDragDropScope AllowDropFrom { get; set; }
+   public CoreDragDropScope AllowDragTo { get; set; }
+   public static CoreDragDropManager GetForCurrentView();
+   TypedEventHandler<CoreDragDropManager, CoreDropOperationTargetRequestedEventArgs> TargetRequested;
+ }

+ public enum Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragDropScope {
+   All = 0,
+   Publisher = 1,
+   Package = 2,
+   App = 3,
+ }

+ public class Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragInfo {
+   public DataPackageView Data { get; }
+   public DragDropModifiers Modifiers { get; }
+   public Point Position { get; }
+ }

+ public class Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragOperation {
+   public DataPackage Data { get; }
+   public CoreDragOperation();
+   public void SetPointerId( uint pointerId );
+   public void SetDragUIContent( object dragContent, Size contentSize );
+   public void SetDragUIContent( object dragContent, Size contentSize, Point anchorPoint );
+   public IAsyncOperation<DataPackageOperation> StartAsync();
+ }

+ public class Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDragUI {
+   public DragUIOptions Options { get; set; }
+   public void SetDragUIContentOverride( object dragContent, Size contentSize );
+   public void SetDragUIContentOverride( object dragContent, Size contentSize, Point anchorPoint );
+   public void ClearDragUIContentOverride();
+ }

+ public class Windows.ApplicationModel.DataTransfer.DragDrop.Core.CoreDropOperationTargetRequestedEventArgs {
+   public void SetTarget( ICoreDropOperationTarget target );
+ }

+ public interface Windows.ApplicationModel.DataTransfer.DragDrop.Core.ICoreDropOperationTarget {
+   public IAsyncOperation<DataPackageOperation> EnterAsync( CoreDragInfo returnValue, CoreDragUI dragInfo );
+   public IAsyncOperation<DataPackageOperation> OverAsync( CoreDragInfo returnValue, CoreDragUI dragInfo );
+   public IAsyncAction LeaveAsync( CoreDragInfo returnValue );
+   public IAsyncOperation<DataPackageOperation> DropAsync( CoreDragInfo returnValue );
+ }

+ public class Windows.ApplicationModel.Email.EmailAttachment {
+   public string FileName { get; set; }
+   public IRandomAccessStreamReference Data { get; set; }
+   public ulong Size { get; set; }
+   public string MimeType { get; set; }
+   public bool IsInline { get; set; }
+   public EmailAttachmentDownloadState DownloadState { get; set; }
+   public string ContentLocation { get; set; }
+   public string ContentId { get; set; }
+   public string Id { get; }
+   public EmailAttachment( string fileName, IRandomAccessStreamReference data, string mimeType );
+   public EmailAttachment( string fileName, IRandomAccessStreamReference data );
+   public EmailAttachment();
+ }

+ public enum Windows.ApplicationModel.Email.EmailAttachmentDownloadState {
+   NotDownloaded = 0,
+   Downloading = 1,
+   Downloaded = 2,
+   Failed = 3,
+ }

+ public enum Windows.ApplicationModel.Email.EmailBatchStatus {
+   Success = 0,
+   ServerSearchPartnershipError = 1,
+   ServerSearchUnknownError = 2,
+ }

+ public enum Windows.ApplicationModel.Email.EmailClassification {
+   NormalMessage = 0,
+   Newsletter = 1,
+ }

+ public class Windows.ApplicationModel.Email.EmailConversation {
+   public EmailFlagState FlagState { get; }
+   public bool HasAttachment { get; }
+   public string Id { get; }
+   public EmailImportance Importance { get; }
+   public EmailMessageResponseType LastEmailResponseType { get; }
+   public EmailRecipient LatestSender { get; }
+   public string MailboxId { get; }
+   public uint MessageCount { get; }
+   public string MostRecentMessageId { get; }
+   public DateTime MostRecentMessageTime { get; }
+   public string Preview { get; }
+   public string Subject { get; }
+   public uint UnreadMessageCount { get; }
+   public IAsyncOperation<IVectorView<EmailMessage>> FindMessagesAsync();
+   public IAsyncOperation<IVectorView<EmailMessage>> FindMessagesAsync( uint result );
+ }

+ public class Windows.ApplicationModel.Email.EmailConversationBatch {
+   public IVectorView<EmailConversation> Conversations { get; }
+   public EmailBatchStatus Status { get; }
+ }

+ public class Windows.ApplicationModel.Email.EmailConversationReader {
+   public IAsyncOperation<EmailConversationBatch> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Email.EmailFetchOptions {
+   public EmailSortProperty SortProperty { get; set; }
+   public EmailSortDirection SortDirection { get; set; }
+   public string SearchString { get; set; }
+   public EmailSearchFields SearchFields { get; set; }
+   public bool OnlyServerSearchResults { get; set; }
+   public EmailMessageTypeFilter MessageTypeFilter { get; set; }
+   public IVector<string> FolderIds { get; }
+   public EmailFetchOptions();
+ }

+ public enum Windows.ApplicationModel.Email.EmailFlagState {
+   Unflagged = 0,
+   Flagged = 1,
+   Completed = 2,
+   Cleared = 3,
+ }

+ public class Windows.ApplicationModel.Email.EmailFolder {
+   public string RemoteId { get; set; }
+   public DateTime LastSync { get; set; }
+   public bool IsSyncing { get; set; }
+   public string DisplayName { get; set; }
+   public string Id { get; }
+   public string MailboxId { get; }
+   public string ParentFolderId { get; }
+   public EmailSpecialFolderType SpecialFolderType { get; }
+   public IAsyncOperation<IVectorView<EmailFolder>> FindChildFoldersAsync();
+   public EmailConversationReader GetConversationReader();
+   public EmailConversationReader GetConversationReader( EmailFetchOptions result );
+   public EmailMessageReader GetMessageReader();
+   public EmailMessageReader GetMessageReader( EmailFetchOptions result );
+   public IAsyncOperation<EmailItemCounts> GetMessageCountsAsync();
+   public IAsyncOperation<bool> TryMoveAsync( EmailFolder result );
+   public IAsyncOperation<bool> TryMoveAsync( EmailFolder result, string newParentFolder );
+   public IAsyncAction DeleteAsync();
+   public IAsyncOperation<bool> TrySaveAsync();
+   public IAsyncOperation<EmailFolder> CreateFolderAsync( string result );
+   public IAsyncOperation<EmailMessage> GetMessageAsync( string result );
+   public IAsyncAction SaveMessageAsync( EmailMessage result );
+ }

+ public enum Windows.ApplicationModel.Email.EmailImportance {
+   Normal = 0,
+   High = 1,
+   Low = 2,
+ }

+ public enum Windows.ApplicationModel.Email.EmailIrmPermissions {
+   EditAllowed = 1,
+   ReplyAllowed = 2,
+   ReplyAllAllowed = 4,
+   ForwardAllowed = 8,
+   ModifyRecipientsAllowed = 16,
+   ExtractAllowed = 32,
+   PrintAllowed = 64,
+   ExportAllowed = 128,
+   ProgrammaticAccessAllowed = 256,
+   Owner = 512,
+   AllPermissions = 4294967295,
+ }

+ public class Windows.ApplicationModel.Email.EmailIrmTemplate {
+   public string Name { get; set; }
+   public string Id { get; set; }
+   public string Description { get; set; }
+   public EmailIrmTemplate( string id, string name, string description );
+   public EmailIrmTemplate();
+ }

+ public struct Windows.ApplicationModel.Email.EmailItemCounts {
+   public uint Total;
+   public uint Unread;
+   public uint Flagged;
+   public uint Urgent;
+ }

+ public class Windows.ApplicationModel.Email.EmailMailbox {
+   public EmailMailboxOtherAppWriteAccess OtherAppWriteAccess { get; set; }
+   public EmailMailboxOtherAppReadAccess OtherAppReadAccess { get; set; }
+   public string MailAddress { get; set; }
+   public string DisplayName { get; set; }
+   public EmailMailboxChangeTracker ChangeTracker { get; }
+   public EmailMailboxCapabilities Capabilities { get; }
+   public string Id { get; }
+   public bool IsAppOwnedMailbox { get; }
+   public EmailMailboxType MailboxType { get; }
+   public bool MustEncryptSmimeMessages { get; }
+   public bool MustEncryptUnderLockscreen { get; }
+   public bool MustSignSmimeMessages { get; }
+   public bool AllowSmimeSoftCerts { get; }
+   public bool AllowSmimeEncryptionAlgorithmNegotiation { get; }
+   public SmimeEncryptionAlgorithm RequiredSmimeEncryptionAlgorithm { get; }
+   public SmimeSigningAlgorithm RequiredSmimeSigningAlgorithm { get; }
+   public string SourceDisplayName { get; }
+   public EmailMailboxSyncAdapter SyncAdapter { get; }
+   public EmailConversationReader GetConversationReader();
+   public EmailConversationReader GetConversationReader( EmailFetchOptions result );
+   public EmailMessageReader GetMessageReader();
+   public EmailMessageReader GetMessageReader( EmailFetchOptions result );
+   public IAsyncOperation<IVectorView<EmailIrmTemplate>> GetSupportedIrmTemplatesAsync();
+   public IAsyncAction DeleteAsync();
+   public IAsyncOperation<EmailConversation> GetConversationAsync( string result );
+   public IAsyncOperation<EmailFolder> GetFolderAsync( string result );
+   public IAsyncOperation<EmailMessage> GetMessageAsync( string result );
+   public IAsyncOperation<EmailFolder> GetSpecialFolderAsync( EmailSpecialFolderType result );
+   public IAsyncAction SaveAsync();
+   public IAsyncAction MarkMessageAsSeenAsync( string result );
+   public IAsyncAction MarkFolderAsSeenAsync( string result );
+   public IAsyncAction MarkMessageReadAsync( string result, bool messageId );
+   public IAsyncAction ChangeMessageFlagStateAsync( string result, EmailFlagState messageId );
+   public IAsyncOperation<bool> TryMoveMessageAsync( string result, string messageId );
+   public IAsyncOperation<bool> TryMoveFolderAsync( string result, string folderId );
+   public IAsyncOperation<bool> TryMoveFolderAsync( string result, string folderId, string newParentFolderId );
+   public IAsyncAction DeleteMessageAsync( string result );
+   public IAsyncAction MarkFolderSyncingAsync( string result, bool folderId );
+   public IAsyncAction SendMessageAsync( EmailMessage result );
+   public IAsyncAction SaveDraftAsync( EmailMessage result );
+   public IAsyncAction DownloadMessageAsync( string result );
+   public IAsyncAction DownloadAttachmentAsync( string result );
+   public IAsyncOperation<EmailMessage> CreateResponseMessageAsync( string result, EmailMessageResponseType messageId, string responseType, EmailMessageBodyType subject, string responseHeaderType );
+   public IAsyncAction RespondToMeetingAsync( EmailMessage result, EmailMeetingResponseType meeting, string response, string subject, bool comment );
+   public IAsyncAction RespondToMeetingAppointmentAsync( Appointment result, EmailMeetingResponseType meeting, string response, string subject, bool comment );
+   public IAsyncAction ForwardMeetingAsync( EmailMessage result, IVector<EmailRecipient> meeting, string recipients, EmailMessageBodyType subject, string forwardHeaderType, string forwardHeader );
+   public IAsyncAction ForwardMeetingAppointmentAsync( Appointment result, IVector<EmailRecipient> meeting, string recipients, EmailMessageBodyType subject, string forwardHeaderType, string forwardHeader );
+   public IAsyncAction ProposeNewTimeForMeetingAsync( EmailMessage result, DateTime meeting, TimeSpan newStartTime, string newDuration, string subject );
+   public IAsyncAction ProposeNewTimeForMeetingAppointmentAsync( Appointment result, DateTime meeting, TimeSpan newStartTime, string newDuration, string subject );
+   public IAsyncAction CreateMeetingAsync( AppointmentCalendar result, Appointment calendar );
+   public IAsyncAction UpdateMeetingAsync( Appointment result );
+   public IAsyncOperation<EmailMailboxSyncStatus> SyncAsync();
+   TypedEventHandler<EmailMailbox, EmailMailboxChangedEventArgs> MailboxChanged;
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxAction {
+   public EmailMailboxActionType ActionType { get; }
+   public ulong ChangeNumber { get; }
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxActionType {
+   MarkMessageAsSeen = 0,
+   MarkMessageRead = 1,
+   ChangeMessageFlagState = 2,
+   MoveMessage = 3,
+   SaveDraft = 4,
+   SendMessage = 5,
+   CreateReplyMessage = 6,
+   CreateReplyAllMessage = 7,
+   CreateForwardMessage = 8,
+   MoveFolder = 9,
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxCapabilities {
+   InternalOofMessages = 1,
+   ExternalOofMessages = 2,
+   ServerSearch = 4,
+   AllFoldersServerSearch = 8,
+   SubFolderServerSearch = 16,
+   SmartReply = 32,
+   Irm = 64,
+   CanResolveRecipients = 128,
+   CanValidateCertificates = 256,
+   CanCreateMeetings = 512,
+   CanForwardMeetings = 1024,
+   CanRespondToMeetings = 2048,
+   CanSendNewTimeProposals = 4096,
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxChange {
+   public EmailMailboxChangeType ChangeType { get; }
+   public EmailFolder Folder { get; }
+   public IVector<EmailMailboxAction> MailboxActions { get; }
+   public EmailMessage Message { get; }
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxChangeReader {
+   public void AcceptChanges();
+   public void AcceptChangesThrough( EmailMailboxChange lastChangeToAcknowledge );
+   public IAsyncOperation<IVectorView<EmailMailboxChange>> ReadBatchAsync();
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxChangeTracker {
+   public bool IsTracking { get; }
+   public void Enable();
+   public EmailMailboxChangeReader GetChangeReader();
+   public void Reset();
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxChangeType {
+   MessageCreated = 0,
+   MessageModified = 1,
+   MessageDeleted = 2,
+   FolderCreated = 3,
+   FolderModified = 4,
+   FolderDeleted = 5,
+   ChangeTrackingLost = 6,
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxChangedDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxChangedEventArgs {
+   public EmailMailboxChangedDeferral GetDeferral();
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxOtherAppReadAccess {
+   SystemOnly = 0,
+   Full = 1,
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxOtherAppWriteAccess {
+   None = 0,
+   Limited = 1,
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxSyncAdapter {
+   public EmailMailboxSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+   public IAsyncOperation<bool> SyncAsync();
+   TypedEventHandler<EmailMailbox, EmailMailboxSyncStatusChangedEventArgs> SyncStatusChanged;
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxSyncState {
+   Unknown = 0,
+   Idle = 1,
+   Syncing = 2,
+   Disconnected = 3,
+   Throttled = 4,
+   UserAttentionRequired = 5,
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxSyncStatus {
+   Success = 0,
+   AuthenticationError = 1,
+   UnknownError = 2,
+   NoConnectivity = 3,
+ }

+ public class Windows.ApplicationModel.Email.EmailMailboxSyncStatusChangedEventArgs {
+   public EmailMailboxSyncState CurrentState { get; }
+   public DateTime LastAttemptedSyncTime { get; }
+   public DateTime LastSuccessfulSyncTime { get; }
+ }

+ public enum Windows.ApplicationModel.Email.EmailMailboxType {
+   Email = 0,
+   VisualVoiceMail = 1,
+ }

+ public class Windows.ApplicationModel.Email.EmailManager {
+   public static IAsyncOperation<EmailStore> RequestStoreAsync( EmailStoreAccessType result );
+   public static IAsyncAction ShowComposeNewEmailAsync( EmailMessage asyncAction );
+ }

+ public class Windows.ApplicationModel.Email.EmailMeetingInfo {
+   public string Location { get; set; }
+   public bool IsResponseRequested { get; set; }
+   public bool IsAllDay { get; set; }
+   public TimeSpan Duration { get; set; }
+   public string AppointmentRoamingId { get; set; }
+   public IReference<DateTime> AppointmentOriginalStartTime { get; set; }
+   public bool AllowNewTimeProposal { get; set; }
+   public DateTime StartTime { get; set; }
+   public ulong ServerChangeNumber { get; set; }
+   public IReference<DateTime> RecurrenceStartTime { get; set; }
+   public AppointmentRecurrence Recurrence { get; set; }
+   public IReference<DateTime> ProposedStartTime { get; set; }
+   public IReference<TimeSpan> ProposedDuration { get; set; }
+   public EmailMeetingInfo();
+ }

+ public enum Windows.ApplicationModel.Email.EmailMeetingResponseType {
+   Accept = 0,
+   Decline = 1,
+   Tentative = 2,
+   Cancel = 3,
+ }

+ public class Windows.ApplicationModel.Email.EmailMessage {
+   public string Body { get; set; }
+   public string Subject { get; set; }
+   public IVector<EmailRecipient> Bcc { get; }
+   public IVector<EmailRecipient> CC { get; }
+   public IVector<EmailAttachment> Attachments { get; }
+   public IVector<EmailRecipient> To { get; }
+   public bool AllowInternetImage { get; set; }
+   public EmailIrmPermissions IrmPermissions { get; set; }
+   public EmailFlagState FlagState { get; set; }
+   public EmailMeetingInfo MeetingInfo { get; set; }
+   public EmailClassification Classification { get; set; }
+   public EmailImportance Importance { get; set; }
+   public uint MessageSize { get; set; }
+   public string MessageClass { get; set; }
+   public IReference<DateTime> IrmExpiration { get; set; }
+   public bool IsSeen { get; set; }
+   public bool IsRead { get; set; }
+   public IReference<DateTime> SentTime { get; set; }
+   public EmailRecipient Sender { get; set; }
+   public EmailMessageResponseType ResponseType { get; set; }
+   public EmailIrmTemplate IrmTemplate { get; set; }
+   public string RemoteId { get; set; }
+   public string Preview { get; set; }
+   public uint PreferredCodePage { get; set; }
+   public bool IsDraftMessage { get; }
+   public string NormalizedSubject { get; }
+   public ulong ChangeNumber { get; }
+   public uint OriginalCodePage { get; }
+   public string ConversationId { get; }
+   public bool IsTruncated { get; }
+   public string MailboxId { get; }
+   public string FolderId { get; }
+   public string Id { get; }
+   public uint TransportCodePage { get; }
+   public EmailMessage();
+   public IRandomAccessStreamReference GetBodyStream( EmailMessageBodyType result );
+   public void SetBodyStream( EmailMessageBodyType type, IRandomAccessStreamReference stream );
+ }

+ public class Windows.ApplicationModel.Email.EmailMessageBatch {
+   public IVectorView<EmailMessage> Messages { get; }
+   public EmailBatchStatus Status { get; }
+ }

+ public enum Windows.ApplicationModel.Email.EmailMessageBodyType {
+   Html = 0,
+   PlainText = 1,
+ }

+ public class Windows.ApplicationModel.Email.EmailMessageReader {
+   public IAsyncOperation<EmailMessageBatch> ReadBatchAsync();
+ }

+ public enum Windows.ApplicationModel.Email.EmailMessageResponseType {
+   None = 0,
+   Reply = 1,
+   ReplyAll = 2,
+   Forward = 3,
+ }

+ public enum Windows.ApplicationModel.Email.EmailMessageTypeFilter {
+   All = 0,
+   Important = 1,
+   Flagged = 2,
+   Unread = 3,
+   Read = 4,
+   Unseen = 5,
+ }

+ public class Windows.ApplicationModel.Email.EmailRecipient {
+   public string Name { get; set; }
+   public string Address { get; set; }
+   public EmailRecipientAddressType AddressType { get; set; }
+   public EmailRecipient( string address );
+   public EmailRecipient( string address, string name );
+   public EmailRecipient();
+ }

+ public enum Windows.ApplicationModel.Email.EmailRecipientAddressType {
+   Email = 0,
+   Sms = 1,
+ }

+ public enum Windows.ApplicationModel.Email.EmailSearchFields {
+   None = 0,
+   Subject = 1,
+   Sender = 2,
+   Preview = 4,
+   Recipients = 8,
+   All = 4294967295,
+ }

+ public enum Windows.ApplicationModel.Email.EmailSortDirection {
+   Descending = 0,
+   Ascending = 1,
+ }

+ public enum Windows.ApplicationModel.Email.EmailSortProperty {
+   Date = 0,
+ }

+ public enum Windows.ApplicationModel.Email.EmailSpecialFolderType {
+   None = 0,
+   Root = 1,
+   Inbox = 2,
+   Outbox = 3,
+   Drafts = 4,
+   Deleted = 5,
+   Sent = 6,
+ }

+ public class Windows.ApplicationModel.Email.EmailStore {
+   public IAsyncOperation<IVectorView<EmailMailbox>> FindMailboxesAsync();
+   public EmailConversationReader GetConversationReader();
+   public EmailConversationReader GetConversationReader( EmailFetchOptions result );
+   public EmailMessageReader GetMessageReader();
+   public EmailMessageReader GetMessageReader( EmailFetchOptions result );
+   public IAsyncOperation<EmailMailbox> GetMailboxAsync( string result );
+   public IAsyncOperation<EmailConversation> GetConversationAsync( string result );
+   public IAsyncOperation<EmailFolder> GetFolderAsync( string result );
+   public IAsyncOperation<EmailMessage> GetMessageAsync( string result );
+   public IAsyncOperation<EmailMailbox> CreateMailboxAsync( string result, string accountName );
+ }

+ public enum Windows.ApplicationModel.Email.EmailStoreAccessType {
+   AppMailboxesReadWrite = 0,
+   AllMailboxesLimitedReadWrite = 1,
+ }

+ public class Windows.ApplicationModel.Email.EmailStoreNotificationTriggerDetails {
+ }

+ public enum Windows.ApplicationModel.Email.SmimeEncryptionAlgorithm {
+   Any = 0,
+   TripleDES = 1,
+   DES = 2,
+   RC2128bit = 3,
+   RC264bit = 4,
+   RC240bit = 5,
+ }

+ public enum Windows.ApplicationModel.Email.SmimeSigningAlgorithm {
+   Any = 0,
+   SHA1 = 1,
+   MD5 = 2,
+ }

+ public enum Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionReason {
+   Unspecified = 0,
+   LocationTracking = 1,
+   SavingData = 2,
+ }

+ public enum Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionResult {
+   Allowed = 0,
+   Denied = 1,
+ }

+ public class Windows.ApplicationModel.ExtendedExecution.ExtendedExecutionSession {
+   public ExtendedExecutionReason Reason { get; set; }
+   public uint PercentProgress { get; set; }
+   public string Description { get; set; }
+   public IAsyncOperation<ExtendedExecutionResult> RequestExtensionAsync();
+   public void Close();
+   TypedEventHandler<ExtendedExecutionSession, ExtensionRevokedEventArgs> Revoked;
+ }

+ public class Windows.ApplicationModel.ExtendedExecution.ExtensionRevokedEventArgs {
+   public ExtensionRevokedReason Reason { get; }
+ }

+ public enum Windows.ApplicationModel.ExtendedExecution.ExtensionRevokedReason {
+   Complete = 0,
+   Resumed = 1,
+   SystemPolicy = 2,
+ }

+ public class Windows.ApplicationModel.LockScreen.LockApplicationHost {
+   public void RequestUnlock();
+   public static LockApplicationHost GetForCurrentView();
+   TypedEventHandler<LockApplicationHost, LockScreenUnlockingEventArgs> Unlocking;
+ }

+ public class Windows.ApplicationModel.LockScreen.LockScreenBadge {
+   public string AutomationName { get; }
+   public IRandomAccessStream Glyph { get; }
+   public IRandomAccessStream Logo { get; }
+   public IReference<uint> Number { get; }
+   public void LaunchApp();
+ }

+ public class Windows.ApplicationModel.LockScreen.LockScreenInfo {
+   public IRandomAccessStream AlarmIcon { get; }
+   public IVectorView<LockScreenBadge> Badges { get; }
+   public IVectorView<string> DetailText { get; }
+   public IRandomAccessStream LockScreenImage { get; }
+   TypedEventHandler<LockScreenInfo, object> AlarmIconChanged;
+   TypedEventHandler<LockScreenInfo, object> BadgesChanged;
+   TypedEventHandler<LockScreenInfo, object> DetailTextChanged;
+   TypedEventHandler<LockScreenInfo, object> LockScreenImageChanged;
+ }

+ public class Windows.ApplicationModel.LockScreen.LockScreenUnlockingDeferral {
+   public void Complete();
+ }

+ public class Windows.ApplicationModel.LockScreen.LockScreenUnlockingEventArgs {
+   public DateTime Deadline { get; }
+   public LockScreenUnlockingDeferral GetDeferral();
+ }

| public class Windows.ApplicationModel.Resources.Core.ResourceCandidate {
+   public IAsyncOperation<IRandomAccessStream> GetValueAsStreamAsync();
| }

+ public struct Windows.ApplicationModel.Resources.Core.ResourceLayoutInfo {
+   public uint MajorVersion;
+   public uint MinorVersion;
+   public uint ResourceSubtreeCount;
+   public uint NamedResourceCount;
+   public int Checksum;
+ }

| public class Windows.ApplicationModel.Resources.Core.ResourceManager {
+   public IVectorView<NamedResource> GetAllNamedResourcesForPackage( string table, ResourceLayoutInfo packageName );
+   public IVectorView<ResourceMap> GetAllSubtreesForPackage( string table, ResourceLayoutInfo packageName );
| }

+ public struct Windows.ApplicationModel.Resources.Management.ResourceIndexerContract {
+ }

+ public struct Windows.ApplicationModel.Search.SearchContract {
+ }

| public class Windows.ApplicationModel.Store.CurrentApp {
+   public static IAsyncOperation<ListingInformation> LoadListingInformationByProductIdsAsync( IIterable<string> loadListingOperation );
+   public static IAsyncOperation<ListingInformation> LoadListingInformationByKeywordsAsync( IIterable<string> loadListingOperation );
+   public static void ReportProductFulfillment( string productId );
| }

| public class Windows.ApplicationModel.Store.CurrentAppSimulator {
+   public static IAsyncOperation<ListingInformation> LoadListingInformationByProductIdsAsync( IIterable<string> loadListingOperation );
+   public static IAsyncOperation<ListingInformation> LoadListingInformationByKeywordsAsync( IIterable<string> loadListingOperation );
| }

| public class Windows.ApplicationModel.Store.ProductLicense {
+   public bool IsConsumable { get; }
| }

| public class Windows.ApplicationModel.Store.ProductListing {
+   public string Description { get; }
+   public Uri ImageUri { get; }
+   public IIterable<string> Keywords { get; }
+   public string Tag { get; }
| }

+ public class Windows.ApplicationModel.Sync.MailContactsCalendarSyncUI {
+   public static IAsyncAction ShowAddAsync( IIterable<SyncContentType> showAddAction );
+   public static IAsyncAction ShowSettingsAsync( string showSettingsAction );
+   public static IAsyncAction ShowErrorsAsync( string showErrorsAction );
+ }

+ public enum Windows.ApplicationModel.Sync.SyncContentType {
+   Mail = 0,
+   Contacts = 1,
+   Calendar = 2,
+ }

+ public enum Windows.ApplicationModel.Wallet.WalletActionKind {
+   OpenItem = 0,
+   Transaction = 1,
+   MoreTransactions = 2,
+   Message = 3,
+   Verb = 4,
+ }

+ public struct Windows.ApplicationModel.Wallet.WalletContract {
+ }