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