1 /** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6 #ifndef __IDENTITYSTORE_H__ 7 #define __IDENTITYSTORE_H__ 8 9 #include <objbase.h> 10 11 #if (_WIN32_WINNT >= 0x0601) 12 13 DEFINE_GUID(IID_IAssociatedIdentityProvider,0x2AF066B3,0x4CBB,0x4CBA,0xA7,0x98,0x20,0x4B,0x6A,0xF6,0x8C,0xC0); 14 15 #ifndef __IAssociatedIdentityProvider_FWD_DEFINED__ 16 #define __IAssociatedIdentityProvider_FWD_DEFINED__ 17 typedef struct IAssociatedIdentityProvider IAssociatedIdentityProvider; 18 #endif 19 20 #undef INTERFACE 21 #define INTERFACE IAssociatedIdentityProvider 22 #ifdef __GNUC__ 23 #warning COM interfaces layout in this header has not been verified. 24 #warning COM interfaces with incorrect layout may not work at all. 25 __MINGW_BROKEN_INTERFACE(INTERFACE) 26 #endif 27 DECLARE_INTERFACE_(IAssociatedIdentityProvider,IUnknown) 28 { 29 BEGIN_INTERFACE 30 31 /* IUnknown methods */ 32 STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE; 33 STDMETHOD_(ULONG, AddRef)(THIS) PURE; 34 STDMETHOD_(ULONG, Release)(THIS) PURE; 35 36 /* IAssociatedIdentityProvider methods */ 37 STDMETHOD_(HRESULT,AssociateIdentity)(THIS_ HWND hwndParent,IPropertyStore **ppPropertyStore) PURE; 38 STDMETHOD_(HRESULT,ChangeCredential)(THIS_ HWND hwndParent,LPCWSTR lpszUniqueID) PURE; 39 STDMETHOD_(HRESULT,DisassociateIdentity)(THIS_ HWND hwndParent,LPCWSTR lpszUniqueID) PURE; 40 41 END_INTERFACE 42 }; 43 #ifdef COBJMACROS 44 #define IAssociatedIdentityProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) 45 #define IAssociatedIdentityProvider_AddRef(This) (This)->lpVtbl->AddRef(This) 46 #define IAssociatedIdentityProvider_Release(This) (This)->lpVtbl->Release(This) 47 #define IAssociatedIdentityProvider_AssociateIdentity(This,hwndParent,ppPropertyStore) (This)->lpVtbl->AssociateIdentity(This,hwndParent,ppPropertyStore) 48 #define IAssociatedIdentityProvider_ChangeCredential(This,hwndParent,lpszUniqueID) (This)->lpVtbl->ChangeCredential(This,hwndParent,lpszUniqueID) 49 #define IAssociatedIdentityProvider_DisassociateIdentity(This,hwndParent,lpszUniqueID) (This)->lpVtbl->DisassociateIdentity(This,hwndParent,lpszUniqueID) 50 #endif /*COBJMACROS*/ 51 52 #endif /*(_WIN32_WINNT >= 0x0601)*/ 53 #endif /* __IDENTITYSTORE_H__ */ 54