// // 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.System.idl"; // Forward Declare namespace Windows { namespace Foundation { interface IAsyncAction; apicontract UniversalApiContract; } } namespace Windows { namespace System { runtimeclass User; } } namespace Windows { namespace Security { namespace Authentication { namespace OnlineId { typedef enum CredentialPromptType CredentialPromptType; typedef enum OnlineIdSystemTicketStatus OnlineIdSystemTicketStatus; interface IOnlineIdAuthenticator; interface IOnlineIdServiceTicket; interface IOnlineIdServiceTicketRequest; interface IOnlineIdServiceTicketRequestFactory; interface IOnlineIdSystemAuthenticatorForUser; interface IOnlineIdSystemAuthenticatorStatics; interface IOnlineIdSystemIdentity; interface IOnlineIdSystemTicketResult; interface IUserIdentity; runtimeclass OnlineIdAuthenticator; runtimeclass OnlineIdServiceTicket; runtimeclass OnlineIdServiceTicketRequest; runtimeclass OnlineIdSystemAuthenticator; runtimeclass OnlineIdSystemAuthenticatorForUser; runtimeclass OnlineIdSystemIdentity; runtimeclass OnlineIdSystemTicketResult; runtimeclass SignOutUserOperation; runtimeclass UserAuthenticationOperation; runtimeclass UserIdentity; } } } } // Generic instantiations namespace Windows { namespace Security { namespace Authentication { namespace OnlineId { 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.IAsyncOperation; interface Windows.Foundation.IAsyncOperation; } } } } } // Type definition namespace Windows { namespace Security { namespace Authentication { namespace OnlineId { [contract(Windows.Foundation.UniversalApiContract, 1.0)] enum CredentialPromptType { PromptIfNeeded = 0, RetypeCredentials = 1, DoNotPrompt = 2 }; [contract(Windows.Foundation.UniversalApiContract, 4.0)] enum OnlineIdSystemTicketStatus { Success = 0, Error = 1, ServiceConnectionError = 2 }; [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdAuthenticator)] [uuid(A003F58A-29AB-4817-B884-D7516DAD18B9)] interface IOnlineIdAuthenticator : IInspectable { [overload("AuthenticateUserAsync")] HRESULT AuthenticateUserAsync([in] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest* request, [out] [retval] Windows.Security.Authentication.OnlineId.UserAuthenticationOperation** authenticationOperation); [overload("AuthenticateUserAsync")] HRESULT AuthenticateUserAsyncAdvanced([in] Windows.Foundation.Collections.IIterable* requests, [in] Windows.Security.Authentication.OnlineId.CredentialPromptType credentialPromptType, [out] [retval] Windows.Security.Authentication.OnlineId.UserAuthenticationOperation** authenticationOperation); HRESULT SignOutUserAsync([out] [retval] Windows.Security.Authentication.OnlineId.SignOutUserOperation** signOutUserOperation); [propput] HRESULT ApplicationId([in] GUID value); [propget] HRESULT ApplicationId([out] [retval] GUID* value); [propget] HRESULT CanSignOut([out] [retval] boolean* value); [propget] HRESULT AuthenticatedSafeCustomerId([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdServiceTicket)] [uuid(C95C547F-D781-4A94-ACB8-C59874238C26)] interface IOnlineIdServiceTicket : IInspectable { [propget] HRESULT Value([out] [retval] HSTRING* value); [propget] HRESULT Request([out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest** value); [propget] HRESULT ErrorCode([out] [retval] INT32* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest)] [uuid(297445D3-FB63-4135-8909-4E354C061466)] interface IOnlineIdServiceTicketRequest : IInspectable { [propget] HRESULT Service([out] [retval] HSTRING* value); [propget] HRESULT Policy([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest)] [uuid(BEBB0A08-9E73-4077-9614-08614C0BC245)] interface IOnlineIdServiceTicketRequestFactory : IInspectable { HRESULT CreateOnlineIdServiceTicketRequest([in] HSTRING service, [in] HSTRING policy, [out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest** onlineIdServiceTicketRequest); HRESULT CreateOnlineIdServiceTicketRequestAdvanced([in] HSTRING service, [out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest** onlineIdServiceTicketRequest); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorForUser)] [uuid(5798BEFB-1DE4-4186-A2E6-B563F86AAF44)] interface IOnlineIdSystemAuthenticatorForUser : IInspectable { [overload("GetTicketAsync")] HRESULT GetTicketAsync([in] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicketRequest* request, [out] [retval] Windows.Foundation.IAsyncOperation** operation); [propput] HRESULT ApplicationId([in] GUID value); [propget] HRESULT ApplicationId([out] [retval] GUID* value); [propget] HRESULT User([out] [retval] Windows.System.User** user); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticator)] [uuid(85047792-F634-41E3-96A4-5164E902C740)] interface IOnlineIdSystemAuthenticatorStatics : IInspectable { [propget] HRESULT Default([out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorForUser** value); HRESULT GetForUser([in] Windows.System.User* user, [out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemAuthenticatorForUser** value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdSystemIdentity)] [uuid(743CD20D-B6CA-434D-8124-53EA12685307)] interface IOnlineIdSystemIdentity : IInspectable { [propget] HRESULT Ticket([out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdServiceTicket** value); [propget] HRESULT Id([out] [retval] HSTRING* value); } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.OnlineIdSystemTicketResult)] [uuid(DB0A5FF8-B098-4ACD-9D13-9E640652B5B6)] interface IOnlineIdSystemTicketResult : IInspectable { [propget] HRESULT Identity([out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemIdentity** value); [propget] HRESULT Status([out] [retval] Windows.Security.Authentication.OnlineId.OnlineIdSystemTicketStatus* value); [propget] HRESULT ExtendedError([out] [retval] HRESULT* value); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.Security.Authentication.OnlineId.UserIdentity)] [uuid(2146D9CD-0742-4BE3-8A1C-7C7AE679AA88)] interface IUserIdentity : IInspectable { [propget] HRESULT Tickets([out] [retval] Windows.Foundation.Collections.IVectorView** value); [propget] HRESULT Id([out] [retval] HSTRING* value); [propget] HRESULT SafeCustomerId([out] [retval] HSTRING* value); [propget] HRESULT SignInName([out] [retval] HSTRING* value); [propget] HRESULT FirstName([out] [retval] HSTRING* value); [propget] HRESULT LastName([out] [retval] HSTRING* value); [propget] HRESULT IsBetaAccount([out] [retval] boolean* value); [propget] HRESULT IsConfirmedPC([out] [retval] boolean* value); } [activatable(Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass OnlineIdAuthenticator { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdAuthenticator; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass OnlineIdServiceTicket { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdServiceTicket; } [activatable(Windows.Security.Authentication.OnlineId.IOnlineIdServiceTicketRequestFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass OnlineIdServiceTicketRequest { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdServiceTicketRequest; } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [static(Windows.Security.Authentication.OnlineId.IOnlineIdSystemAuthenticatorStatics, Windows.Foundation.UniversalApiContract, 4.0)] [threading(both)] runtimeclass OnlineIdSystemAuthenticator { } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass OnlineIdSystemAuthenticatorForUser { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdSystemAuthenticatorForUser; } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass OnlineIdSystemIdentity { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdSystemIdentity; } [contract(Windows.Foundation.UniversalApiContract, 4.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass OnlineIdSystemTicketResult { [default] interface Windows.Security.Authentication.OnlineId.IOnlineIdSystemTicketResult; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass SignOutUserOperation { [default] interface Windows.Foundation.IAsyncAction; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass UserAuthenticationOperation { [default] interface Windows.Foundation.IAsyncOperation; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] runtimeclass UserIdentity { [default] interface Windows.Security.Authentication.OnlineId.IUserIdentity; } } } } }