master
   1/*** Autogenerated by WIDL 10.4 from include/credentialprovider.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __credentialprovider_h__
  17#define __credentialprovider_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __ICredentialProviderCredential_FWD_DEFINED__
  22#define __ICredentialProviderCredential_FWD_DEFINED__
  23typedef interface ICredentialProviderCredential ICredentialProviderCredential;
  24#ifdef __cplusplus
  25interface ICredentialProviderCredential;
  26#endif /* __cplusplus */
  27#endif
  28
  29#ifndef __IQueryContinueWithStatus_FWD_DEFINED__
  30#define __IQueryContinueWithStatus_FWD_DEFINED__
  31typedef interface IQueryContinueWithStatus IQueryContinueWithStatus;
  32#ifdef __cplusplus
  33interface IQueryContinueWithStatus;
  34#endif /* __cplusplus */
  35#endif
  36
  37#ifndef __IConnectableCredentialProviderCredential_FWD_DEFINED__
  38#define __IConnectableCredentialProviderCredential_FWD_DEFINED__
  39typedef interface IConnectableCredentialProviderCredential IConnectableCredentialProviderCredential;
  40#ifdef __cplusplus
  41interface IConnectableCredentialProviderCredential;
  42#endif /* __cplusplus */
  43#endif
  44
  45#ifndef __ICredentialProviderCredentialEvents_FWD_DEFINED__
  46#define __ICredentialProviderCredentialEvents_FWD_DEFINED__
  47typedef interface ICredentialProviderCredentialEvents ICredentialProviderCredentialEvents;
  48#ifdef __cplusplus
  49interface ICredentialProviderCredentialEvents;
  50#endif /* __cplusplus */
  51#endif
  52
  53#ifndef __ICredentialProvider_FWD_DEFINED__
  54#define __ICredentialProvider_FWD_DEFINED__
  55typedef interface ICredentialProvider ICredentialProvider;
  56#ifdef __cplusplus
  57interface ICredentialProvider;
  58#endif /* __cplusplus */
  59#endif
  60
  61#ifndef __ICredentialProviderEvents_FWD_DEFINED__
  62#define __ICredentialProviderEvents_FWD_DEFINED__
  63typedef interface ICredentialProviderEvents ICredentialProviderEvents;
  64#ifdef __cplusplus
  65interface ICredentialProviderEvents;
  66#endif /* __cplusplus */
  67#endif
  68
  69#ifndef __ICredentialProviderFilter_FWD_DEFINED__
  70#define __ICredentialProviderFilter_FWD_DEFINED__
  71typedef interface ICredentialProviderFilter ICredentialProviderFilter;
  72#ifdef __cplusplus
  73interface ICredentialProviderFilter;
  74#endif /* __cplusplus */
  75#endif
  76
  77#ifndef __ICredentialProviderCredential2_FWD_DEFINED__
  78#define __ICredentialProviderCredential2_FWD_DEFINED__
  79typedef interface ICredentialProviderCredential2 ICredentialProviderCredential2;
  80#ifdef __cplusplus
  81interface ICredentialProviderCredential2;
  82#endif /* __cplusplus */
  83#endif
  84
  85#ifndef __ICredentialProviderCredentialWithFieldOptions_FWD_DEFINED__
  86#define __ICredentialProviderCredentialWithFieldOptions_FWD_DEFINED__
  87typedef interface ICredentialProviderCredentialWithFieldOptions ICredentialProviderCredentialWithFieldOptions;
  88#ifdef __cplusplus
  89interface ICredentialProviderCredentialWithFieldOptions;
  90#endif /* __cplusplus */
  91#endif
  92
  93#ifndef __ICredentialProviderCredentialEvents2_FWD_DEFINED__
  94#define __ICredentialProviderCredentialEvents2_FWD_DEFINED__
  95typedef interface ICredentialProviderCredentialEvents2 ICredentialProviderCredentialEvents2;
  96#ifdef __cplusplus
  97interface ICredentialProviderCredentialEvents2;
  98#endif /* __cplusplus */
  99#endif
 100
 101#ifndef __ICredentialProviderUser_FWD_DEFINED__
 102#define __ICredentialProviderUser_FWD_DEFINED__
 103typedef interface ICredentialProviderUser ICredentialProviderUser;
 104#ifdef __cplusplus
 105interface ICredentialProviderUser;
 106#endif /* __cplusplus */
 107#endif
 108
 109#ifndef __ICredentialProviderUserArray_FWD_DEFINED__
 110#define __ICredentialProviderUserArray_FWD_DEFINED__
 111typedef interface ICredentialProviderUserArray ICredentialProviderUserArray;
 112#ifdef __cplusplus
 113interface ICredentialProviderUserArray;
 114#endif /* __cplusplus */
 115#endif
 116
 117#ifndef __ICredentialProviderSetUserArray_FWD_DEFINED__
 118#define __ICredentialProviderSetUserArray_FWD_DEFINED__
 119typedef interface ICredentialProviderSetUserArray ICredentialProviderSetUserArray;
 120#ifdef __cplusplus
 121interface ICredentialProviderSetUserArray;
 122#endif /* __cplusplus */
 123#endif
 124
 125#ifndef __PasswordCredentialProvider_FWD_DEFINED__
 126#define __PasswordCredentialProvider_FWD_DEFINED__
 127#ifdef __cplusplus
 128typedef class PasswordCredentialProvider PasswordCredentialProvider;
 129#else
 130typedef struct PasswordCredentialProvider PasswordCredentialProvider;
 131#endif /* defined __cplusplus */
 132#endif /* defined __PasswordCredentialProvider_FWD_DEFINED__ */
 133
 134#ifndef __V1PasswordCredentialProvider_FWD_DEFINED__
 135#define __V1PasswordCredentialProvider_FWD_DEFINED__
 136#ifdef __cplusplus
 137typedef class V1PasswordCredentialProvider V1PasswordCredentialProvider;
 138#else
 139typedef struct V1PasswordCredentialProvider V1PasswordCredentialProvider;
 140#endif /* defined __cplusplus */
 141#endif /* defined __V1PasswordCredentialProvider_FWD_DEFINED__ */
 142
 143#ifndef __PINLogonCredentialProvider_FWD_DEFINED__
 144#define __PINLogonCredentialProvider_FWD_DEFINED__
 145#ifdef __cplusplus
 146typedef class PINLogonCredentialProvider PINLogonCredentialProvider;
 147#else
 148typedef struct PINLogonCredentialProvider PINLogonCredentialProvider;
 149#endif /* defined __cplusplus */
 150#endif /* defined __PINLogonCredentialProvider_FWD_DEFINED__ */
 151
 152#ifndef __NPCredentialProvider_FWD_DEFINED__
 153#define __NPCredentialProvider_FWD_DEFINED__
 154#ifdef __cplusplus
 155typedef class NPCredentialProvider NPCredentialProvider;
 156#else
 157typedef struct NPCredentialProvider NPCredentialProvider;
 158#endif /* defined __cplusplus */
 159#endif /* defined __NPCredentialProvider_FWD_DEFINED__ */
 160
 161#ifndef __SmartcardCredentialProvider_FWD_DEFINED__
 162#define __SmartcardCredentialProvider_FWD_DEFINED__
 163#ifdef __cplusplus
 164typedef class SmartcardCredentialProvider SmartcardCredentialProvider;
 165#else
 166typedef struct SmartcardCredentialProvider SmartcardCredentialProvider;
 167#endif /* defined __cplusplus */
 168#endif /* defined __SmartcardCredentialProvider_FWD_DEFINED__ */
 169
 170#ifndef __V1SmartcardCredentialProvider_FWD_DEFINED__
 171#define __V1SmartcardCredentialProvider_FWD_DEFINED__
 172#ifdef __cplusplus
 173typedef class V1SmartcardCredentialProvider V1SmartcardCredentialProvider;
 174#else
 175typedef struct V1SmartcardCredentialProvider V1SmartcardCredentialProvider;
 176#endif /* defined __cplusplus */
 177#endif /* defined __V1SmartcardCredentialProvider_FWD_DEFINED__ */
 178
 179#ifndef __SmartcardPinProvider_FWD_DEFINED__
 180#define __SmartcardPinProvider_FWD_DEFINED__
 181#ifdef __cplusplus
 182typedef class SmartcardPinProvider SmartcardPinProvider;
 183#else
 184typedef struct SmartcardPinProvider SmartcardPinProvider;
 185#endif /* defined __cplusplus */
 186#endif /* defined __SmartcardPinProvider_FWD_DEFINED__ */
 187
 188#ifndef __SmartcardReaderSelectionProvider_FWD_DEFINED__
 189#define __SmartcardReaderSelectionProvider_FWD_DEFINED__
 190#ifdef __cplusplus
 191typedef class SmartcardReaderSelectionProvider SmartcardReaderSelectionProvider;
 192#else
 193typedef struct SmartcardReaderSelectionProvider SmartcardReaderSelectionProvider;
 194#endif /* defined __cplusplus */
 195#endif /* defined __SmartcardReaderSelectionProvider_FWD_DEFINED__ */
 196
 197#ifndef __SmartcardWinRTProvider_FWD_DEFINED__
 198#define __SmartcardWinRTProvider_FWD_DEFINED__
 199#ifdef __cplusplus
 200typedef class SmartcardWinRTProvider SmartcardWinRTProvider;
 201#else
 202typedef struct SmartcardWinRTProvider SmartcardWinRTProvider;
 203#endif /* defined __cplusplus */
 204#endif /* defined __SmartcardWinRTProvider_FWD_DEFINED__ */
 205
 206#ifndef __GenericCredentialProvider_FWD_DEFINED__
 207#define __GenericCredentialProvider_FWD_DEFINED__
 208#ifdef __cplusplus
 209typedef class GenericCredentialProvider GenericCredentialProvider;
 210#else
 211typedef struct GenericCredentialProvider GenericCredentialProvider;
 212#endif /* defined __cplusplus */
 213#endif /* defined __GenericCredentialProvider_FWD_DEFINED__ */
 214
 215#ifndef __RASProvider_FWD_DEFINED__
 216#define __RASProvider_FWD_DEFINED__
 217#ifdef __cplusplus
 218typedef class RASProvider RASProvider;
 219#else
 220typedef struct RASProvider RASProvider;
 221#endif /* defined __cplusplus */
 222#endif /* defined __RASProvider_FWD_DEFINED__ */
 223
 224#ifndef __OnexCredentialProvider_FWD_DEFINED__
 225#define __OnexCredentialProvider_FWD_DEFINED__
 226#ifdef __cplusplus
 227typedef class OnexCredentialProvider OnexCredentialProvider;
 228#else
 229typedef struct OnexCredentialProvider OnexCredentialProvider;
 230#endif /* defined __cplusplus */
 231#endif /* defined __OnexCredentialProvider_FWD_DEFINED__ */
 232
 233#ifndef __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__
 234#define __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__
 235#ifdef __cplusplus
 236typedef class OnexPlapSmartcardCredentialProvider OnexPlapSmartcardCredentialProvider;
 237#else
 238typedef struct OnexPlapSmartcardCredentialProvider OnexPlapSmartcardCredentialProvider;
 239#endif /* defined __cplusplus */
 240#endif /* defined __OnexPlapSmartcardCredentialProvider_FWD_DEFINED__ */
 241
 242#ifndef __VaultProvider_FWD_DEFINED__
 243#define __VaultProvider_FWD_DEFINED__
 244#ifdef __cplusplus
 245typedef class VaultProvider VaultProvider;
 246#else
 247typedef struct VaultProvider VaultProvider;
 248#endif /* defined __cplusplus */
 249#endif /* defined __VaultProvider_FWD_DEFINED__ */
 250
 251#ifndef __WinBioCredentialProvider_FWD_DEFINED__
 252#define __WinBioCredentialProvider_FWD_DEFINED__
 253#ifdef __cplusplus
 254typedef class WinBioCredentialProvider WinBioCredentialProvider;
 255#else
 256typedef struct WinBioCredentialProvider WinBioCredentialProvider;
 257#endif /* defined __cplusplus */
 258#endif /* defined __WinBioCredentialProvider_FWD_DEFINED__ */
 259
 260#ifndef __V1WinBioCredentialProvider_FWD_DEFINED__
 261#define __V1WinBioCredentialProvider_FWD_DEFINED__
 262#ifdef __cplusplus
 263typedef class V1WinBioCredentialProvider V1WinBioCredentialProvider;
 264#else
 265typedef struct V1WinBioCredentialProvider V1WinBioCredentialProvider;
 266#endif /* defined __cplusplus */
 267#endif /* defined __V1WinBioCredentialProvider_FWD_DEFINED__ */
 268
 269/* Headers for imported files */
 270
 271#include <wtypes.h>
 272#include <shobjidl.h>
 273#include <propsys.h>
 274#include <unknwn.h>
 275
 276#ifdef __cplusplus
 277extern "C" {
 278#endif
 279
 280#include <winapifamily.h>
 281#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 282typedef enum _CREDENTIAL_PROVIDER_USAGE_SCENARIO {
 283    CPUS_INVALID = 0,
 284    CPUS_LOGON = 1,
 285    CPUS_UNLOCK_WORKSTATION = 2,
 286    CPUS_CHANGE_PASSWORD = 3,
 287    CPUS_CREDUI = 4,
 288    CPUS_PLAP = 5
 289} CREDENTIAL_PROVIDER_USAGE_SCENARIO;
 290typedef enum _CREDENTIAL_PROVIDER_FIELD_TYPE {
 291    CPFT_INVALID = 0,
 292    CPFT_LARGE_TEXT = 1,
 293    CPFT_SMALL_TEXT = 2,
 294    CPFT_COMMAND_LINK = 3,
 295    CPFT_EDIT_TEXT = 4,
 296    CPFT_PASSWORD_TEXT = 5,
 297    CPFT_TILE_IMAGE = 6,
 298    CPFT_CHECKBOX = 7,
 299    CPFT_COMBOBOX = 8,
 300    CPFT_SUBMIT_BUTTON = 9
 301} CREDENTIAL_PROVIDER_FIELD_TYPE;
 302typedef enum _CREDENTIAL_PROVIDER_FIELD_STATE {
 303    CPFS_HIDDEN = 0,
 304    CPFS_DISPLAY_IN_SELECTED_TILE = 1,
 305    CPFS_DISPLAY_IN_DESELECTED_TILE = 2,
 306    CPFS_DISPLAY_IN_BOTH = 3
 307} CREDENTIAL_PROVIDER_FIELD_STATE;
 308typedef enum _CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE {
 309    CPFIS_NONE = 0,
 310    CPFIS_READONLY = 1,
 311    CPFIS_DISABLED = 2,
 312    CPFIS_FOCUSED = 3
 313} CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE;
 314typedef struct _CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR {
 315    DWORD dwFieldID;
 316    CREDENTIAL_PROVIDER_FIELD_TYPE cpft;
 317    LPWSTR pszLabel;
 318    GUID guidFieldType;
 319} CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR;
 320typedef enum _CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE {
 321    CPGSR_NO_CREDENTIAL_NOT_FINISHED = 0,
 322    CPGSR_NO_CREDENTIAL_FINISHED = 1,
 323    CPGSR_RETURN_CREDENTIAL_FINISHED = 2,
 324    CPGSR_RETURN_NO_CREDENTIAL_FINISHED = 3
 325} CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE;
 326typedef enum _CREDENTIAL_PROVIDER_STATUS_ICON {
 327    CPSI_NONE = 0,
 328    CPSI_ERROR = 1,
 329    CPSI_WARNING = 2,
 330    CPSI_SUCCESS = 3
 331} CREDENTIAL_PROVIDER_STATUS_ICON;
 332typedef struct _CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION {
 333    ULONG ulAuthenticationPackage;
 334    GUID clsidCredentialProvider;
 335    ULONG cbSerialization;
 336    byte *rgbSerialization;
 337} CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION;
 338#if (NTDDI_VERSION >= NTDDI_WIN8)
 339typedef enum CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS {
 340    CPAO_NONE = 0x0,
 341    CPAO_EMPTY_LOCAL = 0x1,
 342    CPAO_EMPTY_CONNECTED = 0x2
 343} CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS;
 344DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS)
 345typedef enum CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS {
 346    CPCFO_NONE = 0x0,
 347    CPCFO_ENABLE_PASSWORD_REVEAL = 0x1,
 348    CPCFO_IS_EMAIL_ADDRESS = 0x2,
 349    CPCFO_ENABLE_TOUCH_KEYBOARD_AUTO_INVOKE = 0x4,
 350    CPCFO_NUMBERS_ONLY = 0x8,
 351    CPCFO_SHOW_ENGLISH_KEYBOARD = 0x10
 352} CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS;
 353DEFINE_ENUM_FLAG_OPERATORS(CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS)
 354#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
 355#ifdef __WIDL__
 356typedef LONG NTSTATUS;
 357#else
 358#ifndef NTSTATUS
 359typedef LONG NTSTATUS;
 360#endif
 361#endif
 362#define CREDENTIAL_PROVIDER_NO_DEFAULT ((DWORD)-1)
 363#ifndef __ICredentialProviderCredentialEvents_FWD_DEFINED__
 364#define __ICredentialProviderCredentialEvents_FWD_DEFINED__
 365typedef interface ICredentialProviderCredentialEvents ICredentialProviderCredentialEvents;
 366#ifdef __cplusplus
 367interface ICredentialProviderCredentialEvents;
 368#endif /* __cplusplus */
 369#endif
 370
 371/*****************************************************************************
 372 * ICredentialProviderCredential interface
 373 */
 374#ifndef __ICredentialProviderCredential_INTERFACE_DEFINED__
 375#define __ICredentialProviderCredential_INTERFACE_DEFINED__
 376
 377DEFINE_GUID(IID_ICredentialProviderCredential, 0x63913a93, 0x40c1, 0x481a, 0x81,0x8d, 0x40,0x72,0xff,0x8c,0x70,0xcc);
 378#if defined(__cplusplus) && !defined(CINTERFACE)
 379MIDL_INTERFACE("63913a93-40c1-481a-818d-4072ff8c70cc")
 380ICredentialProviderCredential : public IUnknown
 381{
 382    virtual HRESULT STDMETHODCALLTYPE Advise(
 383        ICredentialProviderCredentialEvents *pcpce) = 0;
 384
 385    virtual HRESULT STDMETHODCALLTYPE UnAdvise(
 386        ) = 0;
 387
 388    virtual HRESULT STDMETHODCALLTYPE SetSelected(
 389        WINBOOL *pbAutoLogon) = 0;
 390
 391    virtual HRESULT STDMETHODCALLTYPE SetDeselected(
 392        ) = 0;
 393
 394    virtual HRESULT STDMETHODCALLTYPE GetFieldState(
 395        DWORD dwFieldID,
 396        CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
 397        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) = 0;
 398
 399    virtual HRESULT STDMETHODCALLTYPE GetStringValue(
 400        DWORD dwFieldID,
 401        LPWSTR *ppsz) = 0;
 402
 403    virtual HRESULT STDMETHODCALLTYPE GetBitmapValue(
 404        DWORD dwFieldID,
 405        HBITMAP *phbmp) = 0;
 406
 407    virtual HRESULT STDMETHODCALLTYPE GetCheckboxValue(
 408        DWORD dwFieldID,
 409        WINBOOL *pbChecked,
 410        LPWSTR *ppszLabel) = 0;
 411
 412    virtual HRESULT STDMETHODCALLTYPE GetSubmitButtonValue(
 413        DWORD dwFieldID,
 414        DWORD *pdwAdjacentTo) = 0;
 415
 416    virtual HRESULT STDMETHODCALLTYPE GetComboBoxValueCount(
 417        DWORD dwFieldID,
 418        DWORD *pcItems,
 419        DWORD *pdwSelectedItem) = 0;
 420
 421    virtual HRESULT STDMETHODCALLTYPE GetComboBoxValueAt(
 422        DWORD dwFieldID,
 423        DWORD dwItem,
 424        LPWSTR *ppszItem) = 0;
 425
 426    virtual HRESULT STDMETHODCALLTYPE SetStringValue(
 427        DWORD dwFieldID,
 428        LPCWSTR psz) = 0;
 429
 430    virtual HRESULT STDMETHODCALLTYPE SetCheckboxValue(
 431        DWORD dwFieldID,
 432        WINBOOL bChecked) = 0;
 433
 434    virtual HRESULT STDMETHODCALLTYPE SetComboBoxSelectedValue(
 435        DWORD dwFieldID,
 436        DWORD dwSelectedItem) = 0;
 437
 438    virtual HRESULT STDMETHODCALLTYPE CommandLinkClicked(
 439        DWORD dwFieldID) = 0;
 440
 441    virtual HRESULT STDMETHODCALLTYPE GetSerialization(
 442        CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
 443        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
 444        LPWSTR *ppszOptionalStatusText,
 445        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) = 0;
 446
 447    virtual HRESULT STDMETHODCALLTYPE ReportResult(
 448        NTSTATUS ntsStatus,
 449        NTSTATUS ntsSubstatus,
 450        LPWSTR *ppszOptionalStatusText,
 451        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) = 0;
 452
 453};
 454#ifdef __CRT_UUID_DECL
 455__CRT_UUID_DECL(ICredentialProviderCredential, 0x63913a93, 0x40c1, 0x481a, 0x81,0x8d, 0x40,0x72,0xff,0x8c,0x70,0xcc)
 456#endif
 457#else
 458typedef struct ICredentialProviderCredentialVtbl {
 459    BEGIN_INTERFACE
 460
 461    /*** IUnknown methods ***/
 462    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 463        ICredentialProviderCredential *This,
 464        REFIID riid,
 465        void **ppvObject);
 466
 467    ULONG (STDMETHODCALLTYPE *AddRef)(
 468        ICredentialProviderCredential *This);
 469
 470    ULONG (STDMETHODCALLTYPE *Release)(
 471        ICredentialProviderCredential *This);
 472
 473    /*** ICredentialProviderCredential methods ***/
 474    HRESULT (STDMETHODCALLTYPE *Advise)(
 475        ICredentialProviderCredential *This,
 476        ICredentialProviderCredentialEvents *pcpce);
 477
 478    HRESULT (STDMETHODCALLTYPE *UnAdvise)(
 479        ICredentialProviderCredential *This);
 480
 481    HRESULT (STDMETHODCALLTYPE *SetSelected)(
 482        ICredentialProviderCredential *This,
 483        WINBOOL *pbAutoLogon);
 484
 485    HRESULT (STDMETHODCALLTYPE *SetDeselected)(
 486        ICredentialProviderCredential *This);
 487
 488    HRESULT (STDMETHODCALLTYPE *GetFieldState)(
 489        ICredentialProviderCredential *This,
 490        DWORD dwFieldID,
 491        CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
 492        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
 493
 494    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
 495        ICredentialProviderCredential *This,
 496        DWORD dwFieldID,
 497        LPWSTR *ppsz);
 498
 499    HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
 500        ICredentialProviderCredential *This,
 501        DWORD dwFieldID,
 502        HBITMAP *phbmp);
 503
 504    HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
 505        ICredentialProviderCredential *This,
 506        DWORD dwFieldID,
 507        WINBOOL *pbChecked,
 508        LPWSTR *ppszLabel);
 509
 510    HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
 511        ICredentialProviderCredential *This,
 512        DWORD dwFieldID,
 513        DWORD *pdwAdjacentTo);
 514
 515    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
 516        ICredentialProviderCredential *This,
 517        DWORD dwFieldID,
 518        DWORD *pcItems,
 519        DWORD *pdwSelectedItem);
 520
 521    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
 522        ICredentialProviderCredential *This,
 523        DWORD dwFieldID,
 524        DWORD dwItem,
 525        LPWSTR *ppszItem);
 526
 527    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
 528        ICredentialProviderCredential *This,
 529        DWORD dwFieldID,
 530        LPCWSTR psz);
 531
 532    HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
 533        ICredentialProviderCredential *This,
 534        DWORD dwFieldID,
 535        WINBOOL bChecked);
 536
 537    HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
 538        ICredentialProviderCredential *This,
 539        DWORD dwFieldID,
 540        DWORD dwSelectedItem);
 541
 542    HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
 543        ICredentialProviderCredential *This,
 544        DWORD dwFieldID);
 545
 546    HRESULT (STDMETHODCALLTYPE *GetSerialization)(
 547        ICredentialProviderCredential *This,
 548        CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
 549        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
 550        LPWSTR *ppszOptionalStatusText,
 551        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
 552
 553    HRESULT (STDMETHODCALLTYPE *ReportResult)(
 554        ICredentialProviderCredential *This,
 555        NTSTATUS ntsStatus,
 556        NTSTATUS ntsSubstatus,
 557        LPWSTR *ppszOptionalStatusText,
 558        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
 559
 560    END_INTERFACE
 561} ICredentialProviderCredentialVtbl;
 562
 563interface ICredentialProviderCredential {
 564    CONST_VTBL ICredentialProviderCredentialVtbl* lpVtbl;
 565};
 566
 567#ifdef COBJMACROS
 568#ifndef WIDL_C_INLINE_WRAPPERS
 569/*** IUnknown methods ***/
 570#define ICredentialProviderCredential_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 571#define ICredentialProviderCredential_AddRef(This) (This)->lpVtbl->AddRef(This)
 572#define ICredentialProviderCredential_Release(This) (This)->lpVtbl->Release(This)
 573/*** ICredentialProviderCredential methods ***/
 574#define ICredentialProviderCredential_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
 575#define ICredentialProviderCredential_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
 576#define ICredentialProviderCredential_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
 577#define ICredentialProviderCredential_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
 578#define ICredentialProviderCredential_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
 579#define ICredentialProviderCredential_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
 580#define ICredentialProviderCredential_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
 581#define ICredentialProviderCredential_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
 582#define ICredentialProviderCredential_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
 583#define ICredentialProviderCredential_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
 584#define ICredentialProviderCredential_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
 585#define ICredentialProviderCredential_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
 586#define ICredentialProviderCredential_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
 587#define ICredentialProviderCredential_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
 588#define ICredentialProviderCredential_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
 589#define ICredentialProviderCredential_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
 590#define ICredentialProviderCredential_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
 591#else
 592/*** IUnknown methods ***/
 593static inline HRESULT ICredentialProviderCredential_QueryInterface(ICredentialProviderCredential* This,REFIID riid,void **ppvObject) {
 594    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 595}
 596static inline ULONG ICredentialProviderCredential_AddRef(ICredentialProviderCredential* This) {
 597    return This->lpVtbl->AddRef(This);
 598}
 599static inline ULONG ICredentialProviderCredential_Release(ICredentialProviderCredential* This) {
 600    return This->lpVtbl->Release(This);
 601}
 602/*** ICredentialProviderCredential methods ***/
 603static inline HRESULT ICredentialProviderCredential_Advise(ICredentialProviderCredential* This,ICredentialProviderCredentialEvents *pcpce) {
 604    return This->lpVtbl->Advise(This,pcpce);
 605}
 606static inline HRESULT ICredentialProviderCredential_UnAdvise(ICredentialProviderCredential* This) {
 607    return This->lpVtbl->UnAdvise(This);
 608}
 609static inline HRESULT ICredentialProviderCredential_SetSelected(ICredentialProviderCredential* This,WINBOOL *pbAutoLogon) {
 610    return This->lpVtbl->SetSelected(This,pbAutoLogon);
 611}
 612static inline HRESULT ICredentialProviderCredential_SetDeselected(ICredentialProviderCredential* This) {
 613    return This->lpVtbl->SetDeselected(This);
 614}
 615static inline HRESULT ICredentialProviderCredential_GetFieldState(ICredentialProviderCredential* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
 616    return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
 617}
 618static inline HRESULT ICredentialProviderCredential_GetStringValue(ICredentialProviderCredential* This,DWORD dwFieldID,LPWSTR *ppsz) {
 619    return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
 620}
 621static inline HRESULT ICredentialProviderCredential_GetBitmapValue(ICredentialProviderCredential* This,DWORD dwFieldID,HBITMAP *phbmp) {
 622    return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
 623}
 624static inline HRESULT ICredentialProviderCredential_GetCheckboxValue(ICredentialProviderCredential* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
 625    return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
 626}
 627static inline HRESULT ICredentialProviderCredential_GetSubmitButtonValue(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
 628    return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
 629}
 630static inline HRESULT ICredentialProviderCredential_GetComboBoxValueCount(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
 631    return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
 632}
 633static inline HRESULT ICredentialProviderCredential_GetComboBoxValueAt(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
 634    return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
 635}
 636static inline HRESULT ICredentialProviderCredential_SetStringValue(ICredentialProviderCredential* This,DWORD dwFieldID,LPCWSTR psz) {
 637    return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
 638}
 639static inline HRESULT ICredentialProviderCredential_SetCheckboxValue(ICredentialProviderCredential* This,DWORD dwFieldID,WINBOOL bChecked) {
 640    return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
 641}
 642static inline HRESULT ICredentialProviderCredential_SetComboBoxSelectedValue(ICredentialProviderCredential* This,DWORD dwFieldID,DWORD dwSelectedItem) {
 643    return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
 644}
 645static inline HRESULT ICredentialProviderCredential_CommandLinkClicked(ICredentialProviderCredential* This,DWORD dwFieldID) {
 646    return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
 647}
 648static inline HRESULT ICredentialProviderCredential_GetSerialization(ICredentialProviderCredential* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
 649    return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
 650}
 651static inline HRESULT ICredentialProviderCredential_ReportResult(ICredentialProviderCredential* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
 652    return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
 653}
 654#endif
 655#endif
 656
 657#endif
 658
 659
 660#endif  /* __ICredentialProviderCredential_INTERFACE_DEFINED__ */
 661
 662/*****************************************************************************
 663 * IQueryContinueWithStatus interface
 664 */
 665#ifndef __IQueryContinueWithStatus_INTERFACE_DEFINED__
 666#define __IQueryContinueWithStatus_INTERFACE_DEFINED__
 667
 668DEFINE_GUID(IID_IQueryContinueWithStatus, 0x9090be5b, 0x502b, 0x41fb, 0xbc,0xcc, 0x00,0x49,0xa6,0xc7,0x25,0x4b);
 669#if defined(__cplusplus) && !defined(CINTERFACE)
 670MIDL_INTERFACE("9090be5b-502b-41fb-bccc-0049a6c7254b")
 671IQueryContinueWithStatus : public IQueryContinue
 672{
 673    virtual HRESULT STDMETHODCALLTYPE SetStatusMessage(
 674        LPCWSTR psz) = 0;
 675
 676};
 677#ifdef __CRT_UUID_DECL
 678__CRT_UUID_DECL(IQueryContinueWithStatus, 0x9090be5b, 0x502b, 0x41fb, 0xbc,0xcc, 0x00,0x49,0xa6,0xc7,0x25,0x4b)
 679#endif
 680#else
 681typedef struct IQueryContinueWithStatusVtbl {
 682    BEGIN_INTERFACE
 683
 684    /*** IUnknown methods ***/
 685    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 686        IQueryContinueWithStatus *This,
 687        REFIID riid,
 688        void **ppvObject);
 689
 690    ULONG (STDMETHODCALLTYPE *AddRef)(
 691        IQueryContinueWithStatus *This);
 692
 693    ULONG (STDMETHODCALLTYPE *Release)(
 694        IQueryContinueWithStatus *This);
 695
 696    /*** IQueryContinue methods ***/
 697    HRESULT (STDMETHODCALLTYPE *QueryContinue)(
 698        IQueryContinueWithStatus *This);
 699
 700    /*** IQueryContinueWithStatus methods ***/
 701    HRESULT (STDMETHODCALLTYPE *SetStatusMessage)(
 702        IQueryContinueWithStatus *This,
 703        LPCWSTR psz);
 704
 705    END_INTERFACE
 706} IQueryContinueWithStatusVtbl;
 707
 708interface IQueryContinueWithStatus {
 709    CONST_VTBL IQueryContinueWithStatusVtbl* lpVtbl;
 710};
 711
 712#ifdef COBJMACROS
 713#ifndef WIDL_C_INLINE_WRAPPERS
 714/*** IUnknown methods ***/
 715#define IQueryContinueWithStatus_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 716#define IQueryContinueWithStatus_AddRef(This) (This)->lpVtbl->AddRef(This)
 717#define IQueryContinueWithStatus_Release(This) (This)->lpVtbl->Release(This)
 718/*** IQueryContinue methods ***/
 719#define IQueryContinueWithStatus_QueryContinue(This) (This)->lpVtbl->QueryContinue(This)
 720/*** IQueryContinueWithStatus methods ***/
 721#define IQueryContinueWithStatus_SetStatusMessage(This,psz) (This)->lpVtbl->SetStatusMessage(This,psz)
 722#else
 723/*** IUnknown methods ***/
 724static inline HRESULT IQueryContinueWithStatus_QueryInterface(IQueryContinueWithStatus* This,REFIID riid,void **ppvObject) {
 725    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 726}
 727static inline ULONG IQueryContinueWithStatus_AddRef(IQueryContinueWithStatus* This) {
 728    return This->lpVtbl->AddRef(This);
 729}
 730static inline ULONG IQueryContinueWithStatus_Release(IQueryContinueWithStatus* This) {
 731    return This->lpVtbl->Release(This);
 732}
 733/*** IQueryContinue methods ***/
 734static inline HRESULT IQueryContinueWithStatus_QueryContinue(IQueryContinueWithStatus* This) {
 735    return This->lpVtbl->QueryContinue(This);
 736}
 737/*** IQueryContinueWithStatus methods ***/
 738static inline HRESULT IQueryContinueWithStatus_SetStatusMessage(IQueryContinueWithStatus* This,LPCWSTR psz) {
 739    return This->lpVtbl->SetStatusMessage(This,psz);
 740}
 741#endif
 742#endif
 743
 744#endif
 745
 746
 747#endif  /* __IQueryContinueWithStatus_INTERFACE_DEFINED__ */
 748
 749/*****************************************************************************
 750 * IConnectableCredentialProviderCredential interface
 751 */
 752#ifndef __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__
 753#define __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__
 754
 755DEFINE_GUID(IID_IConnectableCredentialProviderCredential, 0x9387928b, 0xac75, 0x4bf9, 0x8a,0xb2, 0x2b,0x93,0xc4,0xa5,0x52,0x90);
 756#if defined(__cplusplus) && !defined(CINTERFACE)
 757MIDL_INTERFACE("9387928b-ac75-4bf9-8ab2-2b93c4a55290")
 758IConnectableCredentialProviderCredential : public ICredentialProviderCredential
 759{
 760    virtual HRESULT STDMETHODCALLTYPE Connect(
 761        IQueryContinueWithStatus *pqcws) = 0;
 762
 763    virtual HRESULT STDMETHODCALLTYPE Disconnect(
 764        ) = 0;
 765
 766};
 767#ifdef __CRT_UUID_DECL
 768__CRT_UUID_DECL(IConnectableCredentialProviderCredential, 0x9387928b, 0xac75, 0x4bf9, 0x8a,0xb2, 0x2b,0x93,0xc4,0xa5,0x52,0x90)
 769#endif
 770#else
 771typedef struct IConnectableCredentialProviderCredentialVtbl {
 772    BEGIN_INTERFACE
 773
 774    /*** IUnknown methods ***/
 775    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
 776        IConnectableCredentialProviderCredential *This,
 777        REFIID riid,
 778        void **ppvObject);
 779
 780    ULONG (STDMETHODCALLTYPE *AddRef)(
 781        IConnectableCredentialProviderCredential *This);
 782
 783    ULONG (STDMETHODCALLTYPE *Release)(
 784        IConnectableCredentialProviderCredential *This);
 785
 786    /*** ICredentialProviderCredential methods ***/
 787    HRESULT (STDMETHODCALLTYPE *Advise)(
 788        IConnectableCredentialProviderCredential *This,
 789        ICredentialProviderCredentialEvents *pcpce);
 790
 791    HRESULT (STDMETHODCALLTYPE *UnAdvise)(
 792        IConnectableCredentialProviderCredential *This);
 793
 794    HRESULT (STDMETHODCALLTYPE *SetSelected)(
 795        IConnectableCredentialProviderCredential *This,
 796        WINBOOL *pbAutoLogon);
 797
 798    HRESULT (STDMETHODCALLTYPE *SetDeselected)(
 799        IConnectableCredentialProviderCredential *This);
 800
 801    HRESULT (STDMETHODCALLTYPE *GetFieldState)(
 802        IConnectableCredentialProviderCredential *This,
 803        DWORD dwFieldID,
 804        CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
 805        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
 806
 807    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
 808        IConnectableCredentialProviderCredential *This,
 809        DWORD dwFieldID,
 810        LPWSTR *ppsz);
 811
 812    HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
 813        IConnectableCredentialProviderCredential *This,
 814        DWORD dwFieldID,
 815        HBITMAP *phbmp);
 816
 817    HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
 818        IConnectableCredentialProviderCredential *This,
 819        DWORD dwFieldID,
 820        WINBOOL *pbChecked,
 821        LPWSTR *ppszLabel);
 822
 823    HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
 824        IConnectableCredentialProviderCredential *This,
 825        DWORD dwFieldID,
 826        DWORD *pdwAdjacentTo);
 827
 828    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
 829        IConnectableCredentialProviderCredential *This,
 830        DWORD dwFieldID,
 831        DWORD *pcItems,
 832        DWORD *pdwSelectedItem);
 833
 834    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
 835        IConnectableCredentialProviderCredential *This,
 836        DWORD dwFieldID,
 837        DWORD dwItem,
 838        LPWSTR *ppszItem);
 839
 840    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
 841        IConnectableCredentialProviderCredential *This,
 842        DWORD dwFieldID,
 843        LPCWSTR psz);
 844
 845    HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
 846        IConnectableCredentialProviderCredential *This,
 847        DWORD dwFieldID,
 848        WINBOOL bChecked);
 849
 850    HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
 851        IConnectableCredentialProviderCredential *This,
 852        DWORD dwFieldID,
 853        DWORD dwSelectedItem);
 854
 855    HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
 856        IConnectableCredentialProviderCredential *This,
 857        DWORD dwFieldID);
 858
 859    HRESULT (STDMETHODCALLTYPE *GetSerialization)(
 860        IConnectableCredentialProviderCredential *This,
 861        CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
 862        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
 863        LPWSTR *ppszOptionalStatusText,
 864        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
 865
 866    HRESULT (STDMETHODCALLTYPE *ReportResult)(
 867        IConnectableCredentialProviderCredential *This,
 868        NTSTATUS ntsStatus,
 869        NTSTATUS ntsSubstatus,
 870        LPWSTR *ppszOptionalStatusText,
 871        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
 872
 873    /*** IConnectableCredentialProviderCredential methods ***/
 874    HRESULT (STDMETHODCALLTYPE *Connect)(
 875        IConnectableCredentialProviderCredential *This,
 876        IQueryContinueWithStatus *pqcws);
 877
 878    HRESULT (STDMETHODCALLTYPE *Disconnect)(
 879        IConnectableCredentialProviderCredential *This);
 880
 881    END_INTERFACE
 882} IConnectableCredentialProviderCredentialVtbl;
 883
 884interface IConnectableCredentialProviderCredential {
 885    CONST_VTBL IConnectableCredentialProviderCredentialVtbl* lpVtbl;
 886};
 887
 888#ifdef COBJMACROS
 889#ifndef WIDL_C_INLINE_WRAPPERS
 890/*** IUnknown methods ***/
 891#define IConnectableCredentialProviderCredential_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
 892#define IConnectableCredentialProviderCredential_AddRef(This) (This)->lpVtbl->AddRef(This)
 893#define IConnectableCredentialProviderCredential_Release(This) (This)->lpVtbl->Release(This)
 894/*** ICredentialProviderCredential methods ***/
 895#define IConnectableCredentialProviderCredential_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
 896#define IConnectableCredentialProviderCredential_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
 897#define IConnectableCredentialProviderCredential_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
 898#define IConnectableCredentialProviderCredential_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
 899#define IConnectableCredentialProviderCredential_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
 900#define IConnectableCredentialProviderCredential_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
 901#define IConnectableCredentialProviderCredential_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
 902#define IConnectableCredentialProviderCredential_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
 903#define IConnectableCredentialProviderCredential_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
 904#define IConnectableCredentialProviderCredential_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
 905#define IConnectableCredentialProviderCredential_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
 906#define IConnectableCredentialProviderCredential_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
 907#define IConnectableCredentialProviderCredential_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
 908#define IConnectableCredentialProviderCredential_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
 909#define IConnectableCredentialProviderCredential_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
 910#define IConnectableCredentialProviderCredential_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
 911#define IConnectableCredentialProviderCredential_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
 912/*** IConnectableCredentialProviderCredential methods ***/
 913#define IConnectableCredentialProviderCredential_Connect(This,pqcws) (This)->lpVtbl->Connect(This,pqcws)
 914#define IConnectableCredentialProviderCredential_Disconnect(This) (This)->lpVtbl->Disconnect(This)
 915#else
 916/*** IUnknown methods ***/
 917static inline HRESULT IConnectableCredentialProviderCredential_QueryInterface(IConnectableCredentialProviderCredential* This,REFIID riid,void **ppvObject) {
 918    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
 919}
 920static inline ULONG IConnectableCredentialProviderCredential_AddRef(IConnectableCredentialProviderCredential* This) {
 921    return This->lpVtbl->AddRef(This);
 922}
 923static inline ULONG IConnectableCredentialProviderCredential_Release(IConnectableCredentialProviderCredential* This) {
 924    return This->lpVtbl->Release(This);
 925}
 926/*** ICredentialProviderCredential methods ***/
 927static inline HRESULT IConnectableCredentialProviderCredential_Advise(IConnectableCredentialProviderCredential* This,ICredentialProviderCredentialEvents *pcpce) {
 928    return This->lpVtbl->Advise(This,pcpce);
 929}
 930static inline HRESULT IConnectableCredentialProviderCredential_UnAdvise(IConnectableCredentialProviderCredential* This) {
 931    return This->lpVtbl->UnAdvise(This);
 932}
 933static inline HRESULT IConnectableCredentialProviderCredential_SetSelected(IConnectableCredentialProviderCredential* This,WINBOOL *pbAutoLogon) {
 934    return This->lpVtbl->SetSelected(This,pbAutoLogon);
 935}
 936static inline HRESULT IConnectableCredentialProviderCredential_SetDeselected(IConnectableCredentialProviderCredential* This) {
 937    return This->lpVtbl->SetDeselected(This);
 938}
 939static inline HRESULT IConnectableCredentialProviderCredential_GetFieldState(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
 940    return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
 941}
 942static inline HRESULT IConnectableCredentialProviderCredential_GetStringValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,LPWSTR *ppsz) {
 943    return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
 944}
 945static inline HRESULT IConnectableCredentialProviderCredential_GetBitmapValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,HBITMAP *phbmp) {
 946    return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
 947}
 948static inline HRESULT IConnectableCredentialProviderCredential_GetCheckboxValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
 949    return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
 950}
 951static inline HRESULT IConnectableCredentialProviderCredential_GetSubmitButtonValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
 952    return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
 953}
 954static inline HRESULT IConnectableCredentialProviderCredential_GetComboBoxValueCount(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
 955    return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
 956}
 957static inline HRESULT IConnectableCredentialProviderCredential_GetComboBoxValueAt(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
 958    return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
 959}
 960static inline HRESULT IConnectableCredentialProviderCredential_SetStringValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,LPCWSTR psz) {
 961    return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
 962}
 963static inline HRESULT IConnectableCredentialProviderCredential_SetCheckboxValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,WINBOOL bChecked) {
 964    return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
 965}
 966static inline HRESULT IConnectableCredentialProviderCredential_SetComboBoxSelectedValue(IConnectableCredentialProviderCredential* This,DWORD dwFieldID,DWORD dwSelectedItem) {
 967    return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
 968}
 969static inline HRESULT IConnectableCredentialProviderCredential_CommandLinkClicked(IConnectableCredentialProviderCredential* This,DWORD dwFieldID) {
 970    return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
 971}
 972static inline HRESULT IConnectableCredentialProviderCredential_GetSerialization(IConnectableCredentialProviderCredential* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
 973    return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
 974}
 975static inline HRESULT IConnectableCredentialProviderCredential_ReportResult(IConnectableCredentialProviderCredential* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
 976    return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
 977}
 978/*** IConnectableCredentialProviderCredential methods ***/
 979static inline HRESULT IConnectableCredentialProviderCredential_Connect(IConnectableCredentialProviderCredential* This,IQueryContinueWithStatus *pqcws) {
 980    return This->lpVtbl->Connect(This,pqcws);
 981}
 982static inline HRESULT IConnectableCredentialProviderCredential_Disconnect(IConnectableCredentialProviderCredential* This) {
 983    return This->lpVtbl->Disconnect(This);
 984}
 985#endif
 986#endif
 987
 988#endif
 989
 990
 991#endif  /* __IConnectableCredentialProviderCredential_INTERFACE_DEFINED__ */
 992
 993/*****************************************************************************
 994 * ICredentialProviderCredentialEvents interface
 995 */
 996#ifndef __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__
 997#define __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__
 998
 999DEFINE_GUID(IID_ICredentialProviderCredentialEvents, 0xfa6fa76b, 0x66b7, 0x4b11, 0x95,0xf1, 0x86,0x17,0x11,0x18,0xe8,0x16);
