123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- cpp_quote("#include <winapifamily.h>")
- cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)")
- import "wtypes.idl";
- import "shobjidl.idl";
- import "propsys.idl";
- import "unknwn.idl";
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_USAGE_SCENARIO {
- CPUS_INVALID = 0,
- CPUS_LOGON,
- CPUS_UNLOCK_WORKSTATION,
- CPUS_CHANGE_PASSWORD,
- CPUS_CREDUI,
- CPUS_PLAP,
- } CREDENTIAL_PROVIDER_USAGE_SCENARIO;
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_FIELD_TYPE {
- CPFT_INVALID = 0,
- CPFT_LARGE_TEXT,
- CPFT_SMALL_TEXT,
- CPFT_COMMAND_LINK,
- CPFT_EDIT_TEXT,
- CPFT_PASSWORD_TEXT,
- CPFT_TILE_IMAGE,
- CPFT_CHECKBOX,
- CPFT_COMBOBOX,
- CPFT_SUBMIT_BUTTON,
- } CREDENTIAL_PROVIDER_FIELD_TYPE;
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_FIELD_STATE {
- CPFS_HIDDEN = 0,
- CPFS_DISPLAY_IN_SELECTED_TILE,
- CPFS_DISPLAY_IN_DESELECTED_TILE,
- CPFS_DISPLAY_IN_BOTH,
- } CREDENTIAL_PROVIDER_FIELD_STATE;
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE {
- CPFIS_NONE = 0,
- CPFIS_READONLY,
- CPFIS_DISABLED,
- CPFIS_FOCUSED,
- } CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE;
- typedef struct _CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR {
- DWORD dwFieldID;
- CREDENTIAL_PROVIDER_FIELD_TYPE cpft;
- LPWSTR pszLabel;
- GUID guidFieldType;
- } CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR;
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE {
- CPGSR_NO_CREDENTIAL_NOT_FINISHED,
- CPGSR_NO_CREDENTIAL_FINISHED,
- CPGSR_RETURN_CREDENTIAL_FINISHED,
- CPGSR_RETURN_NO_CREDENTIAL_FINISHED,
- } CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE;
- [v1_enum] typedef enum _CREDENTIAL_PROVIDER_STATUS_ICON {
- CPSI_NONE = 0,
- CPSI_ERROR,
- CPSI_WARNING,
- CPSI_SUCCESS,
- } CREDENTIAL_PROVIDER_STATUS_ICON;
- typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
- ULONG ulAuthenticationPackage;
- GUID clsidCredentialProvider;
- ULONG cbSerialization;
- [size_is(cbSerialization)] byte* rgbSerialization;
- } CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- [v1_enum] typedef enum CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS {
- CPAO_NONE = 0x00000000,
- CPAO_EMPTY_LOCAL = 0x00000001,
- CPAO_EMPTY_CONNECTED = 0x00000002,
- } CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS;
- cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS)")
- [v1_enum] typedef enum CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS {
- CPCFO_NONE = 0x00000000,
- CPCFO_ENABLE_PASSWORD_REVEAL = 0x00000001,
- CPCFO_IS_EMAIL_ADDRESS = 0x00000002,
- CPCFO_ENABLE_TOUCH_KEYBOARD_AUTO_INVOKE = 0x00000004,
- CPCFO_NUMBERS_ONLY = 0x00000008,
- CPCFO_SHOW_ENGLISH_KEYBOARD = 0x00000010,
- } CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS;
- cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS)")
- cpp_quote("#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */")
- cpp_quote("#ifdef __WIDL__")
- typedef LONG NTSTATUS;
- cpp_quote("#else")
- cpp_quote("#ifndef NTSTATUS")
- cpp_quote("typedef LONG NTSTATUS;")
- cpp_quote("#endif")
- cpp_quote("#endif")
- cpp_quote("#define CREDENTIAL_PROVIDER_NO_DEFAULT ((DWORD)-1)")
- interface ICredentialProviderCredentialEvents;
- [
- local,
- object,
- pointer_default(ref),
- uuid(63913a93-40c1-481a-818d-4072ff8c70cc),
- ]
- interface ICredentialProviderCredential : IUnknown
- {
- HRESULT Advise([in] ICredentialProviderCredentialEvents* pcpce);
- HRESULT UnAdvise();
- HRESULT SetSelected([out] WINBOOL* pbAutoLogon);
- HRESULT SetDeselected();
- HRESULT GetFieldState([in] DWORD dwFieldID,
- [out] CREDENTIAL_PROVIDER_FIELD_STATE* pcpfs,
- [out] CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE* pcpfis);
- HRESULT GetStringValue([in] DWORD dwFieldID, [out, string] LPWSTR* ppsz);
- HRESULT GetBitmapValue([in] DWORD dwFieldID, [out] HBITMAP* phbmp);
- HRESULT GetCheckboxValue([in] DWORD dwFieldID, [out] WINBOOL* pbChecked, [out, string] LPWSTR* ppszLabel);
- HRESULT GetSubmitButtonValue([in] DWORD dwFieldID, [out] DWORD* pdwAdjacentTo);
- HRESULT GetComboBoxValueCount([in] DWORD dwFieldID, [out] DWORD* pcItems, [out] DWORD* pdwSelectedItem);
- HRESULT GetComboBoxValueAt([in] DWORD dwFieldID, DWORD dwItem, [out, string] LPWSTR* ppszItem);
- HRESULT SetStringValue([in] DWORD dwFieldID, [in, string] LPCWSTR psz);
- HRESULT SetCheckboxValue([in] DWORD dwFieldID, [in] WINBOOL bChecked);
- HRESULT SetComboBoxSelectedValue([in] DWORD dwFieldID, [in] DWORD dwSelectedItem);
- HRESULT CommandLinkClicked([in] DWORD dwFieldID);
- HRESULT GetSerialization([out] CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE* pcpgsr,
- [out] CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcs,
- [out] LPWSTR* ppszOptionalStatusText,
- [out] CREDENTIAL_PROVIDER_STATUS_ICON* pcpsiOptionalStatusIcon);
- HRESULT ReportResult([in] NTSTATUS ntsStatus,
- [in] NTSTATUS ntsSubstatus,
- [out] LPWSTR* ppszOptionalStatusText,
- [out] CREDENTIAL_PROVIDER_STATUS_ICON* pcpsiOptionalStatusIcon);
- }
- [
- local,
- object,
- pointer_default(ref),
- uuid(9090be5b-502b-41fb-bccc-0049a6c7254b),
- ]
- interface IQueryContinueWithStatus : IQueryContinue
- {
- HRESULT SetStatusMessage([in, string] LPCWSTR psz);
- }
- [
- local,
- object,
- pointer_default(ref),
- uuid(9387928b-ac75-4bf9-8ab2-2b93c4a55290),
- ]
- interface IConnectableCredentialProviderCredential : ICredentialProviderCredential
- {
- HRESULT Connect([in] IQueryContinueWithStatus* pqcws);
- HRESULT Disconnect();
- }
- [
- object,
- pointer_default(ref),
- uuid(fa6fa76b-66b7-4b11-95f1-86171118e816),
- ]
- interface ICredentialProviderCredentialEvents : IUnknown
- {
- HRESULT SetFieldState([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] CREDENTIAL_PROVIDER_FIELD_STATE cpfs);
- HRESULT SetFieldInteractiveState([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis);
- HRESULT SetFieldString([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in, string, unique] LPCWSTR psz);
- HRESULT SetFieldCheckbox([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] WINBOOL bChecked,
- [in] LPCWSTR pszLabel);
- HRESULT SetFieldBitmap([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] HBITMAP hbmp);
- HRESULT SetFieldComboBoxSelectedItem([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] DWORD dwSelectedItem);
- HRESULT DeleteFieldComboBoxItem([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] DWORD dwItem);
- HRESULT AppendFieldComboBoxItem([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in, string] LPCWSTR pszItem);
- HRESULT SetFieldSubmitButton([in] ICredentialProviderCredential* pcpc,
- [in] DWORD dwFieldID,
- [in] DWORD dwAdjacentTo);
- HRESULT OnCreatingWindow([out] HWND* phwndOwner);
- }
- interface ICredentialProviderEvents;
- [
- local,
- object,
- pointer_default(ref),
- uuid(d27c3481-5a1c-45b2-8aaa-c20ebbe8229e),
- ]
- interface ICredentialProvider : IUnknown
- {
- HRESULT SetUsageScenario([in] CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
- [in] DWORD dwFlags);
- HRESULT SetSerialization([in] const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcs);
- HRESULT Advise([in] ICredentialProviderEvents* pcpe, [in] UINT_PTR upAdviseContext);
- HRESULT UnAdvise();
- HRESULT GetFieldDescriptorCount([out] DWORD* pdwCount);
- HRESULT GetFieldDescriptorAt([in] DWORD dwIndex,
- [out] CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR** ppcpfd);
- HRESULT GetCredentialCount([out] DWORD* pdwCount,
- [out] DWORD* pdwDefault,
- [out] WINBOOL* pbAutoLogonWithDefault);
- HRESULT GetCredentialAt([in] DWORD dwIndex,
- [out] ICredentialProviderCredential** ppcpc);
- }
- [
- object,
- pointer_default(ref),
- uuid(34201e5a-a787-41a3-a5a4-bd6dcf2a854e),
- ]
- interface ICredentialProviderEvents : IUnknown
- {
- HRESULT CredentialsChanged([in] UINT_PTR upAdviseContext);
- }
- [
- local,
- object,
- pointer_default(ref),
- uuid(a5da53f9-d475-4080-a120-910c4a739880),
- ]
- interface ICredentialProviderFilter : IUnknown
- {
- HRESULT Filter([in] CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
- [in] DWORD dwFlags,
- [in, size_is(cProviders)] GUID* rgclsidProviders,
- [in, out, size_is(cProviders)] WINBOOL* rgbAllow,
- [in] DWORD cProviders);
- HRESULT UpdateRemoteCredential([in] const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcsIn,
- [out] CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION* pcpcsOut);
- }
- cpp_quote("#if (NTDDI_VERSION >= NTDDI_WIN8)")
- [
- local,
- object,
- pointer_default(ref),
- uuid(fd672c54-40ea-4d6e-9b49-cfb1a7507bd7),
- ]
- interface ICredentialProviderCredential2 : ICredentialProviderCredential
- {
- HRESULT GetUserSid([out, string] LPWSTR *sid);
- }
- [
- local,
- object,
- pointer_default(ref),
- uuid(dbc6fb30-c843-49e3-a645-573e6f39446a),
- ]
- interface ICredentialProviderCredentialWithFieldOptions : IUnknown
- {
- HRESULT GetFieldOptions([in] DWORD fieldID,
- [out] CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options);
- }
- [
- object,
- pointer_default(ref),
- uuid(b53c00b6-9922-4b78-b1f4-ddfe774dc39b),
- ]
- interface ICredentialProviderCredentialEvents2 : ICredentialProviderCredentialEvents
- {
- HRESULT BeginFieldUpdates();
- HRESULT EndFieldUpdates();
- HRESULT SetFieldOptions([in] ICredentialProviderCredential *credential,
- [in] DWORD fieldID,
- [in] CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options);
- }
- [
- local,
- uuid(13793285-3ea6-40fd-b420-15f47da41fbb),
- object,
- pointer_default(ref),
- ]
- interface ICredentialProviderUser : IUnknown
- {
- HRESULT GetSid([out, string] LPWSTR *sid);
- HRESULT GetProviderID([out] GUID *providerID);
- HRESULT GetStringValue([in] REFPROPERTYKEY key, [out, string] LPWSTR *stringValue);
- HRESULT GetValue([in] REFPROPERTYKEY key, [out] PROPVARIANT *value);
- }
- cpp_quote("DEFINE_GUID(Identity_LocalUserProvider, 0xA198529B, 0x730F, 0x4089, 0xB6, 0x46, 0xA1, 0x25, 0x57, 0xF5, 0x66, 0x5E);")
- [
- local,
- uuid(90c119ae-0f18-4520-a1f1-114366a40fe8),
- object,
- pointer_default(ref),
- ]
- interface ICredentialProviderUserArray : IUnknown
- {
- HRESULT SetProviderFilter([in] REFGUID guidProviderToFilterTo);
- HRESULT GetAccountOptions([out] CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions);
- HRESULT GetCount([out] DWORD *userCount);
- HRESULT GetAt([in] DWORD userIndex, [out] ICredentialProviderUser **user);
- }
- [
- local,
- uuid(095c1484-1c0c-4388-9c6d-500e61bf84bd),
- object,
- pointer_default(ref),
- ]
- interface ICredentialProviderSetUserArray : IUnknown
- {
- HRESULT SetUserArray([in] ICredentialProviderUserArray *users);
- }
- cpp_quote("#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */")
- [
- uuid(d545db01-e522-4a63-af83-d8ddf954004f),
- ]
- library CredentialProviders
- {
- [uuid(60b78e88-ead8-445c-9cfd-0b87f74ea6cd)]
- coclass PasswordCredentialProvider { interface ICredentialProvider; }
- [uuid(6f45dc1e-5384-457a-bc13-2cd81b0d28ed)]
- coclass V1PasswordCredentialProvider { interface ICredentialProvider; }
- [uuid(cb82ea12-9f71-446d-89e1-8d0924e1256e)]
- coclass PINLogonCredentialProvider { interface ICredentialProvider; }
- [uuid(3dd6bec0-8193-4ffe-ae25-e08e39ea4063)]
- coclass NPCredentialProvider { interface ICredentialProvider; }
- [uuid(8fd7e19c-3bf7-489b-a72c-846ab3678c96)]
- coclass SmartcardCredentialProvider { interface ICredentialProvider; }
- [uuid(8bf9a910-a8ff-457f-999f-a5ca10b4a885)]
- coclass V1SmartcardCredentialProvider { interface ICredentialProvider; }
- [uuid(94596c7e-3744-41ce-893e-bbf09122f76a)]
- coclass SmartcardPinProvider { interface ICredentialProvider; }
- [uuid(1b283861-754f-4022-ad47-a5eaaa618894)]
- coclass SmartcardReaderSelectionProvider { interface ICredentialProvider; }
- [uuid(1ee7337f-85ac-45e2-a23c-37c753209769)]
- coclass SmartcardWinRTProvider { interface ICredentialProvider; }
- [uuid(25CBB996-92ED-457e-B28C-4774084BD562)]
- coclass GenericCredentialProvider { interface ICredentialProvider; }
- [uuid(5537e283-b1e7-4ef8-9c6e-7ab0afe5056d)]
- coclass RASProvider { interface ICredentialProvider; }
- [uuid(07aa0886-cc8d-4e19-a410-1c75af686e62)]
- coclass OnexCredentialProvider { interface ICredentialProvider; }
- [uuid(33c86cd6-705f-4ba1-9adb-67070b837775)]
- coclass OnexPlapSmartcardCredentialProvider { interface ICredentialProvider; }
- [uuid(503739d0-4c5e-4cfd-b3ba-d881334f0df2)]
- coclass VaultProvider { interface ICredentialProvider; }
- [uuid(bec09223-b018-416d-a0ac-523971b639f5)]
- coclass WinBioCredentialProvider { interface ICredentialProvider; }
- [uuid(ac3ac249-e820-4343-a65b-377ac634dc09)]
- coclass V1WinBioCredentialProvider { interface ICredentialProvider; }
- }
- cpp_quote("#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */")
|