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