1000#if defined(__cplusplus) && !defined(CINTERFACE)
1001MIDL_INTERFACE("fa6fa76b-66b7-4b11-95f1-86171118e816")
1002ICredentialProviderCredentialEvents : public IUnknown
1003{
1004    virtual HRESULT STDMETHODCALLTYPE SetFieldState(
1005        ICredentialProviderCredential *pcpc,
1006        DWORD dwFieldID,
1007        CREDENTIAL_PROVIDER_FIELD_STATE cpfs) = 0;
1008
1009    virtual HRESULT STDMETHODCALLTYPE SetFieldInteractiveState(
1010        ICredentialProviderCredential *pcpc,
1011        DWORD dwFieldID,
1012        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) = 0;
1013
1014    virtual HRESULT STDMETHODCALLTYPE SetFieldString(
1015        ICredentialProviderCredential *pcpc,
1016        DWORD dwFieldID,
1017        LPCWSTR psz) = 0;
1018
1019    virtual HRESULT STDMETHODCALLTYPE SetFieldCheckbox(
1020        ICredentialProviderCredential *pcpc,
1021        DWORD dwFieldID,
1022        WINBOOL bChecked,
1023        LPCWSTR pszLabel) = 0;
1024
1025    virtual HRESULT STDMETHODCALLTYPE SetFieldBitmap(
1026        ICredentialProviderCredential *pcpc,
1027        DWORD dwFieldID,
1028        HBITMAP hbmp) = 0;
1029
1030    virtual HRESULT STDMETHODCALLTYPE SetFieldComboBoxSelectedItem(
1031        ICredentialProviderCredential *pcpc,
1032        DWORD dwFieldID,
1033        DWORD dwSelectedItem) = 0;
1034
1035    virtual HRESULT STDMETHODCALLTYPE DeleteFieldComboBoxItem(
1036        ICredentialProviderCredential *pcpc,
1037        DWORD dwFieldID,
1038        DWORD dwItem) = 0;
1039
1040    virtual HRESULT STDMETHODCALLTYPE AppendFieldComboBoxItem(
1041        ICredentialProviderCredential *pcpc,
1042        DWORD dwFieldID,
1043        LPCWSTR pszItem) = 0;
1044
1045    virtual HRESULT STDMETHODCALLTYPE SetFieldSubmitButton(
1046        ICredentialProviderCredential *pcpc,
1047        DWORD dwFieldID,
1048        DWORD dwAdjacentTo) = 0;
1049
1050    virtual HRESULT STDMETHODCALLTYPE OnCreatingWindow(
1051        HWND *phwndOwner) = 0;
1052
1053};
1054#ifdef __CRT_UUID_DECL
1055__CRT_UUID_DECL(ICredentialProviderCredentialEvents, 0xfa6fa76b, 0x66b7, 0x4b11, 0x95,0xf1, 0x86,0x17,0x11,0x18,0xe8,0x16)
1056#endif
1057#else
1058typedef struct ICredentialProviderCredentialEventsVtbl {
1059    BEGIN_INTERFACE
1060
1061    /*** IUnknown methods ***/
1062    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1063        ICredentialProviderCredentialEvents *This,
1064        REFIID riid,
1065        void **ppvObject);
1066
1067    ULONG (STDMETHODCALLTYPE *AddRef)(
1068        ICredentialProviderCredentialEvents *This);
1069
1070    ULONG (STDMETHODCALLTYPE *Release)(
1071        ICredentialProviderCredentialEvents *This);
1072
1073    /*** ICredentialProviderCredentialEvents methods ***/
1074    HRESULT (STDMETHODCALLTYPE *SetFieldState)(
1075        ICredentialProviderCredentialEvents *This,
1076        ICredentialProviderCredential *pcpc,
1077        DWORD dwFieldID,
1078        CREDENTIAL_PROVIDER_FIELD_STATE cpfs);
1079
1080    HRESULT (STDMETHODCALLTYPE *SetFieldInteractiveState)(
1081        ICredentialProviderCredentialEvents *This,
1082        ICredentialProviderCredential *pcpc,
1083        DWORD dwFieldID,
1084        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis);
1085
1086    HRESULT (STDMETHODCALLTYPE *SetFieldString)(
1087        ICredentialProviderCredentialEvents *This,
1088        ICredentialProviderCredential *pcpc,
1089        DWORD dwFieldID,
1090        LPCWSTR psz);
1091
1092    HRESULT (STDMETHODCALLTYPE *SetFieldCheckbox)(
1093        ICredentialProviderCredentialEvents *This,
1094        ICredentialProviderCredential *pcpc,
1095        DWORD dwFieldID,
1096        WINBOOL bChecked,
1097        LPCWSTR pszLabel);
1098
1099    HRESULT (STDMETHODCALLTYPE *SetFieldBitmap)(
1100        ICredentialProviderCredentialEvents *This,
1101        ICredentialProviderCredential *pcpc,
1102        DWORD dwFieldID,
1103        HBITMAP hbmp);
1104
1105    HRESULT (STDMETHODCALLTYPE *SetFieldComboBoxSelectedItem)(
1106        ICredentialProviderCredentialEvents *This,
1107        ICredentialProviderCredential *pcpc,
1108        DWORD dwFieldID,
1109        DWORD dwSelectedItem);
1110
1111    HRESULT (STDMETHODCALLTYPE *DeleteFieldComboBoxItem)(
1112        ICredentialProviderCredentialEvents *This,
1113        ICredentialProviderCredential *pcpc,
1114        DWORD dwFieldID,
1115        DWORD dwItem);
1116
1117    HRESULT (STDMETHODCALLTYPE *AppendFieldComboBoxItem)(
1118        ICredentialProviderCredentialEvents *This,
1119        ICredentialProviderCredential *pcpc,
1120        DWORD dwFieldID,
1121        LPCWSTR pszItem);
1122
1123    HRESULT (STDMETHODCALLTYPE *SetFieldSubmitButton)(
1124        ICredentialProviderCredentialEvents *This,
1125        ICredentialProviderCredential *pcpc,
1126        DWORD dwFieldID,
1127        DWORD dwAdjacentTo);
1128
1129    HRESULT (STDMETHODCALLTYPE *OnCreatingWindow)(
1130        ICredentialProviderCredentialEvents *This,
1131        HWND *phwndOwner);
1132
1133    END_INTERFACE
1134} ICredentialProviderCredentialEventsVtbl;
1135
1136interface ICredentialProviderCredentialEvents {
1137    CONST_VTBL ICredentialProviderCredentialEventsVtbl* lpVtbl;
1138};
1139
1140#ifdef COBJMACROS
1141#ifndef WIDL_C_INLINE_WRAPPERS
1142/*** IUnknown methods ***/
1143#define ICredentialProviderCredentialEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1144#define ICredentialProviderCredentialEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
1145#define ICredentialProviderCredentialEvents_Release(This) (This)->lpVtbl->Release(This)
1146/*** ICredentialProviderCredentialEvents methods ***/
1147#define ICredentialProviderCredentialEvents_SetFieldState(This,pcpc,dwFieldID,cpfs) (This)->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs)
1148#define ICredentialProviderCredentialEvents_SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis) (This)->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis)
1149#define ICredentialProviderCredentialEvents_SetFieldString(This,pcpc,dwFieldID,psz) (This)->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz)
1150#define ICredentialProviderCredentialEvents_SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel) (This)->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel)
1151#define ICredentialProviderCredentialEvents_SetFieldBitmap(This,pcpc,dwFieldID,hbmp) (This)->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp)
1152#define ICredentialProviderCredentialEvents_SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem)
1153#define ICredentialProviderCredentialEvents_DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem) (This)->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem)
1154#define ICredentialProviderCredentialEvents_AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem) (This)->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem)
1155#define ICredentialProviderCredentialEvents_SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo) (This)->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo)
1156#define ICredentialProviderCredentialEvents_OnCreatingWindow(This,phwndOwner) (This)->lpVtbl->OnCreatingWindow(This,phwndOwner)
1157#else
1158/*** IUnknown methods ***/
1159static inline HRESULT ICredentialProviderCredentialEvents_QueryInterface(ICredentialProviderCredentialEvents* This,REFIID riid,void **ppvObject) {
1160    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1161}
1162static inline ULONG ICredentialProviderCredentialEvents_AddRef(ICredentialProviderCredentialEvents* This) {
1163    return This->lpVtbl->AddRef(This);
1164}
1165static inline ULONG ICredentialProviderCredentialEvents_Release(ICredentialProviderCredentialEvents* This) {
1166    return This->lpVtbl->Release(This);
1167}
1168/*** ICredentialProviderCredentialEvents methods ***/
1169static inline HRESULT ICredentialProviderCredentialEvents_SetFieldState(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE cpfs) {
1170    return This->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs);
1171}
1172static inline HRESULT ICredentialProviderCredentialEvents_SetFieldInteractiveState(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) {
1173    return This->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis);
1174}
1175static inline HRESULT ICredentialProviderCredentialEvents_SetFieldString(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR psz) {
1176    return This->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz);
1177}
1178static inline HRESULT ICredentialProviderCredentialEvents_SetFieldCheckbox(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,WINBOOL bChecked,LPCWSTR pszLabel) {
1179    return This->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel);
1180}
1181static inline HRESULT ICredentialProviderCredentialEvents_SetFieldBitmap(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,HBITMAP hbmp) {
1182    return This->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp);
1183}
1184static inline HRESULT ICredentialProviderCredentialEvents_SetFieldComboBoxSelectedItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwSelectedItem) {
1185    return This->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem);
1186}
1187static inline HRESULT ICredentialProviderCredentialEvents_DeleteFieldComboBoxItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwItem) {
1188    return This->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem);
1189}
1190static inline HRESULT ICredentialProviderCredentialEvents_AppendFieldComboBoxItem(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR pszItem) {
1191    return This->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem);
1192}
1193static inline HRESULT ICredentialProviderCredentialEvents_SetFieldSubmitButton(ICredentialProviderCredentialEvents* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwAdjacentTo) {
1194    return This->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo);
1195}
1196static inline HRESULT ICredentialProviderCredentialEvents_OnCreatingWindow(ICredentialProviderCredentialEvents* This,HWND *phwndOwner) {
1197    return This->lpVtbl->OnCreatingWindow(This,phwndOwner);
1198}
1199#endif
1200#endif
1201
1202#endif
1203
1204
1205#endif  /* __ICredentialProviderCredentialEvents_INTERFACE_DEFINED__ */
1206
1207#ifndef __ICredentialProviderEvents_FWD_DEFINED__
1208#define __ICredentialProviderEvents_FWD_DEFINED__
1209typedef interface ICredentialProviderEvents ICredentialProviderEvents;
1210#ifdef __cplusplus
1211interface ICredentialProviderEvents;
1212#endif /* __cplusplus */
1213#endif
1214
1215/*****************************************************************************
1216 * ICredentialProvider interface
1217 */
1218#ifndef __ICredentialProvider_INTERFACE_DEFINED__
1219#define __ICredentialProvider_INTERFACE_DEFINED__
1220
1221DEFINE_GUID(IID_ICredentialProvider, 0xd27c3481, 0x5a1c, 0x45b2, 0x8a,0xaa, 0xc2,0x0e,0xbb,0xe8,0x22,0x9e);
1222#if defined(__cplusplus) && !defined(CINTERFACE)
1223MIDL_INTERFACE("d27c3481-5a1c-45b2-8aaa-c20ebbe8229e")
1224ICredentialProvider : public IUnknown
1225{
1226    virtual HRESULT STDMETHODCALLTYPE SetUsageScenario(
1227        CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
1228        DWORD dwFlags) = 0;
1229
1230    virtual HRESULT STDMETHODCALLTYPE SetSerialization(
1231        const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs) = 0;
1232
1233    virtual HRESULT STDMETHODCALLTYPE Advise(
1234        ICredentialProviderEvents *pcpe,
1235        UINT_PTR upAdviseContext) = 0;
1236
1237    virtual HRESULT STDMETHODCALLTYPE UnAdvise(
1238        ) = 0;
1239
1240    virtual HRESULT STDMETHODCALLTYPE GetFieldDescriptorCount(
1241        DWORD *pdwCount) = 0;
1242
1243    virtual HRESULT STDMETHODCALLTYPE GetFieldDescriptorAt(
1244        DWORD dwIndex,
1245        CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd) = 0;
1246
1247    virtual HRESULT STDMETHODCALLTYPE GetCredentialCount(
1248        DWORD *pdwCount,
1249        DWORD *pdwDefault,
1250        WINBOOL *pbAutoLogonWithDefault) = 0;
1251
1252    virtual HRESULT STDMETHODCALLTYPE GetCredentialAt(
1253        DWORD dwIndex,
1254        ICredentialProviderCredential **ppcpc) = 0;
1255
1256};
1257#ifdef __CRT_UUID_DECL
1258__CRT_UUID_DECL(ICredentialProvider, 0xd27c3481, 0x5a1c, 0x45b2, 0x8a,0xaa, 0xc2,0x0e,0xbb,0xe8,0x22,0x9e)
1259#endif
1260#else
1261typedef struct ICredentialProviderVtbl {
1262    BEGIN_INTERFACE
1263
1264    /*** IUnknown methods ***/
1265    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1266        ICredentialProvider *This,
1267        REFIID riid,
1268        void **ppvObject);
1269
1270    ULONG (STDMETHODCALLTYPE *AddRef)(
1271        ICredentialProvider *This);
1272
1273    ULONG (STDMETHODCALLTYPE *Release)(
1274        ICredentialProvider *This);
1275
1276    /*** ICredentialProvider methods ***/
1277    HRESULT (STDMETHODCALLTYPE *SetUsageScenario)(
1278        ICredentialProvider *This,
1279        CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
1280        DWORD dwFlags);
1281
1282    HRESULT (STDMETHODCALLTYPE *SetSerialization)(
1283        ICredentialProvider *This,
1284        const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs);
1285
1286    HRESULT (STDMETHODCALLTYPE *Advise)(
1287        ICredentialProvider *This,
1288        ICredentialProviderEvents *pcpe,
1289        UINT_PTR upAdviseContext);
1290
1291    HRESULT (STDMETHODCALLTYPE *UnAdvise)(
1292        ICredentialProvider *This);
1293
1294    HRESULT (STDMETHODCALLTYPE *GetFieldDescriptorCount)(
1295        ICredentialProvider *This,
1296        DWORD *pdwCount);
1297
1298    HRESULT (STDMETHODCALLTYPE *GetFieldDescriptorAt)(
1299        ICredentialProvider *This,
1300        DWORD dwIndex,
1301        CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd);
1302
1303    HRESULT (STDMETHODCALLTYPE *GetCredentialCount)(
1304        ICredentialProvider *This,
1305        DWORD *pdwCount,
1306        DWORD *pdwDefault,
1307        WINBOOL *pbAutoLogonWithDefault);
1308
1309    HRESULT (STDMETHODCALLTYPE *GetCredentialAt)(
1310        ICredentialProvider *This,
1311        DWORD dwIndex,
1312        ICredentialProviderCredential **ppcpc);
1313
1314    END_INTERFACE
1315} ICredentialProviderVtbl;
1316
1317interface ICredentialProvider {
1318    CONST_VTBL ICredentialProviderVtbl* lpVtbl;
1319};
1320
1321#ifdef COBJMACROS
1322#ifndef WIDL_C_INLINE_WRAPPERS
1323/*** IUnknown methods ***/
1324#define ICredentialProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1325#define ICredentialProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
1326#define ICredentialProvider_Release(This) (This)->lpVtbl->Release(This)
1327/*** ICredentialProvider methods ***/
1328#define ICredentialProvider_SetUsageScenario(This,cpus,dwFlags) (This)->lpVtbl->SetUsageScenario(This,cpus,dwFlags)
1329#define ICredentialProvider_SetSerialization(This,pcpcs) (This)->lpVtbl->SetSerialization(This,pcpcs)
1330#define ICredentialProvider_Advise(This,pcpe,upAdviseContext) (This)->lpVtbl->Advise(This,pcpe,upAdviseContext)
1331#define ICredentialProvider_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
1332#define ICredentialProvider_GetFieldDescriptorCount(This,pdwCount) (This)->lpVtbl->GetFieldDescriptorCount(This,pdwCount)
1333#define ICredentialProvider_GetFieldDescriptorAt(This,dwIndex,ppcpfd) (This)->lpVtbl->GetFieldDescriptorAt(This,dwIndex,ppcpfd)
1334#define ICredentialProvider_GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault) (This)->lpVtbl->GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault)
1335#define ICredentialProvider_GetCredentialAt(This,dwIndex,ppcpc) (This)->lpVtbl->GetCredentialAt(This,dwIndex,ppcpc)
1336#else
1337/*** IUnknown methods ***/
1338static inline HRESULT ICredentialProvider_QueryInterface(ICredentialProvider* This,REFIID riid,void **ppvObject) {
1339    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1340}
1341static inline ULONG ICredentialProvider_AddRef(ICredentialProvider* This) {
1342    return This->lpVtbl->AddRef(This);
1343}
1344static inline ULONG ICredentialProvider_Release(ICredentialProvider* This) {
1345    return This->lpVtbl->Release(This);
1346}
1347/*** ICredentialProvider methods ***/
1348static inline HRESULT ICredentialProvider_SetUsageScenario(ICredentialProvider* This,CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,DWORD dwFlags) {
1349    return This->lpVtbl->SetUsageScenario(This,cpus,dwFlags);
1350}
1351static inline HRESULT ICredentialProvider_SetSerialization(ICredentialProvider* This,const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs) {
1352    return This->lpVtbl->SetSerialization(This,pcpcs);
1353}
1354static inline HRESULT ICredentialProvider_Advise(ICredentialProvider* This,ICredentialProviderEvents *pcpe,UINT_PTR upAdviseContext) {
1355    return This->lpVtbl->Advise(This,pcpe,upAdviseContext);
1356}
1357static inline HRESULT ICredentialProvider_UnAdvise(ICredentialProvider* This) {
1358    return This->lpVtbl->UnAdvise(This);
1359}
1360static inline HRESULT ICredentialProvider_GetFieldDescriptorCount(ICredentialProvider* This,DWORD *pdwCount) {
1361    return This->lpVtbl->GetFieldDescriptorCount(This,pdwCount);
1362}
1363static inline HRESULT ICredentialProvider_GetFieldDescriptorAt(ICredentialProvider* This,DWORD dwIndex,CREDENTIAL_PROVIDER_FIELD_DESCRIPTOR **ppcpfd) {
1364    return This->lpVtbl->GetFieldDescriptorAt(This,dwIndex,ppcpfd);
1365}
1366static inline HRESULT ICredentialProvider_GetCredentialCount(ICredentialProvider* This,DWORD *pdwCount,DWORD *pdwDefault,WINBOOL *pbAutoLogonWithDefault) {
1367    return This->lpVtbl->GetCredentialCount(This,pdwCount,pdwDefault,pbAutoLogonWithDefault);
1368}
1369static inline HRESULT ICredentialProvider_GetCredentialAt(ICredentialProvider* This,DWORD dwIndex,ICredentialProviderCredential **ppcpc) {
1370    return This->lpVtbl->GetCredentialAt(This,dwIndex,ppcpc);
1371}
1372#endif
1373#endif
1374
1375#endif
1376
1377
1378#endif  /* __ICredentialProvider_INTERFACE_DEFINED__ */
1379
1380/*****************************************************************************
1381 * ICredentialProviderEvents interface
1382 */
1383#ifndef __ICredentialProviderEvents_INTERFACE_DEFINED__
1384#define __ICredentialProviderEvents_INTERFACE_DEFINED__
1385
1386DEFINE_GUID(IID_ICredentialProviderEvents, 0x34201e5a, 0xa787, 0x41a3, 0xa5,0xa4, 0xbd,0x6d,0xcf,0x2a,0x85,0x4e);
1387#if defined(__cplusplus) && !defined(CINTERFACE)
1388MIDL_INTERFACE("34201e5a-a787-41a3-a5a4-bd6dcf2a854e")
1389ICredentialProviderEvents : public IUnknown
1390{
1391    virtual HRESULT STDMETHODCALLTYPE CredentialsChanged(
1392        UINT_PTR upAdviseContext) = 0;
1393
1394};
1395#ifdef __CRT_UUID_DECL
1396__CRT_UUID_DECL(ICredentialProviderEvents, 0x34201e5a, 0xa787, 0x41a3, 0xa5,0xa4, 0xbd,0x6d,0xcf,0x2a,0x85,0x4e)
1397#endif
1398#else
1399typedef struct ICredentialProviderEventsVtbl {
1400    BEGIN_INTERFACE
1401
1402    /*** IUnknown methods ***/
1403    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1404        ICredentialProviderEvents *This,
1405        REFIID riid,
1406        void **ppvObject);
1407
1408    ULONG (STDMETHODCALLTYPE *AddRef)(
1409        ICredentialProviderEvents *This);
1410
1411    ULONG (STDMETHODCALLTYPE *Release)(
1412        ICredentialProviderEvents *This);
1413
1414    /*** ICredentialProviderEvents methods ***/
1415    HRESULT (STDMETHODCALLTYPE *CredentialsChanged)(
1416        ICredentialProviderEvents *This,
1417        UINT_PTR upAdviseContext);
1418
1419    END_INTERFACE
1420} ICredentialProviderEventsVtbl;
1421
1422interface ICredentialProviderEvents {
1423    CONST_VTBL ICredentialProviderEventsVtbl* lpVtbl;
1424};
1425
1426#ifdef COBJMACROS
1427#ifndef WIDL_C_INLINE_WRAPPERS
1428/*** IUnknown methods ***/
1429#define ICredentialProviderEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1430#define ICredentialProviderEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
1431#define ICredentialProviderEvents_Release(This) (This)->lpVtbl->Release(This)
1432/*** ICredentialProviderEvents methods ***/
1433#define ICredentialProviderEvents_CredentialsChanged(This,upAdviseContext) (This)->lpVtbl->CredentialsChanged(This,upAdviseContext)
1434#else
1435/*** IUnknown methods ***/
1436static inline HRESULT ICredentialProviderEvents_QueryInterface(ICredentialProviderEvents* This,REFIID riid,void **ppvObject) {
1437    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1438}
1439static inline ULONG ICredentialProviderEvents_AddRef(ICredentialProviderEvents* This) {
1440    return This->lpVtbl->AddRef(This);
1441}
1442static inline ULONG ICredentialProviderEvents_Release(ICredentialProviderEvents* This) {
1443    return This->lpVtbl->Release(This);
1444}
1445/*** ICredentialProviderEvents methods ***/
1446static inline HRESULT ICredentialProviderEvents_CredentialsChanged(ICredentialProviderEvents* This,UINT_PTR upAdviseContext) {
1447    return This->lpVtbl->CredentialsChanged(This,upAdviseContext);
1448}
1449#endif
1450#endif
1451
1452#endif
1453
1454
1455#endif  /* __ICredentialProviderEvents_INTERFACE_DEFINED__ */
1456
1457/*****************************************************************************
1458 * ICredentialProviderFilter interface
1459 */
1460#ifndef __ICredentialProviderFilter_INTERFACE_DEFINED__
1461#define __ICredentialProviderFilter_INTERFACE_DEFINED__
1462
1463DEFINE_GUID(IID_ICredentialProviderFilter, 0xa5da53f9, 0xd475, 0x4080, 0xa1,0x20, 0x91,0x0c,0x4a,0x73,0x98,0x80);
1464#if defined(__cplusplus) && !defined(CINTERFACE)
1465MIDL_INTERFACE("a5da53f9-d475-4080-a120-910c4a739880")
1466ICredentialProviderFilter : public IUnknown
1467{
1468    virtual HRESULT STDMETHODCALLTYPE Filter(
1469        CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
1470        DWORD dwFlags,
1471        GUID *rgclsidProviders,
1472        WINBOOL *rgbAllow,
1473        DWORD cProviders) = 0;
1474
1475    virtual HRESULT STDMETHODCALLTYPE UpdateRemoteCredential(
1476        const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,
1477        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut) = 0;
1478
1479};
1480#ifdef __CRT_UUID_DECL
1481__CRT_UUID_DECL(ICredentialProviderFilter, 0xa5da53f9, 0xd475, 0x4080, 0xa1,0x20, 0x91,0x0c,0x4a,0x73,0x98,0x80)
1482#endif
1483#else
1484typedef struct ICredentialProviderFilterVtbl {
1485    BEGIN_INTERFACE
1486
1487    /*** IUnknown methods ***/
1488    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1489        ICredentialProviderFilter *This,
1490        REFIID riid,
1491        void **ppvObject);
1492
1493    ULONG (STDMETHODCALLTYPE *AddRef)(
1494        ICredentialProviderFilter *This);
1495
1496    ULONG (STDMETHODCALLTYPE *Release)(
1497        ICredentialProviderFilter *This);
1498
1499    /*** ICredentialProviderFilter methods ***/
1500    HRESULT (STDMETHODCALLTYPE *Filter)(
1501        ICredentialProviderFilter *This,
1502        CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,
1503        DWORD dwFlags,
1504        GUID *rgclsidProviders,
1505        WINBOOL *rgbAllow,
1506        DWORD cProviders);
1507
1508    HRESULT (STDMETHODCALLTYPE *UpdateRemoteCredential)(
1509        ICredentialProviderFilter *This,
1510        const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,
1511        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut);
1512
1513    END_INTERFACE
1514} ICredentialProviderFilterVtbl;
1515
1516interface ICredentialProviderFilter {
1517    CONST_VTBL ICredentialProviderFilterVtbl* lpVtbl;
1518};
1519
1520#ifdef COBJMACROS
1521#ifndef WIDL_C_INLINE_WRAPPERS
1522/*** IUnknown methods ***/
1523#define ICredentialProviderFilter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1524#define ICredentialProviderFilter_AddRef(This) (This)->lpVtbl->AddRef(This)
1525#define ICredentialProviderFilter_Release(This) (This)->lpVtbl->Release(This)
1526/*** ICredentialProviderFilter methods ***/
1527#define ICredentialProviderFilter_Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders) (This)->lpVtbl->Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders)
1528#define ICredentialProviderFilter_UpdateRemoteCredential(This,pcpcsIn,pcpcsOut) (This)->lpVtbl->UpdateRemoteCredential(This,pcpcsIn,pcpcsOut)
1529#else
1530/*** IUnknown methods ***/
1531static inline HRESULT ICredentialProviderFilter_QueryInterface(ICredentialProviderFilter* This,REFIID riid,void **ppvObject) {
1532    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1533}
1534static inline ULONG ICredentialProviderFilter_AddRef(ICredentialProviderFilter* This) {
1535    return This->lpVtbl->AddRef(This);
1536}
1537static inline ULONG ICredentialProviderFilter_Release(ICredentialProviderFilter* This) {
1538    return This->lpVtbl->Release(This);
1539}
1540/*** ICredentialProviderFilter methods ***/
1541static inline HRESULT ICredentialProviderFilter_Filter(ICredentialProviderFilter* This,CREDENTIAL_PROVIDER_USAGE_SCENARIO cpus,DWORD dwFlags,GUID *rgclsidProviders,WINBOOL *rgbAllow,DWORD cProviders) {
1542    return This->lpVtbl->Filter(This,cpus,dwFlags,rgclsidProviders,rgbAllow,cProviders);
1543}
1544static inline HRESULT ICredentialProviderFilter_UpdateRemoteCredential(ICredentialProviderFilter* This,const CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsIn,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcsOut) {
1545    return This->lpVtbl->UpdateRemoteCredential(This,pcpcsIn,pcpcsOut);
1546}
1547#endif
1548#endif
1549
1550#endif
1551
1552
1553#endif  /* __ICredentialProviderFilter_INTERFACE_DEFINED__ */
1554
1555#if (NTDDI_VERSION >= NTDDI_WIN8)
1556/*****************************************************************************
1557 * ICredentialProviderCredential2 interface
1558 */
1559#ifndef __ICredentialProviderCredential2_INTERFACE_DEFINED__
1560#define __ICredentialProviderCredential2_INTERFACE_DEFINED__
1561
1562DEFINE_GUID(IID_ICredentialProviderCredential2, 0xfd672c54, 0x40ea, 0x4d6e, 0x9b,0x49, 0xcf,0xb1,0xa7,0x50,0x7b,0xd7);
1563#if defined(__cplusplus) && !defined(CINTERFACE)
1564MIDL_INTERFACE("fd672c54-40ea-4d6e-9b49-cfb1a7507bd7")
1565ICredentialProviderCredential2 : public ICredentialProviderCredential
1566{
1567    virtual HRESULT STDMETHODCALLTYPE GetUserSid(
1568        LPWSTR *sid) = 0;
1569
1570};
1571#ifdef __CRT_UUID_DECL
1572__CRT_UUID_DECL(ICredentialProviderCredential2, 0xfd672c54, 0x40ea, 0x4d6e, 0x9b,0x49, 0xcf,0xb1,0xa7,0x50,0x7b,0xd7)
1573#endif
1574#else
1575typedef struct ICredentialProviderCredential2Vtbl {
1576    BEGIN_INTERFACE
1577
1578    /*** IUnknown methods ***/
1579    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1580        ICredentialProviderCredential2 *This,
1581        REFIID riid,
1582        void **ppvObject);
1583
1584    ULONG (STDMETHODCALLTYPE *AddRef)(
1585        ICredentialProviderCredential2 *This);
1586
1587    ULONG (STDMETHODCALLTYPE *Release)(
1588        ICredentialProviderCredential2 *This);
1589
1590    /*** ICredentialProviderCredential methods ***/
1591    HRESULT (STDMETHODCALLTYPE *Advise)(
1592        ICredentialProviderCredential2 *This,
1593        ICredentialProviderCredentialEvents *pcpce);
1594
1595    HRESULT (STDMETHODCALLTYPE *UnAdvise)(
1596        ICredentialProviderCredential2 *This);
1597
1598    HRESULT (STDMETHODCALLTYPE *SetSelected)(
1599        ICredentialProviderCredential2 *This,
1600        WINBOOL *pbAutoLogon);
1601
1602    HRESULT (STDMETHODCALLTYPE *SetDeselected)(
1603        ICredentialProviderCredential2 *This);
1604
1605    HRESULT (STDMETHODCALLTYPE *GetFieldState)(
1606        ICredentialProviderCredential2 *This,
1607        DWORD dwFieldID,
1608        CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,
1609        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis);
1610
1611    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
1612        ICredentialProviderCredential2 *This,
1613        DWORD dwFieldID,
1614        LPWSTR *ppsz);
1615
1616    HRESULT (STDMETHODCALLTYPE *GetBitmapValue)(
1617        ICredentialProviderCredential2 *This,
1618        DWORD dwFieldID,
1619        HBITMAP *phbmp);
1620
1621    HRESULT (STDMETHODCALLTYPE *GetCheckboxValue)(
1622        ICredentialProviderCredential2 *This,
1623        DWORD dwFieldID,
1624        WINBOOL *pbChecked,
1625        LPWSTR *ppszLabel);
1626
1627    HRESULT (STDMETHODCALLTYPE *GetSubmitButtonValue)(
1628        ICredentialProviderCredential2 *This,
1629        DWORD dwFieldID,
1630        DWORD *pdwAdjacentTo);
1631
1632    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueCount)(
1633        ICredentialProviderCredential2 *This,
1634        DWORD dwFieldID,
1635        DWORD *pcItems,
1636        DWORD *pdwSelectedItem);
1637
1638    HRESULT (STDMETHODCALLTYPE *GetComboBoxValueAt)(
1639        ICredentialProviderCredential2 *This,
1640        DWORD dwFieldID,
1641        DWORD dwItem,
1642        LPWSTR *ppszItem);
1643
1644    HRESULT (STDMETHODCALLTYPE *SetStringValue)(
1645        ICredentialProviderCredential2 *This,
1646        DWORD dwFieldID,
1647        LPCWSTR psz);
1648
1649    HRESULT (STDMETHODCALLTYPE *SetCheckboxValue)(
1650        ICredentialProviderCredential2 *This,
1651        DWORD dwFieldID,
1652        WINBOOL bChecked);
1653
1654    HRESULT (STDMETHODCALLTYPE *SetComboBoxSelectedValue)(
1655        ICredentialProviderCredential2 *This,
1656        DWORD dwFieldID,
1657        DWORD dwSelectedItem);
1658
1659    HRESULT (STDMETHODCALLTYPE *CommandLinkClicked)(
1660        ICredentialProviderCredential2 *This,
1661        DWORD dwFieldID);
1662
1663    HRESULT (STDMETHODCALLTYPE *GetSerialization)(
1664        ICredentialProviderCredential2 *This,
1665        CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,
1666        CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,
1667        LPWSTR *ppszOptionalStatusText,
1668        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
1669
1670    HRESULT (STDMETHODCALLTYPE *ReportResult)(
1671        ICredentialProviderCredential2 *This,
1672        NTSTATUS ntsStatus,
1673        NTSTATUS ntsSubstatus,
1674        LPWSTR *ppszOptionalStatusText,
1675        CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon);
1676
1677    /*** ICredentialProviderCredential2 methods ***/
1678    HRESULT (STDMETHODCALLTYPE *GetUserSid)(
1679        ICredentialProviderCredential2 *This,
1680        LPWSTR *sid);
1681
1682    END_INTERFACE
1683} ICredentialProviderCredential2Vtbl;
1684
1685interface ICredentialProviderCredential2 {
1686    CONST_VTBL ICredentialProviderCredential2Vtbl* lpVtbl;
1687};
1688
1689#ifdef COBJMACROS
1690#ifndef WIDL_C_INLINE_WRAPPERS
1691/*** IUnknown methods ***/
1692#define ICredentialProviderCredential2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1693#define ICredentialProviderCredential2_AddRef(This) (This)->lpVtbl->AddRef(This)
1694#define ICredentialProviderCredential2_Release(This) (This)->lpVtbl->Release(This)
1695/*** ICredentialProviderCredential methods ***/
1696#define ICredentialProviderCredential2_Advise(This,pcpce) (This)->lpVtbl->Advise(This,pcpce)
1697#define ICredentialProviderCredential2_UnAdvise(This) (This)->lpVtbl->UnAdvise(This)
1698#define ICredentialProviderCredential2_SetSelected(This,pbAutoLogon) (This)->lpVtbl->SetSelected(This,pbAutoLogon)
1699#define ICredentialProviderCredential2_SetDeselected(This) (This)->lpVtbl->SetDeselected(This)
1700#define ICredentialProviderCredential2_GetFieldState(This,dwFieldID,pcpfs,pcpfis) (This)->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis)
1701#define ICredentialProviderCredential2_GetStringValue(This,dwFieldID,ppsz) (This)->lpVtbl->GetStringValue(This,dwFieldID,ppsz)
1702#define ICredentialProviderCredential2_GetBitmapValue(This,dwFieldID,phbmp) (This)->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp)
1703#define ICredentialProviderCredential2_GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel) (This)->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel)
1704#define ICredentialProviderCredential2_GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo) (This)->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo)
1705#define ICredentialProviderCredential2_GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem) (This)->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem)
1706#define ICredentialProviderCredential2_GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem) (This)->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem)
1707#define ICredentialProviderCredential2_SetStringValue(This,dwFieldID,psz) (This)->lpVtbl->SetStringValue(This,dwFieldID,psz)
1708#define ICredentialProviderCredential2_SetCheckboxValue(This,dwFieldID,bChecked) (This)->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked)
1709#define ICredentialProviderCredential2_SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem)
1710#define ICredentialProviderCredential2_CommandLinkClicked(This,dwFieldID) (This)->lpVtbl->CommandLinkClicked(This,dwFieldID)
1711#define ICredentialProviderCredential2_GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
1712#define ICredentialProviderCredential2_ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon) (This)->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon)
1713/*** ICredentialProviderCredential2 methods ***/
1714#define ICredentialProviderCredential2_GetUserSid(This,sid) (This)->lpVtbl->GetUserSid(This,sid)
1715#else
1716/*** IUnknown methods ***/
1717static inline HRESULT ICredentialProviderCredential2_QueryInterface(ICredentialProviderCredential2* This,REFIID riid,void **ppvObject) {
1718    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1719}
1720static inline ULONG ICredentialProviderCredential2_AddRef(ICredentialProviderCredential2* This) {
1721    return This->lpVtbl->AddRef(This);
1722}
1723static inline ULONG ICredentialProviderCredential2_Release(ICredentialProviderCredential2* This) {
1724    return This->lpVtbl->Release(This);
1725}
1726/*** ICredentialProviderCredential methods ***/
1727static inline HRESULT ICredentialProviderCredential2_Advise(ICredentialProviderCredential2* This,ICredentialProviderCredentialEvents *pcpce) {
1728    return This->lpVtbl->Advise(This,pcpce);
1729}
1730static inline HRESULT ICredentialProviderCredential2_UnAdvise(ICredentialProviderCredential2* This) {
1731    return This->lpVtbl->UnAdvise(This);
1732}
1733static inline HRESULT ICredentialProviderCredential2_SetSelected(ICredentialProviderCredential2* This,WINBOOL *pbAutoLogon) {
1734    return This->lpVtbl->SetSelected(This,pbAutoLogon);
1735}
1736static inline HRESULT ICredentialProviderCredential2_SetDeselected(ICredentialProviderCredential2* This) {
1737    return This->lpVtbl->SetDeselected(This);
1738}
1739static inline HRESULT ICredentialProviderCredential2_GetFieldState(ICredentialProviderCredential2* This,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE *pcpfs,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE *pcpfis) {
1740    return This->lpVtbl->GetFieldState(This,dwFieldID,pcpfs,pcpfis);
1741}
1742static inline HRESULT ICredentialProviderCredential2_GetStringValue(ICredentialProviderCredential2* This,DWORD dwFieldID,LPWSTR *ppsz) {
1743    return This->lpVtbl->GetStringValue(This,dwFieldID,ppsz);
1744}
1745static inline HRESULT ICredentialProviderCredential2_GetBitmapValue(ICredentialProviderCredential2* This,DWORD dwFieldID,HBITMAP *phbmp) {
1746    return This->lpVtbl->GetBitmapValue(This,dwFieldID,phbmp);
1747}
1748static inline HRESULT ICredentialProviderCredential2_GetCheckboxValue(ICredentialProviderCredential2* This,DWORD dwFieldID,WINBOOL *pbChecked,LPWSTR *ppszLabel) {
1749    return This->lpVtbl->GetCheckboxValue(This,dwFieldID,pbChecked,ppszLabel);
1750}
1751static inline HRESULT ICredentialProviderCredential2_GetSubmitButtonValue(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD *pdwAdjacentTo) {
1752    return This->lpVtbl->GetSubmitButtonValue(This,dwFieldID,pdwAdjacentTo);
1753}
1754static inline HRESULT ICredentialProviderCredential2_GetComboBoxValueCount(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD *pcItems,DWORD *pdwSelectedItem) {
1755    return This->lpVtbl->GetComboBoxValueCount(This,dwFieldID,pcItems,pdwSelectedItem);
1756}
1757static inline HRESULT ICredentialProviderCredential2_GetComboBoxValueAt(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD dwItem,LPWSTR *ppszItem) {
1758    return This->lpVtbl->GetComboBoxValueAt(This,dwFieldID,dwItem,ppszItem);
1759}
1760static inline HRESULT ICredentialProviderCredential2_SetStringValue(ICredentialProviderCredential2* This,DWORD dwFieldID,LPCWSTR psz) {
1761    return This->lpVtbl->SetStringValue(This,dwFieldID,psz);
1762}
1763static inline HRESULT ICredentialProviderCredential2_SetCheckboxValue(ICredentialProviderCredential2* This,DWORD dwFieldID,WINBOOL bChecked) {
1764    return This->lpVtbl->SetCheckboxValue(This,dwFieldID,bChecked);
1765}
1766static inline HRESULT ICredentialProviderCredential2_SetComboBoxSelectedValue(ICredentialProviderCredential2* This,DWORD dwFieldID,DWORD dwSelectedItem) {
1767    return This->lpVtbl->SetComboBoxSelectedValue(This,dwFieldID,dwSelectedItem);
1768}
1769static inline HRESULT ICredentialProviderCredential2_CommandLinkClicked(ICredentialProviderCredential2* This,DWORD dwFieldID) {
1770    return This->lpVtbl->CommandLinkClicked(This,dwFieldID);
1771}
1772static inline HRESULT ICredentialProviderCredential2_GetSerialization(ICredentialProviderCredential2* This,CREDENTIAL_PROVIDER_GET_SERIALIZATION_RESPONSE *pcpgsr,CREDENTIAL_PROVIDER_CREDENTIAL_SERIALIZATION *pcpcs,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
1773    return This->lpVtbl->GetSerialization(This,pcpgsr,pcpcs,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
1774}
1775static inline HRESULT ICredentialProviderCredential2_ReportResult(ICredentialProviderCredential2* This,NTSTATUS ntsStatus,NTSTATUS ntsSubstatus,LPWSTR *ppszOptionalStatusText,CREDENTIAL_PROVIDER_STATUS_ICON *pcpsiOptionalStatusIcon) {
1776    return This->lpVtbl->ReportResult(This,ntsStatus,ntsSubstatus,ppszOptionalStatusText,pcpsiOptionalStatusIcon);
1777}
1778/*** ICredentialProviderCredential2 methods ***/
1779static inline HRESULT ICredentialProviderCredential2_GetUserSid(ICredentialProviderCredential2* This,LPWSTR *sid) {
1780    return This->lpVtbl->GetUserSid(This,sid);
1781}
1782#endif
1783#endif
1784
1785#endif
1786
1787
1788#endif  /* __ICredentialProviderCredential2_INTERFACE_DEFINED__ */
1789
1790/*****************************************************************************
1791 * ICredentialProviderCredentialWithFieldOptions interface
1792 */
1793#ifndef __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__
1794#define __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__
1795
1796DEFINE_GUID(IID_ICredentialProviderCredentialWithFieldOptions, 0xdbc6fb30, 0xc843, 0x49e3, 0xa6,0x45, 0x57,0x3e,0x6f,0x39,0x44,0x6a);
1797#if defined(__cplusplus) && !defined(CINTERFACE)
1798MIDL_INTERFACE("dbc6fb30-c843-49e3-a645-573e6f39446a")
1799ICredentialProviderCredentialWithFieldOptions : public IUnknown
1800{
1801    virtual HRESULT STDMETHODCALLTYPE GetFieldOptions(
1802        DWORD fieldID,
1803        CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options) = 0;
1804
1805};
1806#ifdef __CRT_UUID_DECL
1807__CRT_UUID_DECL(ICredentialProviderCredentialWithFieldOptions, 0xdbc6fb30, 0xc843, 0x49e3, 0xa6,0x45, 0x57,0x3e,0x6f,0x39,0x44,0x6a)
1808#endif
1809#else
1810typedef struct ICredentialProviderCredentialWithFieldOptionsVtbl {
1811    BEGIN_INTERFACE
1812
1813    /*** IUnknown methods ***/
1814    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1815        ICredentialProviderCredentialWithFieldOptions *This,
1816        REFIID riid,
1817        void **ppvObject);
1818
1819    ULONG (STDMETHODCALLTYPE *AddRef)(
1820        ICredentialProviderCredentialWithFieldOptions *This);
1821
1822    ULONG (STDMETHODCALLTYPE *Release)(
1823        ICredentialProviderCredentialWithFieldOptions *This);
1824
1825    /*** ICredentialProviderCredentialWithFieldOptions methods ***/
1826    HRESULT (STDMETHODCALLTYPE *GetFieldOptions)(
1827        ICredentialProviderCredentialWithFieldOptions *This,
1828        DWORD fieldID,
1829        CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options);
1830
1831    END_INTERFACE
1832} ICredentialProviderCredentialWithFieldOptionsVtbl;
1833
1834interface ICredentialProviderCredentialWithFieldOptions {
1835    CONST_VTBL ICredentialProviderCredentialWithFieldOptionsVtbl* lpVtbl;
1836};
1837
1838#ifdef COBJMACROS
1839#ifndef WIDL_C_INLINE_WRAPPERS
1840/*** IUnknown methods ***/
1841#define ICredentialProviderCredentialWithFieldOptions_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1842#define ICredentialProviderCredentialWithFieldOptions_AddRef(This) (This)->lpVtbl->AddRef(This)
1843#define ICredentialProviderCredentialWithFieldOptions_Release(This) (This)->lpVtbl->Release(This)
1844/*** ICredentialProviderCredentialWithFieldOptions methods ***/
1845#define ICredentialProviderCredentialWithFieldOptions_GetFieldOptions(This,fieldID,options) (This)->lpVtbl->GetFieldOptions(This,fieldID,options)
1846#else
1847/*** IUnknown methods ***/
1848static inline HRESULT ICredentialProviderCredentialWithFieldOptions_QueryInterface(ICredentialProviderCredentialWithFieldOptions* This,REFIID riid,void **ppvObject) {
1849    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1850}
1851static inline ULONG ICredentialProviderCredentialWithFieldOptions_AddRef(ICredentialProviderCredentialWithFieldOptions* This) {
1852    return This->lpVtbl->AddRef(This);
1853}
1854static inline ULONG ICredentialProviderCredentialWithFieldOptions_Release(ICredentialProviderCredentialWithFieldOptions* This) {
1855    return This->lpVtbl->Release(This);
1856}
1857/*** ICredentialProviderCredentialWithFieldOptions methods ***/
1858static inline HRESULT ICredentialProviderCredentialWithFieldOptions_GetFieldOptions(ICredentialProviderCredentialWithFieldOptions* This,DWORD fieldID,CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS *options) {
1859    return This->lpVtbl->GetFieldOptions(This,fieldID,options);
1860}
1861#endif
1862#endif
1863
1864#endif
1865
1866
1867#endif  /* __ICredentialProviderCredentialWithFieldOptions_INTERFACE_DEFINED__ */
1868
1869/*****************************************************************************
1870 * ICredentialProviderCredentialEvents2 interface
1871 */
1872#ifndef __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__
1873#define __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__
1874
1875DEFINE_GUID(IID_ICredentialProviderCredentialEvents2, 0xb53c00b6, 0x9922, 0x4b78, 0xb1,0xf4, 0xdd,0xfe,0x77,0x4d,0xc3,0x9b);
1876#if defined(__cplusplus) && !defined(CINTERFACE)
1877MIDL_INTERFACE("b53c00b6-9922-4b78-b1f4-ddfe774dc39b")
1878ICredentialProviderCredentialEvents2 : public ICredentialProviderCredentialEvents
1879{
1880    virtual HRESULT STDMETHODCALLTYPE BeginFieldUpdates(
1881        ) = 0;
1882
1883    virtual HRESULT STDMETHODCALLTYPE EndFieldUpdates(
1884        ) = 0;
1885
1886    virtual HRESULT STDMETHODCALLTYPE SetFieldOptions(
1887        ICredentialProviderCredential *credential,
1888        DWORD fieldID,
1889        CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options) = 0;
1890
1891};
1892#ifdef __CRT_UUID_DECL
1893__CRT_UUID_DECL(ICredentialProviderCredentialEvents2, 0xb53c00b6, 0x9922, 0x4b78, 0xb1,0xf4, 0xdd,0xfe,0x77,0x4d,0xc3,0x9b)
1894#endif
1895#else
1896typedef struct ICredentialProviderCredentialEvents2Vtbl {
1897    BEGIN_INTERFACE
1898
1899    /*** IUnknown methods ***/
1900    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1901        ICredentialProviderCredentialEvents2 *This,
1902        REFIID riid,
1903        void **ppvObject);
1904
1905    ULONG (STDMETHODCALLTYPE *AddRef)(
1906        ICredentialProviderCredentialEvents2 *This);
1907
1908    ULONG (STDMETHODCALLTYPE *Release)(
1909        ICredentialProviderCredentialEvents2 *This);
1910
1911    /*** ICredentialProviderCredentialEvents methods ***/
1912    HRESULT (STDMETHODCALLTYPE *SetFieldState)(
1913        ICredentialProviderCredentialEvents2 *This,
1914        ICredentialProviderCredential *pcpc,
1915        DWORD dwFieldID,
1916        CREDENTIAL_PROVIDER_FIELD_STATE cpfs);
1917
1918    HRESULT (STDMETHODCALLTYPE *SetFieldInteractiveState)(
1919        ICredentialProviderCredentialEvents2 *This,
1920        ICredentialProviderCredential *pcpc,
1921        DWORD dwFieldID,
1922        CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis);
1923
1924    HRESULT (STDMETHODCALLTYPE *SetFieldString)(
1925        ICredentialProviderCredentialEvents2 *This,
1926        ICredentialProviderCredential *pcpc,
1927        DWORD dwFieldID,
1928        LPCWSTR psz);
1929
1930    HRESULT (STDMETHODCALLTYPE *SetFieldCheckbox)(
1931        ICredentialProviderCredentialEvents2 *This,
1932        ICredentialProviderCredential *pcpc,
1933        DWORD dwFieldID,
1934        WINBOOL bChecked,
1935        LPCWSTR pszLabel);
1936
1937    HRESULT (STDMETHODCALLTYPE *SetFieldBitmap)(
1938        ICredentialProviderCredentialEvents2 *This,
1939        ICredentialProviderCredential *pcpc,
1940        DWORD dwFieldID,
1941        HBITMAP hbmp);
1942
1943    HRESULT (STDMETHODCALLTYPE *SetFieldComboBoxSelectedItem)(
1944        ICredentialProviderCredentialEvents2 *This,
1945        ICredentialProviderCredential *pcpc,
1946        DWORD dwFieldID,
1947        DWORD dwSelectedItem);
1948
1949    HRESULT (STDMETHODCALLTYPE *DeleteFieldComboBoxItem)(
1950        ICredentialProviderCredentialEvents2 *This,
1951        ICredentialProviderCredential *pcpc,
1952        DWORD dwFieldID,
1953        DWORD dwItem);
1954
1955    HRESULT (STDMETHODCALLTYPE *AppendFieldComboBoxItem)(
1956        ICredentialProviderCredentialEvents2 *This,
1957        ICredentialProviderCredential *pcpc,
1958        DWORD dwFieldID,
1959        LPCWSTR pszItem);
1960
1961    HRESULT (STDMETHODCALLTYPE *SetFieldSubmitButton)(
1962        ICredentialProviderCredentialEvents2 *This,
1963        ICredentialProviderCredential *pcpc,
1964        DWORD dwFieldID,
1965        DWORD dwAdjacentTo);
1966
1967    HRESULT (STDMETHODCALLTYPE *OnCreatingWindow)(
1968        ICredentialProviderCredentialEvents2 *This,
1969        HWND *phwndOwner);
1970
1971    /*** ICredentialProviderCredentialEvents2 methods ***/
1972    HRESULT (STDMETHODCALLTYPE *BeginFieldUpdates)(
1973        ICredentialProviderCredentialEvents2 *This);
1974
1975    HRESULT (STDMETHODCALLTYPE *EndFieldUpdates)(
1976        ICredentialProviderCredentialEvents2 *This);
1977
1978    HRESULT (STDMETHODCALLTYPE *SetFieldOptions)(
1979        ICredentialProviderCredentialEvents2 *This,
1980        ICredentialProviderCredential *credential,
1981        DWORD fieldID,
1982        CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options);
1983
1984    END_INTERFACE
1985} ICredentialProviderCredentialEvents2Vtbl;
1986
1987interface ICredentialProviderCredentialEvents2 {
1988    CONST_VTBL ICredentialProviderCredentialEvents2Vtbl* lpVtbl;
1989};
1990
1991#ifdef COBJMACROS
1992#ifndef WIDL_C_INLINE_WRAPPERS
1993/*** IUnknown methods ***/
1994#define ICredentialProviderCredentialEvents2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1995#define ICredentialProviderCredentialEvents2_AddRef(This) (This)->lpVtbl->AddRef(This)
1996#define ICredentialProviderCredentialEvents2_Release(This) (This)->lpVtbl->Release(This)
1997/*** ICredentialProviderCredentialEvents methods ***/
1998#define ICredentialProviderCredentialEvents2_SetFieldState(This,pcpc,dwFieldID,cpfs) (This)->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs)
1999#define ICredentialProviderCredentialEvents2_SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis) (This)->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis)
2000#define ICredentialProviderCredentialEvents2_SetFieldString(This,pcpc,dwFieldID,psz) (This)->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz)
2001#define ICredentialProviderCredentialEvents2_SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel) (This)->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel)
2002#define ICredentialProviderCredentialEvents2_SetFieldBitmap(This,pcpc,dwFieldID,hbmp) (This)->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp)
2003#define ICredentialProviderCredentialEvents2_SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem) (This)->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem)
2004#define ICredentialProviderCredentialEvents2_DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem) (This)->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem)
2005#define ICredentialProviderCredentialEvents2_AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem) (This)->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem)
2006#define ICredentialProviderCredentialEvents2_SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo) (This)->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo)
2007#define ICredentialProviderCredentialEvents2_OnCreatingWindow(This,phwndOwner) (This)->lpVtbl->OnCreatingWindow(This,phwndOwner)
2008/*** ICredentialProviderCredentialEvents2 methods ***/
2009#define ICredentialProviderCredentialEvents2_BeginFieldUpdates(This) (This)->lpVtbl->BeginFieldUpdates(This)
2010#define ICredentialProviderCredentialEvents2_EndFieldUpdates(This) (This)->lpVtbl->EndFieldUpdates(This)
2011#define ICredentialProviderCredentialEvents2_SetFieldOptions(This,credential,fieldID,options) (This)->lpVtbl->SetFieldOptions(This,credential,fieldID,options)
2012#else
2013/*** IUnknown methods ***/
2014static inline HRESULT ICredentialProviderCredentialEvents2_QueryInterface(ICredentialProviderCredentialEvents2* This,REFIID riid,void **ppvObject) {
2015    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2016}
2017static inline ULONG ICredentialProviderCredentialEvents2_AddRef(ICredentialProviderCredentialEvents2* This) {
2018    return This->lpVtbl->AddRef(This);
2019}
2020static inline ULONG ICredentialProviderCredentialEvents2_Release(ICredentialProviderCredentialEvents2* This) {
2021    return This->lpVtbl->Release(This);
2022}
2023/*** ICredentialProviderCredentialEvents methods ***/
2024static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldState(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_STATE cpfs) {
2025    return This->lpVtbl->SetFieldState(This,pcpc,dwFieldID,cpfs);
2026}
2027static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldInteractiveState(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,CREDENTIAL_PROVIDER_FIELD_INTERACTIVE_STATE cpfis) {
2028    return This->lpVtbl->SetFieldInteractiveState(This,pcpc,dwFieldID,cpfis);
2029}
2030static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldString(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR psz) {
2031    return This->lpVtbl->SetFieldString(This,pcpc,dwFieldID,psz);
2032}
2033static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldCheckbox(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,WINBOOL bChecked,LPCWSTR pszLabel) {
2034    return This->lpVtbl->SetFieldCheckbox(This,pcpc,dwFieldID,bChecked,pszLabel);
2035}
2036static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldBitmap(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,HBITMAP hbmp) {
2037    return This->lpVtbl->SetFieldBitmap(This,pcpc,dwFieldID,hbmp);
2038}
2039static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldComboBoxSelectedItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwSelectedItem) {
2040    return This->lpVtbl->SetFieldComboBoxSelectedItem(This,pcpc,dwFieldID,dwSelectedItem);
2041}
2042static inline HRESULT ICredentialProviderCredentialEvents2_DeleteFieldComboBoxItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwItem) {
2043    return This->lpVtbl->DeleteFieldComboBoxItem(This,pcpc,dwFieldID,dwItem);
2044}
2045static inline HRESULT ICredentialProviderCredentialEvents2_AppendFieldComboBoxItem(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,LPCWSTR pszItem) {
2046    return This->lpVtbl->AppendFieldComboBoxItem(This,pcpc,dwFieldID,pszItem);
2047}
2048static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldSubmitButton(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *pcpc,DWORD dwFieldID,DWORD dwAdjacentTo) {
2049    return This->lpVtbl->SetFieldSubmitButton(This,pcpc,dwFieldID,dwAdjacentTo);
2050}
2051static inline HRESULT ICredentialProviderCredentialEvents2_OnCreatingWindow(ICredentialProviderCredentialEvents2* This,HWND *phwndOwner) {
2052    return This->lpVtbl->OnCreatingWindow(This,phwndOwner);
2053}
2054/*** ICredentialProviderCredentialEvents2 methods ***/
2055static inline HRESULT ICredentialProviderCredentialEvents2_BeginFieldUpdates(ICredentialProviderCredentialEvents2* This) {
2056    return This->lpVtbl->BeginFieldUpdates(This);
2057}
2058static inline HRESULT ICredentialProviderCredentialEvents2_EndFieldUpdates(ICredentialProviderCredentialEvents2* This) {
2059    return This->lpVtbl->EndFieldUpdates(This);
2060}
2061static inline HRESULT ICredentialProviderCredentialEvents2_SetFieldOptions(ICredentialProviderCredentialEvents2* This,ICredentialProviderCredential *credential,DWORD fieldID,CREDENTIAL_PROVIDER_CREDENTIAL_FIELD_OPTIONS options) {
2062    return This->lpVtbl->SetFieldOptions(This,credential,fieldID,options);
2063}
2064#endif
2065#endif
2066
2067#endif
2068
2069
2070#endif  /* __ICredentialProviderCredentialEvents2_INTERFACE_DEFINED__ */
2071
2072/*****************************************************************************
2073 * ICredentialProviderUser interface
2074 */
2075#ifndef __ICredentialProviderUser_INTERFACE_DEFINED__
2076#define __ICredentialProviderUser_INTERFACE_DEFINED__
2077
2078DEFINE_GUID(IID_ICredentialProviderUser, 0x13793285, 0x3ea6, 0x40fd, 0xb4,0x20, 0x15,0xf4,0x7d,0xa4,0x1f,0xbb);
2079#if defined(__cplusplus) && !defined(CINTERFACE)
2080MIDL_INTERFACE("13793285-3ea6-40fd-b420-15f47da41fbb")
2081ICredentialProviderUser : public IUnknown
2082{
2083    virtual HRESULT STDMETHODCALLTYPE GetSid(
2084        LPWSTR *sid) = 0;
2085
2086    virtual HRESULT STDMETHODCALLTYPE GetProviderID(
2087        GUID *providerID) = 0;
2088
2089    virtual HRESULT STDMETHODCALLTYPE GetStringValue(
2090        REFPROPERTYKEY key,
2091        LPWSTR *stringValue) = 0;
2092
2093    virtual HRESULT STDMETHODCALLTYPE GetValue(
2094        REFPROPERTYKEY key,
2095        PROPVARIANT *value) = 0;
2096
2097};
2098#ifdef __CRT_UUID_DECL
2099__CRT_UUID_DECL(ICredentialProviderUser, 0x13793285, 0x3ea6, 0x40fd, 0xb4,0x20, 0x15,0xf4,0x7d,0xa4,0x1f,0xbb)
2100#endif
2101#else
2102typedef struct ICredentialProviderUserVtbl {
2103    BEGIN_INTERFACE
2104
2105    /*** IUnknown methods ***/
2106    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2107        ICredentialProviderUser *This,
2108        REFIID riid,
2109        void **ppvObject);
2110
2111    ULONG (STDMETHODCALLTYPE *AddRef)(
2112        ICredentialProviderUser *This);
2113
2114    ULONG (STDMETHODCALLTYPE *Release)(
2115        ICredentialProviderUser *This);
2116
2117    /*** ICredentialProviderUser methods ***/
2118    HRESULT (STDMETHODCALLTYPE *GetSid)(
2119        ICredentialProviderUser *This,
2120        LPWSTR *sid);
2121
2122    HRESULT (STDMETHODCALLTYPE *GetProviderID)(
2123        ICredentialProviderUser *This,
2124        GUID *providerID);
2125
2126    HRESULT (STDMETHODCALLTYPE *GetStringValue)(
2127        ICredentialProviderUser *This,
2128        REFPROPERTYKEY key,
2129        LPWSTR *stringValue);
2130
2131    HRESULT (STDMETHODCALLTYPE *GetValue)(
2132        ICredentialProviderUser *This,
2133        REFPROPERTYKEY key,
2134        PROPVARIANT *value);
2135
2136    END_INTERFACE
2137} ICredentialProviderUserVtbl;
2138
2139interface ICredentialProviderUser {
2140    CONST_VTBL ICredentialProviderUserVtbl* lpVtbl;
2141};
2142
2143#ifdef COBJMACROS
2144#ifndef WIDL_C_INLINE_WRAPPERS
2145/*** IUnknown methods ***/
2146#define ICredentialProviderUser_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2147#define ICredentialProviderUser_AddRef(This) (This)->lpVtbl->AddRef(This)
2148#define ICredentialProviderUser_Release(This) (This)->lpVtbl->Release(This)
2149/*** ICredentialProviderUser methods ***/
2150#define ICredentialProviderUser_GetSid(This,sid) (This)->lpVtbl->GetSid(This,sid)
2151#define ICredentialProviderUser_GetProviderID(This,providerID) (This)->lpVtbl->GetProviderID(This,providerID)
2152#define ICredentialProviderUser_GetStringValue(This,key,stringValue) (This)->lpVtbl->GetStringValue(This,key,stringValue)
2153#define ICredentialProviderUser_GetValue(This,key,value) (This)->lpVtbl->GetValue(This,key,value)
2154#else
2155/*** IUnknown methods ***/
2156static inline HRESULT ICredentialProviderUser_QueryInterface(ICredentialProviderUser* This,REFIID riid,void **ppvObject) {
2157    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2158}
2159static inline ULONG ICredentialProviderUser_AddRef(ICredentialProviderUser* This) {
2160    return This->lpVtbl->AddRef(This);
2161}
2162static inline ULONG ICredentialProviderUser_Release(ICredentialProviderUser* This) {
2163    return This->lpVtbl->Release(This);
2164}
2165/*** ICredentialProviderUser methods ***/
2166static inline HRESULT ICredentialProviderUser_GetSid(ICredentialProviderUser* This,LPWSTR *sid) {
2167    return This->lpVtbl->GetSid(This,sid);
2168}
2169static inline HRESULT ICredentialProviderUser_GetProviderID(ICredentialProviderUser* This,GUID *providerID) {
2170    return This->lpVtbl->GetProviderID(This,providerID);
2171}
2172static inline HRESULT ICredentialProviderUser_GetStringValue(ICredentialProviderUser* This,REFPROPERTYKEY key,LPWSTR *stringValue) {
2173    return This->lpVtbl->GetStringValue(This,key,stringValue);
2174}
2175static inline HRESULT ICredentialProviderUser_GetValue(ICredentialProviderUser* This,REFPROPERTYKEY key,PROPVARIANT *value) {
2176    return This->lpVtbl->GetValue(This,key,value);
2177}
2178#endif
2179#endif
2180
2181#endif
2182
2183
2184#endif  /* __ICredentialProviderUser_INTERFACE_DEFINED__ */
2185
2186DEFINE_GUID(Identity_LocalUserProvider, 0xA198529B, 0x730F, 0x4089, 0xB6, 0x46, 0xA1, 0x25, 0x57, 0xF5, 0x66, 0x5E);
2187/*****************************************************************************
2188 * ICredentialProviderUserArray interface
2189 */
2190#ifndef __ICredentialProviderUserArray_INTERFACE_DEFINED__
2191#define __ICredentialProviderUserArray_INTERFACE_DEFINED__
2192
2193DEFINE_GUID(IID_ICredentialProviderUserArray, 0x90c119ae, 0x0f18, 0x4520, 0xa1,0xf1, 0x11,0x43,0x66,0xa4,0x0f,0xe8);
2194#if defined(__cplusplus) && !defined(CINTERFACE)
2195MIDL_INTERFACE("90c119ae-0f18-4520-a1f1-114366a40fe8")
2196ICredentialProviderUserArray : public IUnknown
2197{
2198    virtual HRESULT STDMETHODCALLTYPE SetProviderFilter(
2199        REFGUID guidProviderToFilterTo) = 0;
2200
2201    virtual HRESULT STDMETHODCALLTYPE GetAccountOptions(
2202        CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions) = 0;
2203
2204    virtual HRESULT STDMETHODCALLTYPE GetCount(
2205        DWORD *userCount) = 0;
2206
2207    virtual HRESULT STDMETHODCALLTYPE GetAt(
2208        DWORD userIndex,
2209        ICredentialProviderUser **user) = 0;
2210
2211};
2212#ifdef __CRT_UUID_DECL
2213__CRT_UUID_DECL(ICredentialProviderUserArray, 0x90c119ae, 0x0f18, 0x4520, 0xa1,0xf1, 0x11,0x43,0x66,0xa4,0x0f,0xe8)
2214#endif
2215#else
2216typedef struct ICredentialProviderUserArrayVtbl {
2217    BEGIN_INTERFACE
2218
2219    /*** IUnknown methods ***/
2220    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2221        ICredentialProviderUserArray *This,
2222        REFIID riid,
2223        void **ppvObject);
2224
2225    ULONG (STDMETHODCALLTYPE *AddRef)(
2226        ICredentialProviderUserArray *This);
2227
2228    ULONG (STDMETHODCALLTYPE *Release)(
2229        ICredentialProviderUserArray *This);
2230
2231    /*** ICredentialProviderUserArray methods ***/
2232    HRESULT (STDMETHODCALLTYPE *SetProviderFilter)(
2233        ICredentialProviderUserArray *This,
2234        REFGUID guidProviderToFilterTo);
2235
2236    HRESULT (STDMETHODCALLTYPE *GetAccountOptions)(
2237        ICredentialProviderUserArray *This,
2238        CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions);
2239
2240    HRESULT (STDMETHODCALLTYPE *GetCount)(
2241        ICredentialProviderUserArray *This,
2242        DWORD *userCount);
2243
2244    HRESULT (STDMETHODCALLTYPE *GetAt)(
2245        ICredentialProviderUserArray *This,
2246        DWORD userIndex,
2247        ICredentialProviderUser **user);
2248
2249    END_INTERFACE
2250} ICredentialProviderUserArrayVtbl;
2251
2252interface ICredentialProviderUserArray {
2253    CONST_VTBL ICredentialProviderUserArrayVtbl* lpVtbl;
2254};
2255
2256#ifdef COBJMACROS
2257#ifndef WIDL_C_INLINE_WRAPPERS
2258/*** IUnknown methods ***/
2259#define ICredentialProviderUserArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2260#define ICredentialProviderUserArray_AddRef(This) (This)->lpVtbl->AddRef(This)
2261#define ICredentialProviderUserArray_Release(This) (This)->lpVtbl->Release(This)
2262/*** ICredentialProviderUserArray methods ***/
2263#define ICredentialProviderUserArray_SetProviderFilter(This,guidProviderToFilterTo) (This)->lpVtbl->SetProviderFilter(This,guidProviderToFilterTo)
2264#define ICredentialProviderUserArray_GetAccountOptions(This,credentialProviderAccountOptions) (This)->lpVtbl->GetAccountOptions(This,credentialProviderAccountOptions)
2265#define ICredentialProviderUserArray_GetCount(This,userCount) (This)->lpVtbl->GetCount(This,userCount)
2266#define ICredentialProviderUserArray_GetAt(This,userIndex,user) (This)->lpVtbl->GetAt(This,userIndex,user)
2267#else
2268/*** IUnknown methods ***/
2269static inline HRESULT ICredentialProviderUserArray_QueryInterface(ICredentialProviderUserArray* This,REFIID riid,void **ppvObject) {
2270    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2271}
2272static inline ULONG ICredentialProviderUserArray_AddRef(ICredentialProviderUserArray* This) {
2273    return This->lpVtbl->AddRef(This);
2274}
2275static inline ULONG ICredentialProviderUserArray_Release(ICredentialProviderUserArray* This) {
2276    return This->lpVtbl->Release(This);
2277}
2278/*** ICredentialProviderUserArray methods ***/
2279static inline HRESULT ICredentialProviderUserArray_SetProviderFilter(ICredentialProviderUserArray* This,REFGUID guidProviderToFilterTo) {
2280    return This->lpVtbl->SetProviderFilter(This,guidProviderToFilterTo);
2281}
2282static inline HRESULT ICredentialProviderUserArray_GetAccountOptions(ICredentialProviderUserArray* This,CREDENTIAL_PROVIDER_ACCOUNT_OPTIONS *credentialProviderAccountOptions) {
2283    return This->lpVtbl->GetAccountOptions(This,credentialProviderAccountOptions);
2284}
2285static inline HRESULT ICredentialProviderUserArray_GetCount(ICredentialProviderUserArray* This,DWORD *userCount) {
2286    return This->lpVtbl->GetCount(This,userCount);
2287}
2288static inline HRESULT ICredentialProviderUserArray_GetAt(ICredentialProviderUserArray* This,DWORD userIndex,ICredentialProviderUser **user) {
2289    return This->lpVtbl->GetAt(This,userIndex,user);
2290}
2291#endif
2292#endif
2293
2294#endif
2295
2296
2297#endif  /* __ICredentialProviderUserArray_INTERFACE_DEFINED__ */
2298
2299/*****************************************************************************
2300 * ICredentialProviderSetUserArray interface
2301 */
2302#ifndef __ICredentialProviderSetUserArray_INTERFACE_DEFINED__
2303#define __ICredentialProviderSetUserArray_INTERFACE_DEFINED__
2304
2305DEFINE_GUID(IID_ICredentialProviderSetUserArray, 0x095c1484, 0x1c0c, 0x4388, 0x9c,0x6d, 0x50,0x0e,0x61,0xbf,0x84,0xbd);
2306#if defined(__cplusplus) && !defined(CINTERFACE)
2307MIDL_INTERFACE("095c1484-1c0c-4388-9c6d-500e61bf84bd")
2308ICredentialProviderSetUserArray : public IUnknown
2309{
2310    virtual HRESULT STDMETHODCALLTYPE SetUserArray(
2311        ICredentialProviderUserArray *users) = 0;
2312
2313};
2314#ifdef __CRT_UUID_DECL
2315__CRT_UUID_DECL(ICredentialProviderSetUserArray, 0x095c1484, 0x1c0c, 0x4388, 0x9c,0x6d, 0x50,0x0e,0x61,0xbf,0x84,0xbd)
2316#endif
2317#else
2318typedef struct ICredentialProviderSetUserArrayVtbl {
2319    BEGIN_INTERFACE
2320
2321    /*** IUnknown methods ***/
2322    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2323        ICredentialProviderSetUserArray *This,
2324        REFIID riid,
2325        void **ppvObject);
2326
2327    ULONG (STDMETHODCALLTYPE *AddRef)(
2328        ICredentialProviderSetUserArray *This);
2329
2330    ULONG (STDMETHODCALLTYPE *Release)(
2331        ICredentialProviderSetUserArray *This);
2332
2333    /*** ICredentialProviderSetUserArray methods ***/
2334    HRESULT (STDMETHODCALLTYPE *SetUserArray)(
2335        ICredentialProviderSetUserArray *This,
2336        ICredentialProviderUserArray *users);
2337
2338    END_INTERFACE
2339} ICredentialProviderSetUserArrayVtbl;
2340
2341interface ICredentialProviderSetUserArray {
2342    CONST_VTBL ICredentialProviderSetUserArrayVtbl* lpVtbl;
2343};
2344
2345#ifdef COBJMACROS
2346#ifndef WIDL_C_INLINE_WRAPPERS
2347/*** IUnknown methods ***/
2348#define ICredentialProviderSetUserArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2349#define ICredentialProviderSetUserArray_AddRef(This) (This)->lpVtbl->AddRef(This)
2350#define ICredentialProviderSetUserArray_Release(This) (This)->lpVtbl->Release(This)
2351/*** ICredentialProviderSetUserArray methods ***/
2352#define ICredentialProviderSetUserArray_SetUserArray(This,users) (This)->lpVtbl->SetUserArray(This,users)
2353#else
2354/*** IUnknown methods ***/
2355static inline HRESULT ICredentialProviderSetUserArray_QueryInterface(ICredentialProviderSetUserArray* This,REFIID riid,void **ppvObject) {
2356    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2357}
2358static inline ULONG ICredentialProviderSetUserArray_AddRef(ICredentialProviderSetUserArray* This) {
2359    return This->lpVtbl->AddRef(This);
2360}
2361static inline ULONG ICredentialProviderSetUserArray_Release(ICredentialProviderSetUserArray* This) {
2362    return This->lpVtbl->Release(This);
2363}
2364/*** ICredentialProviderSetUserArray methods ***/
2365static inline HRESULT ICredentialProviderSetUserArray_SetUserArray(ICredentialProviderSetUserArray* This,ICredentialProviderUserArray *users) {
2366    return This->lpVtbl->SetUserArray(This,users);
2367}
2368#endif
2369#endif
2370
2371#endif
2372
2373
2374#endif  /* __ICredentialProviderSetUserArray_INTERFACE_DEFINED__ */
2375
2376#endif /* (NTDDI_VERSION >= NTDDI_WIN8) */
2377#ifndef __CredentialProviders_LIBRARY_DEFINED__
2378#define __CredentialProviders_LIBRARY_DEFINED__
2379
2380DEFINE_GUID(LIBID_CredentialProviders, 0xd545db01, 0xe522, 0x4a63, 0xaf,0x83, 0xd8,0xdd,0xf9,0x54,0x00,0x4f);
2381
2382/*****************************************************************************
2383 * PasswordCredentialProvider coclass
2384 */
2385
2386DEFINE_GUID(CLSID_PasswordCredentialProvider, 0x60b78e88, 0xead8, 0x445c, 0x9c,0xfd, 0x0b,0x87,0xf7,0x4e,0xa6,0xcd);
2387
2388#ifdef __cplusplus
2389class DECLSPEC_UUID("60b78e88-ead8-445c-9cfd-0b87f74ea6cd") PasswordCredentialProvider;
2390#ifdef __CRT_UUID_DECL
2391__CRT_UUID_DECL(PasswordCredentialProvider, 0x60b78e88, 0xead8, 0x445c, 0x9c,0xfd, 0x0b,0x87,0xf7,0x4e,0xa6,0xcd)
2392#endif
2393#endif
2394
2395/*****************************************************************************
2396 * V1PasswordCredentialProvider coclass
2397 */
2398
2399DEFINE_GUID(CLSID_V1PasswordCredentialProvider, 0x6f45dc1e, 0x5384, 0x457a, 0xbc,0x13, 0x2c,0xd8,0x1b,0x0d,0x28,0xed);
2400
2401#ifdef __cplusplus
2402class DECLSPEC_UUID("6f45dc1e-5384-457a-bc13-2cd81b0d28ed") V1PasswordCredentialProvider;
2403#ifdef __CRT_UUID_DECL
2404__CRT_UUID_DECL(V1PasswordCredentialProvider, 0x6f45dc1e, 0x5384, 0x457a, 0xbc,0x13, 0x2c,0xd8,0x1b,0x0d,0x28,0xed)
2405#endif
2406#endif
2407
2408/*****************************************************************************
2409 * PINLogonCredentialProvider coclass
2410 */
2411
2412DEFINE_GUID(CLSID_PINLogonCredentialProvider, 0xcb82ea12, 0x9f71, 0x446d, 0x89,0xe1, 0x8d,0x09,0x24,0xe1,0x25,0x6e);
2413
2414#ifdef __cplusplus
2415class DECLSPEC_UUID("cb82ea12-9f71-446d-89e1-8d0924e1256e") PINLogonCredentialProvider;
2416#ifdef __CRT_UUID_DECL
2417__CRT_UUID_DECL(PINLogonCredentialProvider, 0xcb82ea12, 0x9f71, 0x446d, 0x89,0xe1, 0x8d,0x09,0x24,0xe1,0x25,0x6e)
2418#endif
2419#endif
2420
2421/*****************************************************************************
2422 * NPCredentialProvider coclass
2423 */
2424
2425DEFINE_GUID(CLSID_NPCredentialProvider, 0x3dd6bec0, 0x8193, 0x4ffe, 0xae,0x25, 0xe0,0x8e,0x39,0xea,0x40,0x63);
2426
2427#ifdef __cplusplus
2428class DECLSPEC_UUID("3dd6bec0-8193-4ffe-ae25-e08e39ea4063") NPCredentialProvider;
2429#ifdef __CRT_UUID_DECL
2430__CRT_UUID_DECL(NPCredentialProvider, 0x3dd6bec0, 0x8193, 0x4ffe, 0xae,0x25, 0xe0,0x8e,0x39,0xea,0x40,0x63)
2431#endif
2432#endif
2433
2434/*****************************************************************************
2435 * SmartcardCredentialProvider coclass
2436 */
2437
2438DEFINE_GUID(CLSID_SmartcardCredentialProvider, 0x8fd7e19c, 0x3bf7, 0x489b, 0xa7,0x2c, 0x84,0x6a,0xb3,0x67,0x8c,0x96);
2439
2440#ifdef __cplusplus
2441class DECLSPEC_UUID("8fd7e19c-3bf7-489b-a72c-846ab3678c96") SmartcardCredentialProvider;
2442#ifdef __CRT_UUID_DECL
2443__CRT_UUID_DECL(SmartcardCredentialProvider, 0x8fd7e19c, 0x3bf7, 0x489b, 0xa7,0x2c, 0x84,0x6a,0xb3,0x67,0x8c,0x96)
2444#endif
2445#endif
2446
2447/*****************************************************************************
2448 * V1SmartcardCredentialProvider coclass
2449 */
2450
2451DEFINE_GUID(CLSID_V1SmartcardCredentialProvider, 0x8bf9a910, 0xa8ff, 0x457f, 0x99,0x9f, 0xa5,0xca,0x10,0xb4,0xa8,0x85);
2452
2453#ifdef __cplusplus
2454class DECLSPEC_UUID("8bf9a910-a8ff-457f-999f-a5ca10b4a885") V1SmartcardCredentialProvider;
2455#ifdef __CRT_UUID_DECL
2456__CRT_UUID_DECL(V1SmartcardCredentialProvider, 0x8bf9a910, 0xa8ff, 0x457f, 0x99,0x9f, 0xa5,0xca,0x10,0xb4,0xa8,0x85)
2457#endif
2458#endif
2459
2460/*****************************************************************************
2461 * SmartcardPinProvider coclass
2462 */
2463
2464DEFINE_GUID(CLSID_SmartcardPinProvider, 0x94596c7e, 0x3744, 0x41ce, 0x89,0x3e, 0xbb,0xf0,0x91,0x22,0xf7,0x6a);
2465
2466#ifdef __cplusplus
2467class DECLSPEC_UUID("94596c7e-3744-41ce-893e-bbf09122f76a") SmartcardPinProvider;
2468#ifdef __CRT_UUID_DECL
2469__CRT_UUID_DECL(SmartcardPinProvider, 0x94596c7e, 0x3744, 0x41ce, 0x89,0x3e, 0xbb,0xf0,0x91,0x22,0xf7,0x6a)
2470#endif
2471#endif
2472
2473/*****************************************************************************
2474 * SmartcardReaderSelectionProvider coclass
2475 */
2476
2477DEFINE_GUID(CLSID_SmartcardReaderSelectionProvider, 0x1b283861, 0x754f, 0x4022, 0xad,0x47, 0xa5,0xea,0xaa,0x61,0x88,0x94);
2478
2479#ifdef __cplusplus
2480class DECLSPEC_UUID("1b283861-754f-4022-ad47-a5eaaa618894") SmartcardReaderSelectionProvider;
2481#ifdef __CRT_UUID_DECL
2482__CRT_UUID_DECL(SmartcardReaderSelectionProvider, 0x1b283861, 0x754f, 0x4022, 0xad,0x47, 0xa5,0xea,0xaa,0x61,0x88,0x94)
2483#endif
2484#endif
2485
2486/*****************************************************************************
2487 * SmartcardWinRTProvider coclass
2488 */
2489
2490DEFINE_GUID(CLSID_SmartcardWinRTProvider, 0x1ee7337f, 0x85ac, 0x45e2, 0xa2,0x3c, 0x37,0xc7,0x53,0x20,0x97,0x69);
2491
2492#ifdef __cplusplus
2493class DECLSPEC_UUID("1ee7337f-85ac-45e2-a23c-37c753209769") SmartcardWinRTProvider;
2494#ifdef __CRT_UUID_DECL
2495__CRT_UUID_DECL(SmartcardWinRTProvider, 0x1ee7337f, 0x85ac, 0x45e2, 0xa2,0x3c, 0x37,0xc7,0x53,0x20,0x97,0x69)
2496#endif
2497#endif
2498
2499/*****************************************************************************
2500 * GenericCredentialProvider coclass
2501 */
2502
2503DEFINE_GUID(CLSID_GenericCredentialProvider, 0x25cbb996, 0x92ed, 0x457e, 0xb2,0x8c, 0x47,0x74,0x08,0x4b,0xd5,0x62);
2504
2505#ifdef __cplusplus
2506class DECLSPEC_UUID("25cbb996-92ed-457e-b28c-4774084bd562") GenericCredentialProvider;
2507#ifdef __CRT_UUID_DECL
2508__CRT_UUID_DECL(GenericCredentialProvider, 0x25cbb996, 0x92ed, 0x457e, 0xb2,0x8c, 0x47,0x74,0x08,0x4b,0xd5,0x62)
2509#endif
2510#endif
2511
2512/*****************************************************************************
2513 * RASProvider coclass
2514 */
2515
2516DEFINE_GUID(CLSID_RASProvider, 0x5537e283, 0xb1e7, 0x4ef8, 0x9c,0x6e, 0x7a,0xb0,0xaf,0xe5,0x05,0x6d);
2517
2518#ifdef __cplusplus
2519class DECLSPEC_UUID("5537e283-b1e7-4ef8-9c6e-7ab0afe5056d") RASProvider;
2520#ifdef __CRT_UUID_DECL
2521__CRT_UUID_DECL(RASProvider, 0x5537e283, 0xb1e7, 0x4ef8, 0x9c,0x6e, 0x7a,0xb0,0xaf,0xe5,0x05,0x6d)
2522#endif
2523#endif
2524
2525/*****************************************************************************
2526 * OnexCredentialProvider coclass
2527 */
2528
2529DEFINE_GUID(CLSID_OnexCredentialProvider, 0x07aa0886, 0xcc8d, 0x4e19, 0xa4,0x10, 0x1c,0x75,0xaf,0x68,0x6e,0x62);
2530
2531#ifdef __cplusplus
2532class DECLSPEC_UUID("07aa0886-cc8d-4e19-a410-1c75af686e62") OnexCredentialProvider;
2533#ifdef __CRT_UUID_DECL
2534__CRT_UUID_DECL(OnexCredentialProvider, 0x07aa0886, 0xcc8d, 0x4e19, 0xa4,0x10, 0x1c,0x75,0xaf,0x68,0x6e,0x62)
2535#endif
2536#endif
2537
2538/*****************************************************************************
2539 * OnexPlapSmartcardCredentialProvider coclass
2540 */
2541
2542DEFINE_GUID(CLSID_OnexPlapSmartcardCredentialProvider, 0x33c86cd6, 0x705f, 0x4ba1, 0x9a,0xdb, 0x67,0x07,0x0b,0x83,0x77,0x75);
2543
2544#ifdef __cplusplus
2545class DECLSPEC_UUID("33c86cd6-705f-4ba1-9adb-67070b837775") OnexPlapSmartcardCredentialProvider;
2546#ifdef __CRT_UUID_DECL
2547__CRT_UUID_DECL(OnexPlapSmartcardCredentialProvider, 0x33c86cd6, 0x705f, 0x4ba1, 0x9a,0xdb, 0x67,0x07,0x0b,0x83,0x77,0x75)
2548#endif
2549#endif
2550
2551/*****************************************************************************
2552 * VaultProvider coclass
2553 */
2554
2555DEFINE_GUID(CLSID_VaultProvider, 0x503739d0, 0x4c5e, 0x4cfd, 0xb3,0xba, 0xd8,0x81,0x33,0x4f,0x0d,0xf2);
2556
2557#ifdef __cplusplus
2558class DECLSPEC_UUID("503739d0-4c5e-4cfd-b3ba-d881334f0df2") VaultProvider;
2559#ifdef __CRT_UUID_DECL
2560__CRT_UUID_DECL(VaultProvider, 0x503739d0, 0x4c5e, 0x4cfd, 0xb3,0xba, 0xd8,0x81,0x33,0x4f,0x0d,0xf2)
2561#endif
2562#endif
2563
2564/*****************************************************************************
2565 * WinBioCredentialProvider coclass
2566 */
2567
2568DEFINE_GUID(CLSID_WinBioCredentialProvider, 0xbec09223, 0xb018, 0x416d, 0xa0,0xac, 0x52,0x39,0x71,0xb6,0x39,0xf5);
2569
2570#ifdef __cplusplus
2571class DECLSPEC_UUID("bec09223-b018-416d-a0ac-523971b639f5") WinBioCredentialProvider;
2572#ifdef __CRT_UUID_DECL
2573__CRT_UUID_DECL(WinBioCredentialProvider, 0xbec09223, 0xb018, 0x416d, 0xa0,0xac, 0x52,0x39,0x71,0xb6,0x39,0xf5)
2574#endif
2575#endif
2576
2577/*****************************************************************************
2578 * V1WinBioCredentialProvider coclass
2579 */
2580
2581DEFINE_GUID(CLSID_V1WinBioCredentialProvider, 0xac3ac249, 0xe820, 0x4343, 0xa6,0x5b, 0x37,0x7a,0xc6,0x34,0xdc,0x09);
2582
2583#ifdef __cplusplus
2584class DECLSPEC_UUID("ac3ac249-e820-4343-a65b-377ac634dc09") V1WinBioCredentialProvider;
2585#ifdef __CRT_UUID_DECL
2586__CRT_UUID_DECL(V1WinBioCredentialProvider, 0xac3ac249, 0xe820, 0x4343, 0xa6,0x5b, 0x37,0x7a,0xc6,0x34,0xdc,0x09)
2587#endif
2588#endif
2589
2590#endif /* __CredentialProviders_LIBRARY_DEFINED__ */
2591#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
2592/* Begin additional prototypes for all interfaces */
2593
2594ULONG           __RPC_USER HBITMAP_UserSize     (ULONG *, ULONG, HBITMAP *);
2595unsigned char * __RPC_USER HBITMAP_UserMarshal  (ULONG *, unsigned char *, HBITMAP *);
2596unsigned char * __RPC_USER HBITMAP_UserUnmarshal(ULONG *, unsigned char *, HBITMAP *);
2597void            __RPC_USER HBITMAP_UserFree     (ULONG *, HBITMAP *);
2598ULONG           __RPC_USER HWND_UserSize     (ULONG *, ULONG, HWND *);
2599unsigned char * __RPC_USER HWND_UserMarshal  (ULONG *, unsigned char *, HWND *);
2600unsigned char * __RPC_USER HWND_UserUnmarshal(ULONG *, unsigned char *, HWND *);
2601void            __RPC_USER HWND_UserFree     (ULONG *, HWND *);
2602
2603/* End additional prototypes */
2604
2605#ifdef __cplusplus
2606}
2607#endif
2608
2609#endif /* __credentialprovider_h__ */