identitystore.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. #include <objbase.h>
  9. #if (_WIN32_WINNT >= 0x0601)
  10. DEFINE_GUID(IID_IAssociatedIdentityProvider,0x2AF066B3,0x4CBB,0x4CBA,0xA7,0x98,0x20,0x4B,0x6A,0xF6,0x8C,0xC0);
  11. #ifndef __IAssociatedIdentityProvider_FWD_DEFINED__
  12. #define __IAssociatedIdentityProvider_FWD_DEFINED__
  13. typedef struct IAssociatedIdentityProvider IAssociatedIdentityProvider;
  14. #endif
  15. #undef INTERFACE
  16. #define INTERFACE IAssociatedIdentityProvider
  17. #ifdef __GNUC__
  18. #warning COM interfaces layout in this header has not been verified.
  19. #warning COM interfaces with incorrect layout may not work at all.
  20. __MINGW_BROKEN_INTERFACE(INTERFACE)
  21. #endif
  22. DECLARE_INTERFACE_(IAssociatedIdentityProvider,IUnknown)
  23. {
  24. BEGIN_INTERFACE
  25. /* IUnknown methods */
  26. STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
  27. STDMETHOD_(ULONG, AddRef)(THIS) PURE;
  28. STDMETHOD_(ULONG, Release)(THIS) PURE;
  29. /* IAssociatedIdentityProvider methods */
  30. STDMETHOD_(HRESULT,AssociateIdentity)(THIS_ HWND hwndParent,IPropertyStore **ppPropertyStore) PURE;
  31. STDMETHOD_(HRESULT,ChangeCredential)(THIS_ HWND hwndParent,LPCWSTR lpszUniqueID) PURE;
  32. STDMETHOD_(HRESULT,DisassociateIdentity)(THIS_ HWND hwndParent,LPCWSTR lpszUniqueID) PURE;
  33. END_INTERFACE
  34. };
  35. #ifdef COBJMACROS
  36. #define IAssociatedIdentityProvider_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  37. #define IAssociatedIdentityProvider_AddRef(This) (This)->lpVtbl->AddRef(This)
  38. #define IAssociatedIdentityProvider_Release(This) (This)->lpVtbl->Release(This)
  39. #define IAssociatedIdentityProvider_AssociateIdentity(This,hwndParent,ppPropertyStore) (This)->lpVtbl->AssociateIdentity(This,hwndParent,ppPropertyStore)
  40. #define IAssociatedIdentityProvider_ChangeCredential(This,hwndParent,lpszUniqueID) (This)->lpVtbl->ChangeCredential(This,hwndParent,lpszUniqueID)
  41. #define IAssociatedIdentityProvider_DisassociateIdentity(This,hwndParent,lpszUniqueID) (This)->lpVtbl->DisassociateIdentity(This,hwndParent,lpszUniqueID)
  42. #endif /*COBJMACROS*/
  43. #endif /*(_WIN32_WINNT >= 0x0601)*/
  44. #endif /* __IDENTITYSTORE_H__ */