iaccess.h 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  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 __REQUIRED_RPCNDR_H_VERSION__
  7. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  8. #endif
  9. #include "rpc.h"
  10. #include "rpcndr.h"
  11. #ifndef __RPCNDR_H_VERSION__
  12. #error This stub requires an updated version of <rpcndr.h>
  13. #endif
  14. #ifndef COM_NO_WINDOWS_H
  15. #include "windows.h"
  16. #include "ole2.h"
  17. #endif
  18. #ifndef __iaccess_h__
  19. #define __iaccess_h__
  20. #ifndef __IAccessControl_FWD_DEFINED__
  21. #define __IAccessControl_FWD_DEFINED__
  22. typedef struct IAccessControl IAccessControl;
  23. #endif
  24. #ifndef __IAuditControl_FWD_DEFINED__
  25. #define __IAuditControl_FWD_DEFINED__
  26. typedef struct IAuditControl IAuditControl;
  27. #endif
  28. #include "unknwn.h"
  29. #include "accctrl.h"
  30. #ifdef __cplusplus
  31. extern "C"{
  32. #endif
  33. #ifndef __MIDL_user_allocate_free_DEFINED__
  34. #define __MIDL_user_allocate_free_DEFINED__
  35. void *__RPC_API MIDL_user_allocate(size_t);
  36. void __RPC_API MIDL_user_free(void *);
  37. #endif
  38. typedef PACTRL_ACCESSW PACTRL_ACCESSW_ALLOCATE_ALL_NODES;
  39. typedef PACTRL_AUDITW PACTRL_AUDITW_ALLOCATE_ALL_NODES;
  40. extern RPC_IF_HANDLE __MIDL_itf_iaccess_0000_v0_0_c_ifspec;
  41. extern RPC_IF_HANDLE __MIDL_itf_iaccess_0000_v0_0_s_ifspec;
  42. #ifndef __IAccessControl_INTERFACE_DEFINED__
  43. #define __IAccessControl_INTERFACE_DEFINED__
  44. EXTERN_C const IID IID_IAccessControl;
  45. #if defined(__cplusplus) && !defined(CINTERFACE)
  46. struct IAccessControl : public IUnknown {
  47. public:
  48. virtual HRESULT WINAPI GrantAccessRights(PACTRL_ACCESSW pAccessList) = 0;
  49. virtual HRESULT WINAPI SetAccessRights(PACTRL_ACCESSW pAccessList) = 0;
  50. virtual HRESULT WINAPI SetOwner(PTRUSTEEW pOwner,PTRUSTEEW pGroup) = 0;
  51. virtual HRESULT WINAPI RevokeAccessRights(LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]) = 0;
  52. virtual HRESULT WINAPI GetAllAccessRights(LPWSTR lpProperty,PACTRL_ACCESSW_ALLOCATE_ALL_NODES *ppAccessList,PTRUSTEEW *ppOwner,PTRUSTEEW *ppGroup) = 0;
  53. virtual HRESULT WINAPI IsAccessAllowed(PTRUSTEEW pTrustee,LPWSTR lpProperty,ACCESS_RIGHTS AccessRights,WINBOOL *pfAccessAllowed) = 0;
  54. };
  55. #else
  56. typedef struct IAccessControlVtbl {
  57. BEGIN_INTERFACE
  58. HRESULT (WINAPI *QueryInterface)(IAccessControl *This,REFIID riid,void **ppvObject);
  59. ULONG (WINAPI *AddRef)(IAccessControl *This);
  60. ULONG (WINAPI *Release)(IAccessControl *This);
  61. HRESULT (WINAPI *GrantAccessRights)(IAccessControl *This,PACTRL_ACCESSW pAccessList);
  62. HRESULT (WINAPI *SetAccessRights)(IAccessControl *This,PACTRL_ACCESSW pAccessList);
  63. HRESULT (WINAPI *SetOwner)(IAccessControl *This,PTRUSTEEW pOwner,PTRUSTEEW pGroup);
  64. HRESULT (WINAPI *RevokeAccessRights)(IAccessControl *This,LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]);
  65. HRESULT (WINAPI *GetAllAccessRights)(IAccessControl *This,LPWSTR lpProperty,PACTRL_ACCESSW_ALLOCATE_ALL_NODES *ppAccessList,PTRUSTEEW *ppOwner,PTRUSTEEW *ppGroup);
  66. HRESULT (WINAPI *IsAccessAllowed)(IAccessControl *This,PTRUSTEEW pTrustee,LPWSTR lpProperty,ACCESS_RIGHTS AccessRights,WINBOOL *pfAccessAllowed);
  67. END_INTERFACE
  68. } IAccessControlVtbl;
  69. struct IAccessControl {
  70. CONST_VTBL struct IAccessControlVtbl *lpVtbl;
  71. };
  72. #ifdef COBJMACROS
  73. #define IAccessControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  74. #define IAccessControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  75. #define IAccessControl_Release(This) (This)->lpVtbl->Release(This)
  76. #define IAccessControl_GrantAccessRights(This,pAccessList) (This)->lpVtbl->GrantAccessRights(This,pAccessList)
  77. #define IAccessControl_SetAccessRights(This,pAccessList) (This)->lpVtbl->SetAccessRights(This,pAccessList)
  78. #define IAccessControl_SetOwner(This,pOwner,pGroup) (This)->lpVtbl->SetOwner(This,pOwner,pGroup)
  79. #define IAccessControl_RevokeAccessRights(This,lpProperty,cTrustees,prgTrustees) (This)->lpVtbl->RevokeAccessRights(This,lpProperty,cTrustees,prgTrustees)
  80. #define IAccessControl_GetAllAccessRights(This,lpProperty,ppAccessList,ppOwner,ppGroup) (This)->lpVtbl->GetAllAccessRights(This,lpProperty,ppAccessList,ppOwner,ppGroup)
  81. #define IAccessControl_IsAccessAllowed(This,pTrustee,lpProperty,AccessRights,pfAccessAllowed) (This)->lpVtbl->IsAccessAllowed(This,pTrustee,lpProperty,AccessRights,pfAccessAllowed)
  82. #endif
  83. #endif
  84. HRESULT WINAPI IAccessControl_GrantAccessRights_Proxy(IAccessControl *This,PACTRL_ACCESSW pAccessList);
  85. void __RPC_STUB IAccessControl_GrantAccessRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  86. HRESULT WINAPI IAccessControl_SetAccessRights_Proxy(IAccessControl *This,PACTRL_ACCESSW pAccessList);
  87. void __RPC_STUB IAccessControl_SetAccessRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  88. HRESULT WINAPI IAccessControl_SetOwner_Proxy(IAccessControl *This,PTRUSTEEW pOwner,PTRUSTEEW pGroup);
  89. void __RPC_STUB IAccessControl_SetOwner_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  90. HRESULT WINAPI IAccessControl_RevokeAccessRights_Proxy(IAccessControl *This,LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]);
  91. void __RPC_STUB IAccessControl_RevokeAccessRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  92. HRESULT WINAPI IAccessControl_GetAllAccessRights_Proxy(IAccessControl *This,LPWSTR lpProperty,PACTRL_ACCESSW_ALLOCATE_ALL_NODES *ppAccessList,PTRUSTEEW *ppOwner,PTRUSTEEW *ppGroup);
  93. void __RPC_STUB IAccessControl_GetAllAccessRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  94. HRESULT WINAPI IAccessControl_IsAccessAllowed_Proxy(IAccessControl *This,PTRUSTEEW pTrustee,LPWSTR lpProperty,ACCESS_RIGHTS AccessRights,WINBOOL *pfAccessAllowed);
  95. void __RPC_STUB IAccessControl_IsAccessAllowed_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  96. #endif
  97. extern RPC_IF_HANDLE __MIDL_itf_iaccess_0010_v0_0_c_ifspec;
  98. extern RPC_IF_HANDLE __MIDL_itf_iaccess_0010_v0_0_s_ifspec;
  99. #ifndef __IAuditControl_INTERFACE_DEFINED__
  100. #define __IAuditControl_INTERFACE_DEFINED__
  101. EXTERN_C const IID IID_IAuditControl;
  102. #if defined(__cplusplus) && !defined(CINTERFACE)
  103. struct IAuditControl : public IUnknown {
  104. public:
  105. virtual HRESULT WINAPI GrantAuditRights(PACTRL_AUDITW pAuditList) = 0;
  106. virtual HRESULT WINAPI SetAuditRights(PACTRL_AUDITW pAuditList) = 0;
  107. virtual HRESULT WINAPI RevokeAuditRights(LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]) = 0;
  108. virtual HRESULT WINAPI GetAllAuditRights(LPWSTR lpProperty,PACTRL_AUDITW *ppAuditList) = 0;
  109. virtual HRESULT WINAPI IsAccessAudited(PTRUSTEEW pTrustee,ACCESS_RIGHTS AuditRights,WINBOOL *pfAccessAudited) = 0;
  110. };
  111. #else
  112. typedef struct IAuditControlVtbl {
  113. BEGIN_INTERFACE
  114. HRESULT (WINAPI *QueryInterface)(IAuditControl *This,REFIID riid,void **ppvObject);
  115. ULONG (WINAPI *AddRef)(IAuditControl *This);
  116. ULONG (WINAPI *Release)(IAuditControl *This);
  117. HRESULT (WINAPI *GrantAuditRights)(IAuditControl *This,PACTRL_AUDITW pAuditList);
  118. HRESULT (WINAPI *SetAuditRights)(IAuditControl *This,PACTRL_AUDITW pAuditList);
  119. HRESULT (WINAPI *RevokeAuditRights)(IAuditControl *This,LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]);
  120. HRESULT (WINAPI *GetAllAuditRights)(IAuditControl *This,LPWSTR lpProperty,PACTRL_AUDITW *ppAuditList);
  121. HRESULT (WINAPI *IsAccessAudited)(IAuditControl *This,PTRUSTEEW pTrustee,ACCESS_RIGHTS AuditRights,WINBOOL *pfAccessAudited);
  122. END_INTERFACE
  123. } IAuditControlVtbl;
  124. struct IAuditControl {
  125. CONST_VTBL struct IAuditControlVtbl *lpVtbl;
  126. };
  127. #ifdef COBJMACROS
  128. #define IAuditControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
  129. #define IAuditControl_AddRef(This) (This)->lpVtbl->AddRef(This)
  130. #define IAuditControl_Release(This) (This)->lpVtbl->Release(This)
  131. #define IAuditControl_GrantAuditRights(This,pAuditList) (This)->lpVtbl->GrantAuditRights(This,pAuditList)
  132. #define IAuditControl_SetAuditRights(This,pAuditList) (This)->lpVtbl->SetAuditRights(This,pAuditList)
  133. #define IAuditControl_RevokeAuditRights(This,lpProperty,cTrustees,prgTrustees) (This)->lpVtbl->RevokeAuditRights(This,lpProperty,cTrustees,prgTrustees)
  134. #define IAuditControl_GetAllAuditRights(This,lpProperty,ppAuditList) (This)->lpVtbl->GetAllAuditRights(This,lpProperty,ppAuditList)
  135. #define IAuditControl_IsAccessAudited(This,pTrustee,AuditRights,pfAccessAudited) (This)->lpVtbl->IsAccessAudited(This,pTrustee,AuditRights,pfAccessAudited)
  136. #endif
  137. #endif
  138. HRESULT WINAPI IAuditControl_GrantAuditRights_Proxy(IAuditControl *This,PACTRL_AUDITW pAuditList);
  139. void __RPC_STUB IAuditControl_GrantAuditRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  140. HRESULT WINAPI IAuditControl_SetAuditRights_Proxy(IAuditControl *This,PACTRL_AUDITW pAuditList);
  141. void __RPC_STUB IAuditControl_SetAuditRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  142. HRESULT WINAPI IAuditControl_RevokeAuditRights_Proxy(IAuditControl *This,LPWSTR lpProperty,ULONG cTrustees,TRUSTEEW prgTrustees[]);
  143. void __RPC_STUB IAuditControl_RevokeAuditRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  144. HRESULT WINAPI IAuditControl_GetAllAuditRights_Proxy(IAuditControl *This,LPWSTR lpProperty,PACTRL_AUDITW *ppAuditList);
  145. void __RPC_STUB IAuditControl_GetAllAuditRights_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  146. HRESULT WINAPI IAuditControl_IsAccessAudited_Proxy(IAuditControl *This,PTRUSTEEW pTrustee,ACCESS_RIGHTS AuditRights,WINBOOL *pfAccessAudited);
  147. void __RPC_STUB IAuditControl_IsAccessAudited_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
  148. #endif
  149. #ifdef __cplusplus
  150. }
  151. #endif
  152. #endif