// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.Security.Cryptography.Core.idl"; import "Windows.Storage.Streams.idl"; import "Windows.System.idl"; import "Windows.UI.idl"; // Forward Declare namespace Windows { namespace Foundation { namespace Collections { interface IPropertySet; } } } namespace Windows { namespace Foundation { interface IAsyncAction; typedef struct TimeSpan TimeSpan; apicontract UniversalApiContract; runtimeclass Uri; } } namespace Windows { namespace Security { namespace Cryptography { namespace Core { typedef enum CryptographicPublicKeyBlobType CryptographicPublicKeyBlobType; } } } } namespace Windows { namespace Storage { namespace Streams { interface IBuffer; interface IRandomAccessStream; } } } namespace Windows { namespace System { runtimeclass User; } } namespace Windows { namespace UI { typedef struct WindowId WindowId; } } namespace Windows { namespace Security { namespace Credentials { typedef enum ChallengeResponseKind ChallengeResponseKind; typedef enum KeyCredentialAttestationStatus KeyCredentialAttestationStatus; typedef enum KeyCredentialCacheOption KeyCredentialCacheOption; typedef enum KeyCredentialCreationOption KeyCredentialCreationOption; typedef enum KeyCredentialStatus KeyCredentialStatus; typedef enum WebAccountPictureSize WebAccountPictureSize; typedef enum WebAccountState WebAccountState; delegate AttestationChallengeHandler; interface ICredentialFactory; interface IKeyCredential; interface IKeyCredential2; interface IKeyCredentialAttestationResult; interface IKeyCredentialCacheConfiguration; interface IKeyCredentialCacheConfigurationFactory; interface IKeyCredentialManagerCreateWithWindowStatics; interface IKeyCredentialManagerStatics; interface IKeyCredentialManagerStatics2; interface IKeyCredentialOperationResult; interface IKeyCredentialRetrievalResult; interface IKeyCredentialWithWindow; interface IPasswordCredential; interface IPasswordVault; interface IWebAccount; interface IWebAccount2; interface IWebAccountFactory; interface IWebAccountProvider; interface IWebAccountProvider2; interface IWebAccountProvider3; interface IWebAccountProvider4; interface IWebAccountProviderFactory; runtimeclass KeyCredential; runtimeclass KeyCredentialAttestationResult; runtimeclass KeyCredentialCacheConfiguration; runtimeclass KeyCredentialManager; runtimeclass KeyCredentialOperationResult; runtimeclass KeyCredentialRetrievalResult; runtimeclass PasswordCredential; runtimeclass PasswordCredentialPropertyStore; runtimeclass PasswordVault; runtimeclass WebAccount; runtimeclass WebAccountProvider; } } } // Generic instantiations namespace Windows { namespace Security { namespace Credentials { declare { interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterable; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IIterator; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.Collections.IVectorView; interface Windows.Foundation.IAsyncOperation*>; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; } } } } // Type definition namespace Windows { namespace Security { namespace Credentials { [contract(Windows.Foundation.UniversalApiContract, 19.0)] enum ChallengeResponseKind { VirtualizationBasedSecurityEnclave = 0 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum KeyCredentialAttestationStatus { Success = 0, UnknownError = 1, NotSupported = 2, TemporaryFailure = 3 }; [contract(Windows.Foundation.UniversalApiContract, 19.0)] enum KeyCredentialCacheOption { NoCache = 0, CacheWhenUnlocked = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum KeyCredentialCreationOption { ReplaceExisting = 0, FailIfExists = 1 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum KeyCredentialStatus { Success = 0, UnknownError = 1, NotFound = 2, UserCanceled = 3, UserPrefersPassword = 4, CredentialAlreadyExists = 5, SecurityDeviceLocked = 6, AlgorithmNotSupported = 7 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum WebAccountPictureSize { Size64x64 = 64, Size208x208 = 208, Size424x424 = 424, Size1080x1080 = 1080 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum WebAccountState { None = 0, Connected = 1, Error = 2 }; [contract(Windows.Foundation.UniversalApiContract, 19.0)] [uuid(F6AE35B0-D805-587D-944F-A09BD032ACF5)] delegate HRESULT AttestationChallengeHandler([in] Windows.Storage.Streams.IBuffer* challenge, [out] [retval] Windows.Storage.Streams.IBuffer** result); [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.PasswordCredential)] [uuid(54EF13A1-BF26-47B5-97DD-DE779B7CAD58)] interface ICredentialFactory : IInspectable { HRESULT CreatePasswordCredential([in] HSTRING resource, [in] HSTRING userName, [in] HSTRING password, [out] [retval] Windows.Security.Credentials.PasswordCredential** credential); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.KeyCredential)] [uuid(9585EF8D-457B-4847-B11A-FA960BBDB138)] interface IKeyCredential : IInspectable { [propget] HRESULT Name([out] [retval] HSTRING* value); [overload("RetrievePublicKey")] HRESULT RetrievePublicKeyWithDefaultBlobType([out] [retval] Windows.Storage.Streams.IBuffer** value); [overload("RetrievePublicKey")] HRESULT RetrievePublicKeyWithBlobType([in] Windows.Security.Cryptography.Core.CryptographicPublicKeyBlobType blobType, [out] [retval] Windows.Storage.Streams.IBuffer** value); HRESULT RequestSignAsync([in] Windows.Storage.Streams.IBuffer* data, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT GetAttestationAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [exclusiveto(Windows.Security.Credentials.KeyCredential)] [uuid(3B7C5E09-7B72-5A05-B2F0-7119CA3FD5DF)] interface IKeyCredential2 : IInspectable { HRESULT RequestDeriveSharedSecretAsync([in] Windows.UI.WindowId windowId, [in] HSTRING message, [in] Windows.Storage.Streams.IBuffer* encryptedRequest, [out] [retval] Windows.Foundation.IAsyncOperation** operation); HRESULT RetrieveAuthorizationContext([in] Windows.Storage.Streams.IBuffer* encryptedRequest, [out] [retval] Windows.Storage.Streams.IBuffer** result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialAttestationResult)] [uuid(78AAB3A1-A3C1-4103-B6CC-472C44171CBB)] interface IKeyCredentialAttestationResult : IInspectable { [propget] HRESULT CertificateChainBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value); [propget] HRESULT AttestationBuffer([out] [retval] Windows.Storage.Streams.IBuffer** value); [propget] HRESULT Status([out] [retval] Windows.Security.Credentials.KeyCredentialAttestationStatus* value); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialCacheConfiguration)] [uuid(438BD21A-61FF-5468-95A6-B1D5216E458D)] interface IKeyCredentialCacheConfiguration : IInspectable { [propget] HRESULT CacheOption([out] [retval] Windows.Security.Credentials.KeyCredentialCacheOption* value); [propget] HRESULT Timeout([out] [retval] Windows.Foundation.TimeSpan* value); [propget] HRESULT UsageCount([out] [retval] UINT32* value); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [uuid(9948C31B-C827-5B58-9442-40ACD8AB1E7D)] interface IKeyCredentialCacheConfigurationFactory : IInspectable { HRESULT CreateInstance([in] Windows.Security.Credentials.KeyCredentialCacheOption cacheOption, [in] Windows.Foundation.TimeSpan timeout, [in] UINT32 usageCount, [out] [retval] Windows.Security.Credentials.KeyCredentialCacheConfiguration** result); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialManager)] [uuid(30B1B9C9-61EF-43E8-88AC-CC433B38D1A6)] interface IKeyCredentialManagerCreateWithWindowStatics : IInspectable { HRESULT RequestCreateForWindowAsync([in] Windows.UI.WindowId window, [in] HSTRING name, [in] Windows.Security.Credentials.KeyCredentialCreationOption option, [out] [retval] Windows.Foundation.IAsyncOperation** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialManager)] [uuid(6AAC468B-0EF1-4CE0-8290-4106DA6A63B5)] interface IKeyCredentialManagerStatics : IInspectable { HRESULT IsSupportedAsync([out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT RenewAttestationAsync([out] [retval] Windows.Foundation.IAsyncAction** operation); HRESULT RequestCreateAsync([in] HSTRING name, [in] Windows.Security.Credentials.KeyCredentialCreationOption option, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT OpenAsync([in] HSTRING name, [out] [retval] Windows.Foundation.IAsyncOperation** value); HRESULT DeleteAsync([in] HSTRING name, [out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialManager)] [uuid(6439895D-68C5-521B-9DC4-7C199794F0D8)] interface IKeyCredentialManagerStatics2 : IInspectable requires Windows.Security.Credentials.IKeyCredentialManagerStatics { [overload("RequestCreateAsync")] HRESULT RequestCreateAsync([in] HSTRING name, [in] Windows.Security.Credentials.KeyCredentialCreationOption option, [in] HSTRING algorithm, [in] HSTRING message, [in] Windows.Security.Credentials.KeyCredentialCacheConfiguration* cacheConfiguration, [in] Windows.UI.WindowId windowId, [in] Windows.Security.Credentials.ChallengeResponseKind callbackType, [in] Windows.Security.Credentials.AttestationChallengeHandler* attestationCallback, [out] [retval] Windows.Foundation.IAsyncOperation** operation); [overload("OpenAsync")] HRESULT OpenAsync([in] HSTRING name, [in] Windows.Security.Credentials.ChallengeResponseKind callbackType, [in] Windows.Security.Credentials.AttestationChallengeHandler* attestationCallback, [out] [retval] Windows.Foundation.IAsyncOperation** operation); HRESULT GetSecureId([out] [retval] Windows.Storage.Streams.IBuffer** result); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialOperationResult)] [uuid(F53786C1-5261-4CDD-976D-CC909AC71620)] interface IKeyCredentialOperationResult : IInspectable { [propget] HRESULT Result([out] [retval] Windows.Storage.Streams.IBuffer** value); [propget] HRESULT Status([out] [retval] Windows.Security.Credentials.KeyCredentialStatus* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.KeyCredentialRetrievalResult)] [uuid(58CD7703-8D87-4249-9B58-F6598CC9644E)] interface IKeyCredentialRetrievalResult : IInspectable { [propget] HRESULT Credential([out] [retval] Windows.Security.Credentials.KeyCredential** value); [propget] HRESULT Status([out] [retval] Windows.Security.Credentials.KeyCredentialStatus* value); } [contract(Windows.Foundation.UniversalApiContract, 19.0)] [exclusiveto(Windows.Security.Credentials.KeyCredential)] [uuid(050DEB3B-B19C-4635-9DF6-5650D66C62B1)] interface IKeyCredentialWithWindow : IInspectable { HRESULT RequestSignForWindowAsync([in] Windows.UI.WindowId window, [in] Windows.Storage.Streams.IBuffer* data, [out] [retval] Windows.Foundation.IAsyncOperation** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.PasswordCredential)] [uuid(6AB18989-C720-41A7-A6C1-FEADB36329A0)] interface IPasswordCredential : IInspectable { [propget] HRESULT Resource([out] [retval] HSTRING* resource); [propput] HRESULT Resource([in] HSTRING resource); [propget] HRESULT UserName([out] [retval] HSTRING* userName); [propput] HRESULT UserName([in] HSTRING userName); [propget] HRESULT Password([out] [retval] HSTRING* password); [propput] HRESULT Password([in] HSTRING password); HRESULT RetrievePassword(); [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IPropertySet** props); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.PasswordVault)] [uuid(61FD2C0B-C8D4-48C1-A54F-BC5A64205AF2)] interface IPasswordVault : IInspectable { HRESULT Add([in] Windows.Security.Credentials.PasswordCredential* credential); HRESULT Remove([in] Windows.Security.Credentials.PasswordCredential* credential); HRESULT Retrieve([in] HSTRING resource, [in] HSTRING userName, [out] [retval] Windows.Security.Credentials.PasswordCredential** credential); HRESULT FindAllByResource([in] HSTRING resource, [out] [retval] Windows.Foundation.Collections.IVectorView** credentials); HRESULT FindAllByUserName([in] HSTRING userName, [out] [retval] Windows.Foundation.Collections.IVectorView** credentials); HRESULT RetrieveAll([out] [retval] Windows.Foundation.Collections.IVectorView** credentials); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(69473EB2-8031-49BE-80BB-96CB46D99ABA)] interface IWebAccount : IInspectable { [propget] HRESULT WebAccountProvider([out] [retval] Windows.Security.Credentials.WebAccountProvider** value); [propget] HRESULT UserName([out] [retval] HSTRING* value); [propget] HRESULT State([out] [retval] Windows.Security.Credentials.WebAccountState* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccount)] [uuid(7B56D6F8-990B-4EB5-94A7-5621F3A8B824)] interface IWebAccount2 : IInspectable requires Windows.Security.Credentials.IWebAccount { [propget] HRESULT Id([out] [retval] HSTRING* value); [propget] HRESULT Properties([out] [retval] Windows.Foundation.Collections.IMapView** value); HRESULT GetPictureAsync([in] Windows.Security.Credentials.WebAccountPictureSize desizedSize, [out] [retval] Windows.Foundation.IAsyncOperation** asyncInfo); [overload("SignOutAsync")] HRESULT SignOutAsync([out] [retval] Windows.Foundation.IAsyncAction** asyncInfo); [overload("SignOutAsync")] HRESULT SignOutWithClientIdAsync([in] HSTRING clientId, [out] [retval] Windows.Foundation.IAsyncAction** asyncInfo); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccount)] [uuid(AC9AFB39-1DE9-4E92-B78F-0581A87F6E5C)] interface IWebAccountFactory : IInspectable { HRESULT CreateWebAccount([in] Windows.Security.Credentials.WebAccountProvider* webAccountProvider, [in] HSTRING userName, [in] Windows.Security.Credentials.WebAccountState state, [out] [retval] Windows.Security.Credentials.WebAccount** instance); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccountProvider)] [uuid(29DCC8C3-7AB9-4A7C-A336-B942F9DBF7C7)] interface IWebAccountProvider : IInspectable { [propget] HRESULT Id([out] [retval] HSTRING* value); [propget] HRESULT DisplayName([out] [retval] HSTRING* value); [deprecated("IconUri may be altered or unavailable for releases after Windows 8.2. Instead, use Icon.", deprecate, Windows.Foundation.UniversalApiContract, 1.0)] [propget] HRESULT IconUri([out] [retval] Windows.Foundation.Uri** value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccountProvider)] [uuid(4A01EB05-4E42-41D4-B518-E008A5163614)] interface IWebAccountProvider2 : IInspectable requires Windows.Security.Credentials.IWebAccountProvider { [propget] HRESULT DisplayPurpose([out] [retval] HSTRING* value); [propget] HRESULT Authority([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccountProvider)] [uuid(DA1C518B-970D-4D49-825C-F2706F8CA7FE)] interface IWebAccountProvider3 : IInspectable requires Windows.Security.Credentials.IWebAccountProvider2, Windows.Security.Credentials.IWebAccountProvider { [propget] HRESULT User([out] [retval] Windows.System.User** user); } [contract(Windows.Foundation.UniversalApiContract, 6.0)] [exclusiveto(Windows.Security.Credentials.WebAccountProvider)] [uuid(718FD8DB-E796-4210-B74E-84D29894B080)] interface IWebAccountProvider4 : IInspectable { [propget] HRESULT IsSystemProvider([out] [retval] boolean* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Credentials.WebAccountProvider)] [uuid(1D767DF1-E1E1-4B9A-A774-5C7C7E3BF371)] interface IWebAccountProviderFactory : IInspectable { HRESULT CreateWebAccountProvider([in] HSTRING id, [in] HSTRING displayName, [in] Windows.Foundation.Uri* iconUri, [out] [retval] Windows.Security.Credentials.WebAccountProvider** instance); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass KeyCredential { [default] interface Windows.Security.Credentials.IKeyCredential; [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Security.Credentials.IKeyCredential2; [contract(Windows.Foundation.UniversalApiContract, 19.0)] interface Windows.Security.Credentials.IKeyCredentialWithWindow; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass KeyCredentialAttestationResult { [default] interface Windows.Security.Credentials.IKeyCredentialAttestationResult; } [activatable(Windows.Security.Credentials.IKeyCredentialCacheConfigurationFactory, Windows.Foundation.UniversalApiContract, 19.0)] [contract(Windows.Foundation.UniversalApiContract, 19.0)] [marshaling_behavior(agile)] runtimeclass KeyCredentialCacheConfiguration { [default] interface Windows.Security.Credentials.IKeyCredentialCacheConfiguration; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.Security.Credentials.IKeyCredentialManagerCreateWithWindowStatics, Windows.Foundation.UniversalApiContract, 19.0)] [static(Windows.Security.Credentials.IKeyCredentialManagerStatics, Windows.Foundation.UniversalApiContract, 1.0)] [static(Windows.Security.Credentials.IKeyCredentialManagerStatics2, Windows.Foundation.UniversalApiContract, 19.0)] [threading(both)] runtimeclass KeyCredentialManager { } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass KeyCredentialOperationResult { [default] interface Windows.Security.Credentials.IKeyCredentialOperationResult; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass KeyCredentialRetrievalResult { [default] interface Windows.Security.Credentials.IKeyCredentialRetrievalResult; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [activatable(Windows.Security.Credentials.ICredentialFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PasswordCredential { [default] interface Windows.Security.Credentials.IPasswordCredential; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PasswordCredentialPropertyStore { [default] interface Windows.Foundation.Collections.IPropertySet; interface Windows.Foundation.Collections.IObservableMap; interface Windows.Foundation.Collections.IMap; interface Windows.Foundation.Collections.IIterable*>; } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PasswordVault { [default] interface Windows.Security.Credentials.IPasswordVault; } [activatable(Windows.Security.Credentials.IWebAccountFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass WebAccount { [default] interface Windows.Security.Credentials.IWebAccount; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Credentials.IWebAccount2; } [activatable(Windows.Security.Credentials.IWebAccountProviderFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass WebAccountProvider { [default] interface Windows.Security.Credentials.IWebAccountProvider; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Credentials.IWebAccountProvider2; [contract(Windows.Foundation.UniversalApiContract, 1.0)] interface Windows.Security.Credentials.IWebAccountProvider3; [contract(Windows.Foundation.UniversalApiContract, 6.0)] interface Windows.Security.Credentials.IWebAccountProvider4; } } } }