master
  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__
 27typedef struct IAccessControl IAccessControl;
 28#endif
 29
 30#ifndef __IAuditControl_FWD_DEFINED__
 31#define __IAuditControl_FWD_DEFINED__
 32typedef struct IAuditControl IAuditControl;
 33#endif
 34
 35#include "unknwn.h"
 36#include "accctrl.h"
 37#ifdef __cplusplus
 38extern "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