Home | History | Annotate | Download | only in include
      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 __certadm_h__
     23 #define __certadm_h__
     24 
     25 #ifndef __ICertAdmin_FWD_DEFINED__
     26 #define __ICertAdmin_FWD_DEFINED__
     27 typedef struct ICertAdmin ICertAdmin;
     28 #endif
     29 
     30 #ifndef __ICertAdmin2_FWD_DEFINED__
     31 #define __ICertAdmin2_FWD_DEFINED__
     32 typedef struct ICertAdmin2 ICertAdmin2;
     33 #endif
     34 
     35 #ifndef __CCertAdmin_FWD_DEFINED__
     36 #define __CCertAdmin_FWD_DEFINED__
     37 #ifdef __cplusplus
     38 typedef class CCertAdmin CCertAdmin;
     39 #else
     40 typedef struct CCertAdmin CCertAdmin;
     41 #endif
     42 #endif
     43 
     44 #ifndef __CCertView_FWD_DEFINED__
     45 #define __CCertView_FWD_DEFINED__
     46 
     47 #ifdef __cplusplus
     48 typedef class CCertView CCertView;
     49 #else
     50 typedef struct CCertView CCertView;
     51 #endif
     52 #endif
     53 
     54 #include "wtypes.h"
     55 #include "certview.h"
     56 #ifdef __cplusplus
     57 extern "C"{
     58 #endif
     59 
     60 #ifndef __MIDL_user_allocate_free_DEFINED__
     61 #define __MIDL_user_allocate_free_DEFINED__
     62   void *__RPC_API MIDL_user_allocate(size_t);
     63   void __RPC_API MIDL_user_free(void *);
     64 #endif
     65 
     66 #define CA_DISP_INCOMPLETE (0)
     67 #define CA_DISP_ERROR (0x1)
     68 #define CA_DISP_REVOKED (0x2)
     69 #define CA_DISP_VALID (0x3)
     70 #define CA_DISP_INVALID (0x4)
     71 #define CA_DISP_UNDER_SUBMISSION (0x5)
     72 
     73 #define KRA_DISP_EXPIRED (0)
     74 #define KRA_DISP_NOTFOUND (0x1)
     75 #define KRA_DISP_REVOKED (0x2)
     76 #define KRA_DISP_VALID (0x3)
     77 #define KRA_DISP_INVALID (0x4)
     78 #define KRA_DISP_UNTRUSTED (0x5)
     79 #define KRA_DISP_NOTLOADED (0x6)
     80 
     81 #define CA_ACCESS_ADMIN (0x1)
     82 #define CA_ACCESS_OFFICER (0x2)
     83 #define CA_ACCESS_AUDITOR (0x4)
     84 #define CA_ACCESS_OPERATOR (0x8)
     85 
     86 #define CA_ACCESS_MASKROLES (0xff)
     87 
     88 #define CA_ACCESS_READ (0x100)
     89 #define CA_ACCESS_ENROLL (0x200)
     90 
     91   extern RPC_IF_HANDLE __MIDL_itf_certadm_0000_v0_0_c_ifspec;
     92   extern RPC_IF_HANDLE __MIDL_itf_certadm_0000_v0_0_s_ifspec;
     93 
     94 #ifndef __ICertAdmin_INTERFACE_DEFINED__
     95 #define __ICertAdmin_INTERFACE_DEFINED__
     96   EXTERN_C const IID IID_ICertAdmin;
     97 #if defined(__cplusplus) && !defined(CINTERFACE)
     98   struct ICertAdmin : public IDispatch {
     99   public:
    100     virtual HRESULT WINAPI IsValidCertificate(const BSTR strConfig,const BSTR strSerialNumber,LONG *pDisposition) = 0;
    101     virtual HRESULT WINAPI GetRevocationReason(LONG *pReason) = 0;
    102     virtual HRESULT WINAPI RevokeCertificate(const BSTR strConfig,const BSTR strSerialNumber,LONG Reason,DATE Date) = 0;
    103     virtual HRESULT WINAPI SetRequestAttributes(const BSTR strConfig,LONG RequestId,const BSTR strAttributes) = 0;
    104     virtual HRESULT WINAPI SetCertificateExtension(const BSTR strConfig,LONG RequestId,const BSTR strExtensionName,LONG Type,LONG Flags,const VARIANT *pvarValue) = 0;
    105     virtual HRESULT WINAPI DenyRequest(const BSTR strConfig,LONG RequestId) = 0;
    106     virtual HRESULT WINAPI ResubmitRequest(const BSTR strConfig,LONG RequestId,LONG *pDisposition) = 0;
    107     virtual HRESULT WINAPI PublishCRL(const BSTR strConfig,DATE Date) = 0;
    108     virtual HRESULT WINAPI GetCRL(const BSTR strConfig,LONG Flags,BSTR *pstrCRL) = 0;
    109     virtual HRESULT WINAPI ImportCertificate(const BSTR strConfig,const BSTR strCertificate,LONG Flags,LONG *pRequestId) = 0;
    110   };
    111 #else
    112   typedef struct ICertAdminVtbl {
    113     BEGIN_INTERFACE
    114       HRESULT (WINAPI *QueryInterface)(ICertAdmin *This,REFIID riid,void **ppvObject);
    115       ULONG (WINAPI *AddRef)(ICertAdmin *This);
    116       ULONG (WINAPI *Release)(ICertAdmin *This);
    117       HRESULT (WINAPI *GetTypeInfoCount)(ICertAdmin *This,UINT *pctinfo);
    118       HRESULT (WINAPI *GetTypeInfo)(ICertAdmin *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    119       HRESULT (WINAPI *GetIDsOfNames)(ICertAdmin *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    120       HRESULT (WINAPI *Invoke)(ICertAdmin *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    121       HRESULT (WINAPI *IsValidCertificate)(ICertAdmin *This,const BSTR strConfig,const BSTR strSerialNumber,LONG *pDisposition);
    122       HRESULT (WINAPI *GetRevocationReason)(ICertAdmin *This,LONG *pReason);
    123       HRESULT (WINAPI *RevokeCertificate)(ICertAdmin *This,const BSTR strConfig,const BSTR strSerialNumber,LONG Reason,DATE Date);
    124       HRESULT (WINAPI *SetRequestAttributes)(ICertAdmin *This,const BSTR strConfig,LONG RequestId,const BSTR strAttributes);
    125       HRESULT (WINAPI *SetCertificateExtension)(ICertAdmin *This,const BSTR strConfig,LONG RequestId,const BSTR strExtensionName,LONG Type,LONG Flags,const VARIANT *pvarValue);
    126       HRESULT (WINAPI *DenyRequest)(ICertAdmin *This,const BSTR strConfig,LONG RequestId);
    127       HRESULT (WINAPI *ResubmitRequest)(ICertAdmin *This,const BSTR strConfig,LONG RequestId,LONG *pDisposition);
    128       HRESULT (WINAPI *PublishCRL)(ICertAdmin *This,const BSTR strConfig,DATE Date);
    129       HRESULT (WINAPI *GetCRL)(ICertAdmin *This,const BSTR strConfig,LONG Flags,BSTR *pstrCRL);
    130       HRESULT (WINAPI *ImportCertificate)(ICertAdmin *This,const BSTR strConfig,const BSTR strCertificate,LONG Flags,LONG *pRequestId);
    131     END_INTERFACE
    132   } ICertAdminVtbl;
    133   struct ICertAdmin {
    134     CONST_VTBL struct ICertAdminVtbl *lpVtbl;
    135   };
    136 #ifdef COBJMACROS
    137 #define ICertAdmin_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    138 #define ICertAdmin_AddRef(This) (This)->lpVtbl->AddRef(This)
    139 #define ICertAdmin_Release(This) (This)->lpVtbl->Release(This)
    140 #define ICertAdmin_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    141 #define ICertAdmin_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    142 #define ICertAdmin_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    143 #define ICertAdmin_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    144 #define ICertAdmin_IsValidCertificate(This,strConfig,strSerialNumber,pDisposition) (This)->lpVtbl->IsValidCertificate(This,strConfig,strSerialNumber,pDisposition)
    145 #define ICertAdmin_GetRevocationReason(This,pReason) (This)->lpVtbl->GetRevocationReason(This,pReason)
    146 #define ICertAdmin_RevokeCertificate(This,strConfig,strSerialNumber,Reason,Date) (This)->lpVtbl->RevokeCertificate(This,strConfig,strSerialNumber,Reason,Date)
    147 #define ICertAdmin_SetRequestAttributes(This,strConfig,RequestId,strAttributes) (This)->lpVtbl->SetRequestAttributes(This,strConfig,RequestId,strAttributes)
    148 #define ICertAdmin_SetCertificateExtension(This,strConfig,RequestId,strExtensionName,Type,Flags,pvarValue) (This)->lpVtbl->SetCertificateExtension(This,strConfig,RequestId,strExtensionName,Type,Flags,pvarValue)
    149 #define ICertAdmin_DenyRequest(This,strConfig,RequestId) (This)->lpVtbl->DenyRequest(This,strConfig,RequestId)
    150 #define ICertAdmin_ResubmitRequest(This,strConfig,RequestId,pDisposition) (This)->lpVtbl->ResubmitRequest(This,strConfig,RequestId,pDisposition)
    151 #define ICertAdmin_PublishCRL(This,strConfig,Date) (This)->lpVtbl->PublishCRL(This,strConfig,Date)
    152 #define ICertAdmin_GetCRL(This,strConfig,Flags,pstrCRL) (This)->lpVtbl->GetCRL(This,strConfig,Flags,pstrCRL)
    153 #define ICertAdmin_ImportCertificate(This,strConfig,strCertificate,Flags,pRequestId) (This)->lpVtbl->ImportCertificate(This,strConfig,strCertificate,Flags,pRequestId)
    154 #endif
    155 #endif
    156   HRESULT WINAPI ICertAdmin_IsValidCertificate_Proxy(ICertAdmin *This,const BSTR strConfig,const BSTR strSerialNumber,LONG *pDisposition);
    157   void __RPC_STUB ICertAdmin_IsValidCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    158   HRESULT WINAPI ICertAdmin_GetRevocationReason_Proxy(ICertAdmin *This,LONG *pReason);
    159   void __RPC_STUB ICertAdmin_GetRevocationReason_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    160   HRESULT WINAPI ICertAdmin_RevokeCertificate_Proxy(ICertAdmin *This,const BSTR strConfig,const BSTR strSerialNumber,LONG Reason,DATE Date);
    161   void __RPC_STUB ICertAdmin_RevokeCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    162   HRESULT WINAPI ICertAdmin_SetRequestAttributes_Proxy(ICertAdmin *This,const BSTR strConfig,LONG RequestId,const BSTR strAttributes);
    163   void __RPC_STUB ICertAdmin_SetRequestAttributes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    164   HRESULT WINAPI ICertAdmin_SetCertificateExtension_Proxy(ICertAdmin *This,const BSTR strConfig,LONG RequestId,const BSTR strExtensionName,LONG Type,LONG Flags,const VARIANT *pvarValue);
    165   void __RPC_STUB ICertAdmin_SetCertificateExtension_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    166   HRESULT WINAPI ICertAdmin_DenyRequest_Proxy(ICertAdmin *This,const BSTR strConfig,LONG RequestId);
    167   void __RPC_STUB ICertAdmin_DenyRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    168   HRESULT WINAPI ICertAdmin_ResubmitRequest_Proxy(ICertAdmin *This,const BSTR strConfig,LONG RequestId,LONG *pDisposition);
    169   void __RPC_STUB ICertAdmin_ResubmitRequest_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    170   HRESULT WINAPI ICertAdmin_PublishCRL_Proxy(ICertAdmin *This,const BSTR strConfig,DATE Date);
    171   void __RPC_STUB ICertAdmin_PublishCRL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    172   HRESULT WINAPI ICertAdmin_GetCRL_Proxy(ICertAdmin *This,const BSTR strConfig,LONG Flags,BSTR *pstrCRL);
    173   void __RPC_STUB ICertAdmin_GetCRL_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    174   HRESULT WINAPI ICertAdmin_ImportCertificate_Proxy(ICertAdmin *This,const BSTR strConfig,const BSTR strCertificate,LONG Flags,LONG *pRequestId);
    175   void __RPC_STUB ICertAdmin_ImportCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    176 #endif
    177 
    178 #define CA_CRL_BASE (0x1)
    179 #define CA_CRL_DELTA (0x2)
    180 #define CA_CRL_REPUBLISH (0x10)
    181 #define ICF_ALLOWFOREIGN (0x10000)
    182 #define IKF_OVERWRITE (0x10000)
    183 
    184 #define CDR_EXPIRED (1)
    185 #define CDR_REQUEST_LAST_CHANGED (2)
    186 
    187   extern RPC_IF_HANDLE __MIDL_itf_certadm_0129_v0_0_c_ifspec;
    188   extern RPC_IF_HANDLE __MIDL_itf_certadm_0129_v0_0_s_ifspec;
    189 
    190 #ifndef __ICertAdmin2_INTERFACE_DEFINED__
    191 #define __ICertAdmin2_INTERFACE_DEFINED__
    192   EXTERN_C const IID IID_ICertAdmin2;
    193 #if defined(__cplusplus) && !defined(CINTERFACE)
    194   struct ICertAdmin2 : public ICertAdmin {
    195   public:
    196     virtual HRESULT WINAPI PublishCRLs(const BSTR strConfig,DATE Date,LONG CRLFlags) = 0;
    197     virtual HRESULT WINAPI GetCAProperty(const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue) = 0;
    198     virtual HRESULT WINAPI SetCAProperty(const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,VARIANT *pvarPropertyValue) = 0;
    199     virtual HRESULT WINAPI GetCAPropertyFlags(const BSTR strConfig,LONG PropId,LONG *pPropFlags) = 0;
    200     virtual HRESULT WINAPI GetCAPropertyDisplayName(const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName) = 0;
    201     virtual HRESULT WINAPI GetArchivedKey(const BSTR strConfig,LONG RequestId,LONG Flags,BSTR *pstrArchivedKey) = 0;
    202     virtual HRESULT WINAPI GetConfigEntry(const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry) = 0;
    203     virtual HRESULT WINAPI SetConfigEntry(const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry) = 0;
    204     virtual HRESULT WINAPI ImportKey(const BSTR strConfig,LONG RequestId,const BSTR strCertHash,LONG Flags,const BSTR strKey) = 0;
    205     virtual HRESULT WINAPI GetMyRoles(const BSTR strConfig,LONG *pRoles) = 0;
    206     virtual HRESULT WINAPI DeleteRow(const BSTR strConfig,LONG Flags,DATE Date,LONG Table,LONG RowId,LONG *pcDeleted) = 0;
    207   };
    208 #else
    209   typedef struct ICertAdmin2Vtbl {
    210     BEGIN_INTERFACE
    211       HRESULT (WINAPI *QueryInterface)(ICertAdmin2 *This,REFIID riid,void **ppvObject);
    212       ULONG (WINAPI *AddRef)(ICertAdmin2 *This);
    213       ULONG (WINAPI *Release)(ICertAdmin2 *This);
    214       HRESULT (WINAPI *GetTypeInfoCount)(ICertAdmin2 *This,UINT *pctinfo);
    215       HRESULT (WINAPI *GetTypeInfo)(ICertAdmin2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    216       HRESULT (WINAPI *GetIDsOfNames)(ICertAdmin2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    217       HRESULT (WINAPI *Invoke)(ICertAdmin2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    218       HRESULT (WINAPI *IsValidCertificate)(ICertAdmin2 *This,const BSTR strConfig,const BSTR strSerialNumber,LONG *pDisposition);
    219       HRESULT (WINAPI *GetRevocationReason)(ICertAdmin2 *This,LONG *pReason);
    220       HRESULT (WINAPI *RevokeCertificate)(ICertAdmin2 *This,const BSTR strConfig,const BSTR strSerialNumber,LONG Reason,DATE Date);
    221       HRESULT (WINAPI *SetRequestAttributes)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,const BSTR strAttributes);
    222       HRESULT (WINAPI *SetCertificateExtension)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,const BSTR strExtensionName,LONG Type,LONG Flags,const VARIANT *pvarValue);
    223       HRESULT (WINAPI *DenyRequest)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId);
    224       HRESULT (WINAPI *ResubmitRequest)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,LONG *pDisposition);
    225       HRESULT (WINAPI *PublishCRL)(ICertAdmin2 *This,const BSTR strConfig,DATE Date);
    226       HRESULT (WINAPI *GetCRL)(ICertAdmin2 *This,const BSTR strConfig,LONG Flags,BSTR *pstrCRL);
    227       HRESULT (WINAPI *ImportCertificate)(ICertAdmin2 *This,const BSTR strConfig,const BSTR strCertificate,LONG Flags,LONG *pRequestId);
    228       HRESULT (WINAPI *PublishCRLs)(ICertAdmin2 *This,const BSTR strConfig,DATE Date,LONG CRLFlags);
    229       HRESULT (WINAPI *GetCAProperty)(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
    230       HRESULT (WINAPI *SetCAProperty)(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,VARIANT *pvarPropertyValue);
    231       HRESULT (WINAPI *GetCAPropertyFlags)(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG *pPropFlags);
    232       HRESULT (WINAPI *GetCAPropertyDisplayName)(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName);
    233       HRESULT (WINAPI *GetArchivedKey)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,LONG Flags,BSTR *pstrArchivedKey);
    234       HRESULT (WINAPI *GetConfigEntry)(ICertAdmin2 *This,const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry);
    235       HRESULT (WINAPI *SetConfigEntry)(ICertAdmin2 *This,const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry);
    236       HRESULT (WINAPI *ImportKey)(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,const BSTR strCertHash,LONG Flags,const BSTR strKey);
    237       HRESULT (WINAPI *GetMyRoles)(ICertAdmin2 *This,const BSTR strConfig,LONG *pRoles);
    238       HRESULT (WINAPI *DeleteRow)(ICertAdmin2 *This,const BSTR strConfig,LONG Flags,DATE Date,LONG Table,LONG RowId,LONG *pcDeleted);
    239     END_INTERFACE
    240   } ICertAdmin2Vtbl;
    241   struct ICertAdmin2 {
    242     CONST_VTBL struct ICertAdmin2Vtbl *lpVtbl;
    243   };
    244 #ifdef COBJMACROS
    245 #define ICertAdmin2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    246 #define ICertAdmin2_AddRef(This) (This)->lpVtbl->AddRef(This)
    247 #define ICertAdmin2_Release(This) (This)->lpVtbl->Release(This)
    248 #define ICertAdmin2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    249 #define ICertAdmin2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    250 #define ICertAdmin2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    251 #define ICertAdmin2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    252 #define ICertAdmin2_IsValidCertificate(This,strConfig,strSerialNumber,pDisposition) (This)->lpVtbl->IsValidCertificate(This,strConfig,strSerialNumber,pDisposition)
    253 #define ICertAdmin2_GetRevocationReason(This,pReason) (This)->lpVtbl->GetRevocationReason(This,pReason)
    254 #define ICertAdmin2_RevokeCertificate(This,strConfig,strSerialNumber,Reason,Date) (This)->lpVtbl->RevokeCertificate(This,strConfig,strSerialNumber,Reason,Date)
    255 #define ICertAdmin2_SetRequestAttributes(This,strConfig,RequestId,strAttributes) (This)->lpVtbl->SetRequestAttributes(This,strConfig,RequestId,strAttributes)
    256 #define ICertAdmin2_SetCertificateExtension(This,strConfig,RequestId,strExtensionName,Type,Flags,pvarValue) (This)->lpVtbl->SetCertificateExtension(This,strConfig,RequestId,strExtensionName,Type,Flags,pvarValue)
    257 #define ICertAdmin2_DenyRequest(This,strConfig,RequestId) (This)->lpVtbl->DenyRequest(This,strConfig,RequestId)
    258 #define ICertAdmin2_ResubmitRequest(This,strConfig,RequestId,pDisposition) (This)->lpVtbl->ResubmitRequest(This,strConfig,RequestId,pDisposition)
    259 #define ICertAdmin2_PublishCRL(This,strConfig,Date) (This)->lpVtbl->PublishCRL(This,strConfig,Date)
    260 #define ICertAdmin2_GetCRL(This,strConfig,Flags,pstrCRL) (This)->lpVtbl->GetCRL(This,strConfig,Flags,pstrCRL)
    261 #define ICertAdmin2_ImportCertificate(This,strConfig,strCertificate,Flags,pRequestId) (This)->lpVtbl->ImportCertificate(This,strConfig,strCertificate,Flags,pRequestId)
    262 #define ICertAdmin2_PublishCRLs(This,strConfig,Date,CRLFlags) (This)->lpVtbl->PublishCRLs(This,strConfig,Date,CRLFlags)
    263 #define ICertAdmin2_GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue) (This)->lpVtbl->GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
    264 #define ICertAdmin2_SetCAProperty(This,strConfig,PropId,PropIndex,PropType,pvarPropertyValue) (This)->lpVtbl->SetCAProperty(This,strConfig,PropId,PropIndex,PropType,pvarPropertyValue)
    265 #define ICertAdmin2_GetCAPropertyFlags(This,strConfig,PropId,pPropFlags) (This)->lpVtbl->GetCAPropertyFlags(This,strConfig,PropId,pPropFlags)
    266 #define ICertAdmin2_GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName) (This)->lpVtbl->GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName)
    267 #define ICertAdmin2_GetArchivedKey(This,strConfig,RequestId,Flags,pstrArchivedKey) (This)->lpVtbl->GetArchivedKey(This,strConfig,RequestId,Flags,pstrArchivedKey)
    268 #define ICertAdmin2_GetConfigEntry(This,strConfig,strNodePath,strEntryName,pvarEntry) (This)->lpVtbl->GetConfigEntry(This,strConfig,strNodePath,strEntryName,pvarEntry)
    269 #define ICertAdmin2_SetConfigEntry(This,strConfig,strNodePath,strEntryName,pvarEntry) (This)->lpVtbl->SetConfigEntry(This,strConfig,strNodePath,strEntryName,pvarEntry)
    270 #define ICertAdmin2_ImportKey(This,strConfig,RequestId,strCertHash,Flags,strKey) (This)->lpVtbl->ImportKey(This,strConfig,RequestId,strCertHash,Flags,strKey)
    271 #define ICertAdmin2_GetMyRoles(This,strConfig,pRoles) (This)->lpVtbl->GetMyRoles(This,strConfig,pRoles)
    272 #define ICertAdmin2_DeleteRow(This,strConfig,Flags,Date,Table,RowId,pcDeleted) (This)->lpVtbl->DeleteRow(This,strConfig,Flags,Date,Table,RowId,pcDeleted)
    273 #endif
    274 #endif
    275   HRESULT WINAPI ICertAdmin2_PublishCRLs_Proxy(ICertAdmin2 *This,const BSTR strConfig,DATE Date,LONG CRLFlags);
    276   void __RPC_STUB ICertAdmin2_PublishCRLs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    277   HRESULT WINAPI ICertAdmin2_GetCAProperty_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
    278   void __RPC_STUB ICertAdmin2_GetCAProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    279   HRESULT WINAPI ICertAdmin2_SetCAProperty_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,VARIANT *pvarPropertyValue);
    280   void __RPC_STUB ICertAdmin2_SetCAProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    281   HRESULT WINAPI ICertAdmin2_GetCAPropertyFlags_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,LONG *pPropFlags);
    282   void __RPC_STUB ICertAdmin2_GetCAPropertyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    283   HRESULT WINAPI ICertAdmin2_GetCAPropertyDisplayName_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName);
    284   void __RPC_STUB ICertAdmin2_GetCAPropertyDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    285   HRESULT WINAPI ICertAdmin2_GetArchivedKey_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,LONG Flags,BSTR *pstrArchivedKey);
    286   void __RPC_STUB ICertAdmin2_GetArchivedKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    287   HRESULT WINAPI ICertAdmin2_GetConfigEntry_Proxy(ICertAdmin2 *This,const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry);
    288   void __RPC_STUB ICertAdmin2_GetConfigEntry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    289   HRESULT WINAPI ICertAdmin2_SetConfigEntry_Proxy(ICertAdmin2 *This,const BSTR strConfig,const BSTR strNodePath,const BSTR strEntryName,VARIANT *pvarEntry);
    290   void __RPC_STUB ICertAdmin2_SetConfigEntry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    291   HRESULT WINAPI ICertAdmin2_ImportKey_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG RequestId,const BSTR strCertHash,LONG Flags,const BSTR strKey);
    292   void __RPC_STUB ICertAdmin2_ImportKey_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    293   HRESULT WINAPI ICertAdmin2_GetMyRoles_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG *pRoles);
    294   void __RPC_STUB ICertAdmin2_GetMyRoles_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    295   HRESULT WINAPI ICertAdmin2_DeleteRow_Proxy(ICertAdmin2 *This,const BSTR strConfig,LONG Flags,DATE Date,LONG Table,LONG RowId,LONG *pcDeleted);
    296   void __RPC_STUB ICertAdmin2_DeleteRow_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    297 #endif
    298 
    299 #ifndef __CERTADMINLib_LIBRARY_DEFINED__
    300 #define __CERTADMINLib_LIBRARY_DEFINED__
    301   EXTERN_C const IID LIBID_CERTADMINLib;
    302   EXTERN_C const CLSID CLSID_CCertAdmin;
    303 #ifdef __cplusplus
    304   class CCertAdmin;
    305 #endif
    306   EXTERN_C const CLSID CLSID_CCertView;
    307 #ifdef __cplusplus
    308   class CCertView;
    309 #endif
    310 #endif
    311 
    312   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
    313   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
    314   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
    315   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
    316   ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
    317   unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
    318   unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
    319   void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
    320 
    321 #ifdef __cplusplus
    322 }
    323 #endif
    324 #endif
    325