home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / iaccess.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  7.9 KB  |  251 lines

  1. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  2. #include <accctrl.h>
  3.  
  4. #ifndef __IAccessControl_INTERFACE_DEFINED__
  5. #define __IAccessControl_INTERFACE_DEFINED__
  6.  
  7. /****************************************
  8.  * Generated header for interface: __MIDL__intf_0077
  9.  * at Tue Oct 29 15:38:21 1996
  10.  * using MIDL 3.00.44
  11.  ****************************************/
  12. /* [local] */
  13.  
  14.  
  15. typedef /* [allocate] */ PACTRL_ACCESSW PACTRL_ACCESSW_ALLOCATE_ALL_NODES;
  16.  
  17. typedef /* [allocate] */ PACTRL_AUDITW PACTRL_AUDITW_ALLOCATE_ALL_NODES;
  18.  
  19.  
  20.  
  21.  
  22.  
  23. /****************************************
  24.  * Generated header for interface: IAccessControl
  25.  * at Tue Oct 29 15:38:21 1996
  26.  * using MIDL 3.00.44
  27.  ****************************************/
  28. /* [unique][uuid][object] */
  29.  
  30.  
  31.  
  32. EXTERN_C const IID IID_IAccessControl;
  33.  
  34. #if defined(__cplusplus) && !defined(CINTERFACE)
  35.  
  36.     interface IAccessControl : public IUnknown
  37.     {
  38.     public:
  39.         virtual HRESULT STDMETHODCALLTYPE GrantAccessRights(
  40.             /* [in] */ PACTRL_ACCESSW pAccessList) = 0;
  41.  
  42.         virtual HRESULT STDMETHODCALLTYPE SetAccessRights(
  43.             /* [in] */ PACTRL_ACCESSW pAccessList) = 0;
  44.  
  45.         virtual HRESULT STDMETHODCALLTYPE SetOwner(
  46.             /* [in] */ PTRUSTEEW pOwner,
  47.             /* [in] */ PTRUSTEEW pGroup) = 0;
  48.  
  49.         virtual HRESULT STDMETHODCALLTYPE RevokeAccessRights(
  50.             /* [in] */ LPWSTR lpProperty,
  51.             /* [in] */ ULONG cTrustees,
  52.             /* [size_is][in] */ TRUSTEEW __RPC_FAR prgTrustees[  ]) = 0;
  53.  
  54.         virtual HRESULT STDMETHODCALLTYPE GetAllAccessRights(
  55.             /* [in] */ LPWSTR lpProperty,
  56.             /* [out] */ PACTRL_ACCESSW_ALLOCATE_ALL_NODES __RPC_FAR *ppAccessList,
  57.             /* [out] */ PTRUSTEEW __RPC_FAR *ppOwner,
  58.             /* [out] */ PTRUSTEEW __RPC_FAR *ppGroup) = 0;
  59.  
  60.         virtual HRESULT STDMETHODCALLTYPE IsAccessAllowed(
  61.             /* [in] */ PTRUSTEEW pTrustee,
  62.             /* [in] */ LPWSTR lpProperty,
  63.             /* [in] */ ACCESS_RIGHTS AccessRights,
  64.             /* [out] */ BOOL __RPC_FAR *pfAccessAllowed) = 0;
  65.  
  66.     };
  67.  
  68. #else   /* C style interface */
  69.  
  70.     typedef struct IAccessControlVtbl
  71.     {
  72.         BEGIN_INTERFACE
  73.  
  74.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  75.             IAccessControl __RPC_FAR * This,
  76.             /* [in] */ REFIID riid,
  77.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  78.  
  79.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  80.             IAccessControl __RPC_FAR * This);
  81.  
  82.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  83.             IAccessControl __RPC_FAR * This);
  84.  
  85.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GrantAccessRights )(
  86.             IAccessControl __RPC_FAR * This,
  87.             /* [in] */ PACTRL_ACCESSW pAccessList);
  88.  
  89.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetAccessRights )(
  90.             IAccessControl __RPC_FAR * This,
  91.             /* [in] */ PACTRL_ACCESSW pAccessList);
  92.  
  93.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *SetOwner )(
  94.             IAccessControl __RPC_FAR * This,
  95.             /* [in] */ PTRUSTEEW pOwner,
  96.             /* [in] */ PTRUSTEEW pGroup);
  97.  
  98.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RevokeAccessRights )(
  99.             IAccessControl __RPC_FAR * This,
  100.             /* [in] */ LPWSTR lpProperty,
  101.             /* [in] */ ULONG cTrustees,
  102.             /* [size_is][in] */ TRUSTEEW __RPC_FAR prgTrustees[  ]);
  103.  
  104.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetAllAccessRights )(
  105.             IAccessControl __RPC_FAR * This,
  106.             /* [in] */ LPWSTR lpProperty,
  107.             /* [out] */ PACTRL_ACCESSW_ALLOCATE_ALL_NODES __RPC_FAR *ppAccessList,
  108.             /* [out] */ PTRUSTEEW __RPC_FAR *ppOwner,
  109.             /* [out] */ PTRUSTEEW __RPC_FAR *ppGroup);
  110.  
  111.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *IsAccessAllowed )(
  112.             IAccessControl __RPC_FAR * This,
  113.             /* [in] */ PTRUSTEEW pTrustee,
  114.             /* [in] */ LPWSTR lpProperty,
  115.             /* [in] */ ACCESS_RIGHTS AccessRights,
  116.             /* [out] */ BOOL __RPC_FAR *pfAccessAllowed);
  117.  
  118.         END_INTERFACE
  119.     } IAccessControlVtbl;
  120.  
  121.     interface IAccessControl
  122.     {
  123.         CONST_VTBL struct IAccessControlVtbl __RPC_FAR *lpVtbl;
  124.     };
  125.  
  126.  
  127.  
  128. #ifdef COBJMACROS
  129.  
  130.  
  131. #define IAccessControl_QueryInterface(This,riid,ppvObject)      \
  132.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  133.  
  134. #define IAccessControl_AddRef(This)     \
  135.     (This)->lpVtbl -> AddRef(This)
  136.  
  137. #define IAccessControl_Release(This)    \
  138.     (This)->lpVtbl -> Release(This)
  139.  
  140.  
  141. #define IAccessControl_GrantAccessRights(This,pAccessList)      \
  142.     (This)->lpVtbl -> GrantAccessRights(This,pAccessList)
  143.  
  144. #define IAccessControl_SetAccessRights(This,pAccessList)        \
  145.     (This)->lpVtbl -> SetAccessRights(This,pAccessList)
  146.  
  147. #define IAccessControl_SetOwner(This,pOwner,pGroup)     \
  148.     (This)->lpVtbl -> SetOwner(This,pOwner,pGroup)
  149.  
  150. #define IAccessControl_RevokeAccessRights(This,lpProperty,cTrustees,prgTrustees)        \
  151.     (This)->lpVtbl -> RevokeAccessRights(This,lpProperty,cTrustees,prgTrustees)
  152.  
  153. #define IAccessControl_GetAllAccessRights(This,lpProperty,ppAccessList,ppOwner,ppGroup) \
  154.     (This)->lpVtbl -> GetAllAccessRights(This,lpProperty,ppAccessList,ppOwner,ppGroup)
  155.  
  156. #define IAccessControl_IsAccessAllowed(This,pTrustee,lpProperty,AccessRights,pfAccessAllowed)   \
  157.     (This)->lpVtbl -> IsAccessAllowed(This,pTrustee,lpProperty,AccessRights,pfAccessAllowed)
  158.  
  159. #endif /* COBJMACROS */
  160.  
  161.  
  162. #endif  /* C style interface */
  163.  
  164.  
  165.  
  166. HRESULT STDMETHODCALLTYPE IAccessControl_GrantAccessRights_Proxy(
  167.     IAccessControl __RPC_FAR * This,
  168.     /* [in] */ PACTRL_ACCESSW pAccessList);
  169.  
  170.  
  171. void __RPC_STUB IAccessControl_GrantAccessRights_Stub(
  172.     IRpcStubBuffer *This,
  173.     IRpcChannelBuffer *_pRpcChannelBuffer,
  174.     PRPC_MESSAGE _pRpcMessage,
  175.     DWORD *_pdwStubPhase);
  176.  
  177.  
  178. HRESULT STDMETHODCALLTYPE IAccessControl_SetAccessRights_Proxy(
  179.     IAccessControl __RPC_FAR * This,
  180.     /* [in] */ PACTRL_ACCESSW pAccessList);
  181.  
  182.  
  183. void __RPC_STUB IAccessControl_SetAccessRights_Stub(
  184.     IRpcStubBuffer *This,
  185.     IRpcChannelBuffer *_pRpcChannelBuffer,
  186.     PRPC_MESSAGE _pRpcMessage,
  187.     DWORD *_pdwStubPhase);
  188.  
  189.  
  190. HRESULT STDMETHODCALLTYPE IAccessControl_SetOwner_Proxy(
  191.     IAccessControl __RPC_FAR * This,
  192.     /* [in] */ PTRUSTEEW pOwner,
  193.     /* [in] */ PTRUSTEEW pGroup);
  194.  
  195.  
  196. void __RPC_STUB IAccessControl_SetOwner_Stub(
  197.     IRpcStubBuffer *This,
  198.     IRpcChannelBuffer *_pRpcChannelBuffer,
  199.     PRPC_MESSAGE _pRpcMessage,
  200.     DWORD *_pdwStubPhase);
  201.  
  202.  
  203. HRESULT STDMETHODCALLTYPE IAccessControl_RevokeAccessRights_Proxy(
  204.     IAccessControl __RPC_FAR * This,
  205.     /* [in] */ LPWSTR lpProperty,
  206.     /* [in] */ ULONG cTrustees,
  207.     /* [size_is][in] */ TRUSTEEW __RPC_FAR prgTrustees[  ]);
  208.  
  209.  
  210. void __RPC_STUB IAccessControl_RevokeAccessRights_Stub(
  211.     IRpcStubBuffer *This,
  212.     IRpcChannelBuffer *_pRpcChannelBuffer,
  213.     PRPC_MESSAGE _pRpcMessage,
  214.     DWORD *_pdwStubPhase);
  215.  
  216.  
  217. HRESULT STDMETHODCALLTYPE IAccessControl_GetAllAccessRights_Proxy(
  218.     IAccessControl __RPC_FAR * This,
  219.     /* [in] */ LPWSTR lpProperty,
  220.     /* [out] */ PACTRL_ACCESSW_ALLOCATE_ALL_NODES __RPC_FAR *ppAccessList,
  221.     /* [out] */ PTRUSTEEW __RPC_FAR *ppOwner,
  222.     /* [out] */ PTRUSTEEW __RPC_FAR *ppGroup);
  223.  
  224.  
  225. void __RPC_STUB IAccessControl_GetAllAccessRights_Stub(
  226.     IRpcStubBuffer *This,
  227.     IRpcChannelBuffer *_pRpcChannelBuffer,
  228.     PRPC_MESSAGE _pRpcMessage,
  229.     DWORD *_pdwStubPhase);
  230.  
  231.  
  232. HRESULT STDMETHODCALLTYPE IAccessControl_IsAccessAllowed_Proxy(
  233.     IAccessControl __RPC_FAR * This,
  234.     /* [in] */ PTRUSTEEW pTrustee,
  235.     /* [in] */ LPWSTR lpProperty,
  236.     /* [in] */ ACCESS_RIGHTS AccessRights,
  237.     /* [out] */ BOOL __RPC_FAR *pfAccessAllowed);
  238.  
  239.  
  240. void __RPC_STUB IAccessControl_IsAccessAllowed_Stub(
  241.     IRpcStubBuffer *This,
  242.     IRpcChannelBuffer *_pRpcChannelBuffer,
  243.     PRPC_MESSAGE _pRpcMessage,
  244.     DWORD *_pdwStubPhase);
  245.  
  246.  
  247.  
  248. #endif  /* __IAccessControl_INTERFACE_DEFINED__ */
  249.  
  250. #pragma option pop /*P_O_Pop*/
  251.