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 __certcli_h__
23#define __certcli_h__
24
25#ifndef __ICertGetConfig_FWD_DEFINED__
26#define __ICertGetConfig_FWD_DEFINED__
27typedef struct ICertGetConfig ICertGetConfig;
28#endif
29
30#ifndef __ICertConfig_FWD_DEFINED__
31#define __ICertConfig_FWD_DEFINED__
32typedef struct ICertConfig ICertConfig;
33#endif
34
35#ifndef __ICertConfig2_FWD_DEFINED__
36#define __ICertConfig2_FWD_DEFINED__
37typedef struct ICertConfig2 ICertConfig2;
38#endif
39
40#ifndef __ICertRequest_FWD_DEFINED__
41#define __ICertRequest_FWD_DEFINED__
42typedef struct ICertRequest ICertRequest;
43#endif
44
45#ifndef __ICertRequest2_FWD_DEFINED__
46#define __ICertRequest2_FWD_DEFINED__
47typedef struct ICertRequest2 ICertRequest2;
48#endif
49
50#ifndef __CCertGetConfig_FWD_DEFINED__
51#define __CCertGetConfig_FWD_DEFINED__
52#ifdef __cplusplus
53typedef class CCertGetConfig CCertGetConfig;
54#else
55typedef struct CCertGetConfig CCertGetConfig;
56#endif
57#endif
58
59#ifndef __CCertConfig_FWD_DEFINED__
60#define __CCertConfig_FWD_DEFINED__
61#ifdef __cplusplus
62typedef class CCertConfig CCertConfig;
63#else
64typedef struct CCertConfig CCertConfig;
65#endif
66#endif
67
68#ifndef __CCertRequest_FWD_DEFINED__
69#define __CCertRequest_FWD_DEFINED__
70#ifdef __cplusplus
71typedef class CCertRequest CCertRequest;
72#else
73typedef struct CCertRequest CCertRequest;
74#endif
75#endif
76
77#ifndef __CCertServerPolicy_FWD_DEFINED__
78#define __CCertServerPolicy_FWD_DEFINED__
79#ifdef __cplusplus
80typedef class CCertServerPolicy CCertServerPolicy;
81#else
82typedef struct CCertServerPolicy CCertServerPolicy;
83#endif
84#endif
85
86#ifndef __CCertServerExit_FWD_DEFINED__
87#define __CCertServerExit_FWD_DEFINED__
88#ifdef __cplusplus
89typedef class CCertServerExit CCertServerExit;
90#else
91typedef struct CCertServerExit CCertServerExit;
92#endif
93#endif
94
95#include "wtypes.h"
96#include "certif.h"
97
98#ifdef __cplusplus
99extern "C"{
100#endif
101
102#ifndef __MIDL_user_allocate_free_DEFINED__
103#define __MIDL_user_allocate_free_DEFINED__
104  void *__RPC_API MIDL_user_allocate(size_t);
105  void __RPC_API MIDL_user_free(void *);
106#endif
107
108#ifndef __ICertGetConfig_INTERFACE_DEFINED__
109#define __ICertGetConfig_INTERFACE_DEFINED__
110
111  EXTERN_C const IID IID_ICertGetConfig;
112#if defined(__cplusplus) && !defined(CINTERFACE)
113  struct ICertGetConfig : public IDispatch {
114  public:
115    virtual HRESULT WINAPI GetConfig(LONG Flags,BSTR *pstrOut) = 0;
116  };
117#else
118  typedef struct ICertGetConfigVtbl {
119    BEGIN_INTERFACE
120      HRESULT (WINAPI *QueryInterface)(ICertGetConfig *This,REFIID riid,void **ppvObject);
121      ULONG (WINAPI *AddRef)(ICertGetConfig *This);
122      ULONG (WINAPI *Release)(ICertGetConfig *This);
123      HRESULT (WINAPI *GetTypeInfoCount)(ICertGetConfig *This,UINT *pctinfo);
124      HRESULT (WINAPI *GetTypeInfo)(ICertGetConfig *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
125      HRESULT (WINAPI *GetIDsOfNames)(ICertGetConfig *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
126      HRESULT (WINAPI *Invoke)(ICertGetConfig *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
127      HRESULT (WINAPI *GetConfig)(ICertGetConfig *This,LONG Flags,BSTR *pstrOut);
128    END_INTERFACE
129  } ICertGetConfigVtbl;
130  struct ICertGetConfig {
131    CONST_VTBL struct ICertGetConfigVtbl *lpVtbl;
132  };
133#ifdef COBJMACROS
134#define ICertGetConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
135#define ICertGetConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
136#define ICertGetConfig_Release(This) (This)->lpVtbl->Release(This)
137#define ICertGetConfig_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
138#define ICertGetConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
139#define ICertGetConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
140#define ICertGetConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
141#define ICertGetConfig_GetConfig(This,Flags,pstrOut) (This)->lpVtbl->GetConfig(This,Flags,pstrOut)
142#endif
143#endif
144  HRESULT WINAPI ICertGetConfig_GetConfig_Proxy(ICertGetConfig *This,LONG Flags,BSTR *pstrOut);
145  void __RPC_STUB ICertGetConfig_GetConfig_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
146#endif
147
148#define wszCONFIG_COMMONNAME L"CommonName"
149#define wszCONFIG_ORGUNIT L"OrgUnit"
150#define wszCONFIG_ORGANIZATION L"Organization"
151#define wszCONFIG_LOCALITY L"Locality"
152#define wszCONFIG_STATE L"State"
153#define wszCONFIG_COUNTRY L"Country"
154#define wszCONFIG_CONFIG L"Config"
155#define wszCONFIG_EXCHANGECERTIFICATE L"ExchangeCertificate"
156#define wszCONFIG_SIGNATURECERTIFICATE L"SignatureCertificate"
157#define wszCONFIG_DESCRIPTION L"Description"
158#define wszCONFIG_COMMENT L"Comment"
159#define wszCONFIG_SERVER L"Server"
160#define wszCONFIG_AUTHORITY L"Authority"
161#define wszCONFIG_SANITIZEDNAME L"SanitizedName"
162#define wszCONFIG_SHORTNAME L"ShortName"
163#define wszCONFIG_SANITIZEDSHORTNAME L"SanitizedShortName"
164#define wszCONFIG_FLAGS L"Flags"
165
166#define CAIF_DSENTRY (0x1)
167#define CAIF_SHAREDFOLDERENTRY (0x2)
168#define CAIF_REGISTRY (0x4)
169#define CAIF_LOCAL (0x8)
170#define CAIF_REGISTRYPARENT (0x10)
171
172  extern RPC_IF_HANDLE __MIDL_itf_certcli_0122_v0_0_c_ifspec;
173  extern RPC_IF_HANDLE __MIDL_itf_certcli_0122_v0_0_s_ifspec;
174
175#ifndef __ICertConfig_INTERFACE_DEFINED__
176#define __ICertConfig_INTERFACE_DEFINED__
177  EXTERN_C const IID IID_ICertConfig;
178#if defined(__cplusplus) && !defined(CINTERFACE)
179  struct ICertConfig : public IDispatch {
180  public:
181    virtual HRESULT WINAPI Reset(LONG Index,LONG *pCount) = 0;
182    virtual HRESULT WINAPI Next(LONG *pIndex) = 0;
183    virtual HRESULT WINAPI GetField(const BSTR strFieldName,BSTR *pstrOut) = 0;
184    virtual HRESULT WINAPI GetConfig(LONG Flags,BSTR *pstrOut) = 0;
185  };
186#else
187  typedef struct ICertConfigVtbl {
188    BEGIN_INTERFACE
189      HRESULT (WINAPI *QueryInterface)(ICertConfig *This,REFIID riid,void **ppvObject);
190      ULONG (WINAPI *AddRef)(ICertConfig *This);
191      ULONG (WINAPI *Release)(ICertConfig *This);
192      HRESULT (WINAPI *GetTypeInfoCount)(ICertConfig *This,UINT *pctinfo);
193      HRESULT (WINAPI *GetTypeInfo)(ICertConfig *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
194      HRESULT (WINAPI *GetIDsOfNames)(ICertConfig *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
195      HRESULT (WINAPI *Invoke)(ICertConfig *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
196      HRESULT (WINAPI *Reset)(ICertConfig *This,LONG Index,LONG *pCount);
197      HRESULT (WINAPI *Next)(ICertConfig *This,LONG *pIndex);
198      HRESULT (WINAPI *GetField)(ICertConfig *This,const BSTR strFieldName,BSTR *pstrOut);
199      HRESULT (WINAPI *GetConfig)(ICertConfig *This,LONG Flags,BSTR *pstrOut);
200    END_INTERFACE
201  } ICertConfigVtbl;
202  struct ICertConfig {
203    CONST_VTBL struct ICertConfigVtbl *lpVtbl;
204  };
205#ifdef COBJMACROS
206#define ICertConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
207#define ICertConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
208#define ICertConfig_Release(This) (This)->lpVtbl->Release(This)
209#define ICertConfig_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
210#define ICertConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
211#define ICertConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
212#define ICertConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
213#define ICertConfig_Reset(This,Index,pCount) (This)->lpVtbl->Reset(This,Index,pCount)
214#define ICertConfig_Next(This,pIndex) (This)->lpVtbl->Next(This,pIndex)
215#define ICertConfig_GetField(This,strFieldName,pstrOut) (This)->lpVtbl->GetField(This,strFieldName,pstrOut)
216#define ICertConfig_GetConfig(This,Flags,pstrOut) (This)->lpVtbl->GetConfig(This,Flags,pstrOut)
217#endif
218#endif
219  HRESULT WINAPI ICertConfig_Reset_Proxy(ICertConfig *This,LONG Index,LONG *pCount);
220  void __RPC_STUB ICertConfig_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
221  HRESULT WINAPI ICertConfig_Next_Proxy(ICertConfig *This,LONG *pIndex);
222  void __RPC_STUB ICertConfig_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
223  HRESULT WINAPI ICertConfig_GetField_Proxy(ICertConfig *This,const BSTR strFieldName,BSTR *pstrOut);
224  void __RPC_STUB ICertConfig_GetField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
225  HRESULT WINAPI ICertConfig_GetConfig_Proxy(ICertConfig *This,LONG Flags,BSTR *pstrOut);
226  void __RPC_STUB ICertConfig_GetConfig_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
227#endif
228
229#ifndef __ICertConfig2_INTERFACE_DEFINED__
230#define __ICertConfig2_INTERFACE_DEFINED__
231  EXTERN_C const IID IID_ICertConfig2;
232#if defined(__cplusplus) && !defined(CINTERFACE)
233  struct ICertConfig2 : public ICertConfig {
234  public:
235    virtual HRESULT WINAPI SetSharedFolder(const BSTR strSharedFolder) = 0;
236  };
237#else
238  typedef struct ICertConfig2Vtbl {
239    BEGIN_INTERFACE
240      HRESULT (WINAPI *QueryInterface)(ICertConfig2 *This,REFIID riid,void **ppvObject);
241      ULONG (WINAPI *AddRef)(ICertConfig2 *This);
242      ULONG (WINAPI *Release)(ICertConfig2 *This);
243      HRESULT (WINAPI *GetTypeInfoCount)(ICertConfig2 *This,UINT *pctinfo);
244      HRESULT (WINAPI *GetTypeInfo)(ICertConfig2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
245      HRESULT (WINAPI *GetIDsOfNames)(ICertConfig2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
246      HRESULT (WINAPI *Invoke)(ICertConfig2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
247      HRESULT (WINAPI *Reset)(ICertConfig2 *This,LONG Index,LONG *pCount);
248      HRESULT (WINAPI *Next)(ICertConfig2 *This,LONG *pIndex);
249      HRESULT (WINAPI *GetField)(ICertConfig2 *This,const BSTR strFieldName,BSTR *pstrOut);
250      HRESULT (WINAPI *GetConfig)(ICertConfig2 *This,LONG Flags,BSTR *pstrOut);
251      HRESULT (WINAPI *SetSharedFolder)(ICertConfig2 *This,const BSTR strSharedFolder);
252    END_INTERFACE
253  } ICertConfig2Vtbl;
254  struct ICertConfig2 {
255    CONST_VTBL struct ICertConfig2Vtbl *lpVtbl;
256  };
257#ifdef COBJMACROS
258#define ICertConfig2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
259#define ICertConfig2_AddRef(This) (This)->lpVtbl->AddRef(This)
260#define ICertConfig2_Release(This) (This)->lpVtbl->Release(This)
261#define ICertConfig2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
262#define ICertConfig2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
263#define ICertConfig2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
264#define ICertConfig2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
265#define ICertConfig2_Reset(This,Index,pCount) (This)->lpVtbl->Reset(This,Index,pCount)
266#define ICertConfig2_Next(This,pIndex) (This)->lpVtbl->Next(This,pIndex)
267#define ICertConfig2_GetField(This,strFieldName,pstrOut) (This)->lpVtbl->GetField(This,strFieldName,pstrOut)
268#define ICertConfig2_GetConfig(This,Flags,pstrOut) (This)->lpVtbl->GetConfig(This,Flags,pstrOut)
269#define ICertConfig2_SetSharedFolder(This,strSharedFolder) (This)->lpVtbl->SetSharedFolder(This,strSharedFolder)
270#endif
271#endif
272  HRESULT WINAPI ICertConfig2_SetSharedFolder_Proxy(ICertConfig2 *This,const BSTR strSharedFolder);
273  void __RPC_STUB ICertConfig2_SetSharedFolder_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
274#endif
275
276#define CR_IN_BASE64HEADER (0)
277#define CR_IN_BASE64 (0x1)
278#define CR_IN_BINARY (0x2)
279#define CR_IN_ENCODEANY (0xff)
280#define CR_IN_ENCODEMASK (0xff)
281
282#define CR_IN_FORMATANY (0)
283#define CR_IN_PKCS10 (0x100)
284#define CR_IN_KEYGEN (0x200)
285#define CR_IN_PKCS7 (0x300)
286#define CR_IN_CMC (0x400)
287
288#define CR_IN_FORMATMASK (0xff00)
289
290#define CR_IN_RPC (0x20000)
291#define CR_IN_FULLRESPONSE (0x40000)
292#define CR_IN_CRLS (0x80000)
293
294#define CC_DEFAULTCONFIG (0)
295#define CC_UIPICKCONFIG (0x1)
296#define CC_FIRSTCONFIG (0x2)
297#define CC_LOCALCONFIG (0x3)
298#define CC_LOCALACTIVECONFIG (0x4)
299#define CC_UIPICKCONFIGSKIPLOCALCA (0x5)
300
301#define CR_DISP_INCOMPLETE (0)
302#define CR_DISP_ERROR (0x1)
303#define CR_DISP_DENIED (0x2)
304#define CR_DISP_ISSUED (0x3)
305#define CR_DISP_ISSUED_OUT_OF_BAND (0x4)
306#define CR_DISP_UNDER_SUBMISSION (0x5)
307#define CR_DISP_REVOKED (0x6)
308
309#define CR_OUT_BASE64HEADER (0)
310#define CR_OUT_BASE64 (0x1)
311#define CR_OUT_BINARY (0x2)
312#define CR_OUT_ENCODEMASK (0xff)
313
314#define CR_OUT_CHAIN (0x100)
315#define CR_OUT_CRLS (0x200)
316
317#define CR_GEMT_HRESULT_STRING (0x1)
318
319#define CR_PROP_NONE 0
320#define CR_PROP_FILEVERSION 1
321#define CR_PROP_PRODUCTVERSION 2
322#define CR_PROP_EXITCOUNT 3
323#define CR_PROP_EXITDESCRIPTION 4
324#define CR_PROP_POLICYDESCRIPTION 5
325#define CR_PROP_CANAME 6
326#define CR_PROP_SANITIZEDCANAME 7
327#define CR_PROP_SHAREDFOLDER 8
328#define CR_PROP_PARENTCA 9
329#define CR_PROP_CATYPE 10
330#define CR_PROP_CASIGCERTCOUNT 11
331#define CR_PROP_CASIGCERT 12
332#define CR_PROP_CASIGCERTCHAIN 13
333#define CR_PROP_CAXCHGCERTCOUNT 14
334#define CR_PROP_CAXCHGCERT 15
335#define CR_PROP_CAXCHGCERTCHAIN 16
336#define CR_PROP_BASECRL 17
337#define CR_PROP_DELTACRL 18
338#define CR_PROP_CACERTSTATE 19
339#define CR_PROP_CRLSTATE 20
340#define CR_PROP_CAPROPIDMAX 21
341#define CR_PROP_DNSNAME 22
342#define CR_PROP_ROLESEPARATIONENABLED 23
343#define CR_PROP_KRACERTUSEDCOUNT 24
344#define CR_PROP_KRACERTCOUNT 25
345#define CR_PROP_KRACERT 26
346#define CR_PROP_KRACERTSTATE 27
347#define CR_PROP_ADVANCEDSERVER 28
348#define CR_PROP_TEMPLATES 29
349#define CR_PROP_BASECRLPUBLISHSTATUS 30
350#define CR_PROP_DELTACRLPUBLISHSTATUS 31
351#define CR_PROP_CASIGCERTCRLCHAIN 32
352#define CR_PROP_CAXCHGCERTCRLCHAIN 33
353#define CR_PROP_CACERTSTATUSCODE 34
354#define CR_PROP_CAFORWARDCROSSCERT 35
355#define CR_PROP_CABACKWARDCROSSCERT 36
356#define CR_PROP_CAFORWARDCROSSCERTSTATE 37
357#define CR_PROP_CABACKWARDCROSSCERTSTATE 38
358#define CR_PROP_CACERTVERSION 39
359#define CR_PROP_SANITIZEDCASHORTNAME 40
360
361#define FR_PROP_NONE 0
362#define FR_PROP_FULLRESPONSE 1
363#define FR_PROP_STATUSINFOCOUNT 2
364#define FR_PROP_BODYPARTSTRING 3
365#define FR_PROP_STATUS 4
366#define FR_PROP_STATUSSTRING 5
367#define FR_PROP_OTHERINFOCHOICE 6
368#define FR_PROP_FAILINFO 7
369#define FR_PROP_PENDINFOTOKEN 8
370#define FR_PROP_PENDINFOTIME 9
371#define FR_PROP_ISSUEDCERTIFICATEHASH 10
372#define FR_PROP_ISSUEDCERTIFICATE 11
373#define FR_PROP_ISSUEDCERTIFICATECHAIN 12
374#define FR_PROP_ISSUEDCERTIFICATECRLCHAIN 13
375#define FR_PROP_ENCRYPTEDKEYHASH 14
376#define FR_PROP_FULLRESPONSENOPKCS7 15
377
378  extern RPC_IF_HANDLE __MIDL_itf_certcli_0124_v0_0_c_ifspec;
379  extern RPC_IF_HANDLE __MIDL_itf_certcli_0124_v0_0_s_ifspec;
380
381#ifndef __ICertRequest_INTERFACE_DEFINED__
382#define __ICertRequest_INTERFACE_DEFINED__
383  EXTERN_C const IID IID_ICertRequest;
384#if defined(__cplusplus) && !defined(CINTERFACE)
385  struct ICertRequest : public IDispatch {
386  public:
387    virtual HRESULT WINAPI Submit(LONG Flags,const BSTR strRequest,const BSTR strAttributes,const BSTR strConfig,LONG *pDisposition) = 0;
388    virtual HRESULT WINAPI RetrievePending(LONG RequestId,const BSTR strConfig,LONG *pDisposition) = 0;
389    virtual HRESULT WINAPI GetLastStatus(LONG *pStatus) = 0;
390    virtual HRESULT WINAPI GetRequestId(LONG *pRequestId) = 0;
391    virtual HRESULT WINAPI GetDispositionMessage(BSTR *pstrDispositionMessage) = 0;
392    virtual HRESULT WINAPI GetCACertificate(LONG fExchangeCertificate,const BSTR strConfig,LONG Flags,BSTR *pstrCertificate) = 0;
393    virtual HRESULT WINAPI GetCertificate(LONG Flags,BSTR *pstrCertificate) = 0;
394  };
395#else
396  typedef struct ICertRequestVtbl {
397    BEGIN_INTERFACE
398      HRESULT (WINAPI *QueryInterface)(ICertRequest *This,REFIID riid,void **ppvObject);
399      ULONG (WINAPI *AddRef)(ICertRequest *This);
400      ULONG (WINAPI *Release)(ICertRequest *This);
401      HRESULT (WINAPI *GetTypeInfoCount)(ICertRequest *This,UINT *pctinfo);
402      HRESULT (WINAPI *GetTypeInfo)(ICertRequest *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
403      HRESULT (WINAPI *GetIDsOfNames)(ICertRequest *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
404      HRESULT (WINAPI *Invoke)(ICertRequest *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
405      HRESULT (WINAPI *Submit)(ICertRequest *This,LONG Flags,const BSTR strRequest,const BSTR strAttributes,const BSTR strConfig,LONG *pDisposition);
406      HRESULT (WINAPI *RetrievePending)(ICertRequest *This,LONG RequestId,const BSTR strConfig,LONG *pDisposition);
407      HRESULT (WINAPI *GetLastStatus)(ICertRequest *This,LONG *pStatus);
408      HRESULT (WINAPI *GetRequestId)(ICertRequest *This,LONG *pRequestId);
409      HRESULT (WINAPI *GetDispositionMessage)(ICertRequest *This,BSTR *pstrDispositionMessage);
410      HRESULT (WINAPI *GetCACertificate)(ICertRequest *This,LONG fExchangeCertificate,const BSTR strConfig,LONG Flags,BSTR *pstrCertificate);
411      HRESULT (WINAPI *GetCertificate)(ICertRequest *This,LONG Flags,BSTR *pstrCertificate);
412    END_INTERFACE
413  } ICertRequestVtbl;
414  struct ICertRequest {
415    CONST_VTBL struct ICertRequestVtbl *lpVtbl;
416  };
417#ifdef COBJMACROS
418#define ICertRequest_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
419#define ICertRequest_AddRef(This) (This)->lpVtbl->AddRef(This)
420#define ICertRequest_Release(This) (This)->lpVtbl->Release(This)
421#define ICertRequest_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
422#define ICertRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
423#define ICertRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
424#define ICertRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
425#define ICertRequest_Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition) (This)->lpVtbl->Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
426#define ICertRequest_RetrievePending(This,RequestId,strConfig,pDisposition) (This)->lpVtbl->RetrievePending(This,RequestId,strConfig,pDisposition)
427#define ICertRequest_GetLastStatus(This,pStatus) (This)->lpVtbl->GetLastStatus(This,pStatus)
428#define ICertRequest_GetRequestId(This,pRequestId) (This)->lpVtbl->GetRequestId(This,pRequestId)
429#define ICertRequest_GetDispositionMessage(This,pstrDispositionMessage) (This)->lpVtbl->GetDispositionMessage(This,pstrDispositionMessage)
430#define ICertRequest_GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate) (This)->lpVtbl->GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
431#define ICertRequest_GetCertificate(This,Flags,pstrCertificate) (This)->lpVtbl->GetCertificate(This,Flags,pstrCertificate)
432#endif
433#endif
434  HRESULT WINAPI ICertRequest_Submit_Proxy(ICertRequest *This,LONG Flags,const BSTR strRequest,const BSTR strAttributes,const BSTR strConfig,LONG *pDisposition);
435  void __RPC_STUB ICertRequest_Submit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
436  HRESULT WINAPI ICertRequest_RetrievePending_Proxy(ICertRequest *This,LONG RequestId,const BSTR strConfig,LONG *pDisposition);
437  void __RPC_STUB ICertRequest_RetrievePending_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
438  HRESULT WINAPI ICertRequest_GetLastStatus_Proxy(ICertRequest *This,LONG *pStatus);
439  void __RPC_STUB ICertRequest_GetLastStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
440  HRESULT WINAPI ICertRequest_GetRequestId_Proxy(ICertRequest *This,LONG *pRequestId);
441  void __RPC_STUB ICertRequest_GetRequestId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
442  HRESULT WINAPI ICertRequest_GetDispositionMessage_Proxy(ICertRequest *This,BSTR *pstrDispositionMessage);
443  void __RPC_STUB ICertRequest_GetDispositionMessage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
444  HRESULT WINAPI ICertRequest_GetCACertificate_Proxy(ICertRequest *This,LONG fExchangeCertificate,const BSTR strConfig,LONG Flags,BSTR *pstrCertificate);
445  void __RPC_STUB ICertRequest_GetCACertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
446  HRESULT WINAPI ICertRequest_GetCertificate_Proxy(ICertRequest *This,LONG Flags,BSTR *pstrCertificate);
447  void __RPC_STUB ICertRequest_GetCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
448#endif
449
450#ifndef __ICertRequest2_INTERFACE_DEFINED__
451#define __ICertRequest2_INTERFACE_DEFINED__
452  EXTERN_C const IID IID_ICertRequest2;
453#if defined(__cplusplus) && !defined(CINTERFACE)
454  struct ICertRequest2 : public ICertRequest {
455  public:
456    virtual HRESULT WINAPI GetIssuedCertificate(const BSTR strConfig,LONG RequestId,const BSTR strSerialNumber,LONG *pDisposition) = 0;
457    virtual HRESULT WINAPI GetErrorMessageText(LONG hrMessage,LONG Flags,BSTR *pstrErrorMessageText) = 0;
458    virtual HRESULT WINAPI GetCAProperty(const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue) = 0;
459    virtual HRESULT WINAPI GetCAPropertyFlags(const BSTR strConfig,LONG PropId,LONG *pPropFlags) = 0;
460    virtual HRESULT WINAPI GetCAPropertyDisplayName(const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName) = 0;
461    virtual HRESULT WINAPI GetFullResponseProperty(LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue) = 0;
462  };
463#else
464  typedef struct ICertRequest2Vtbl {
465    BEGIN_INTERFACE
466      HRESULT (WINAPI *QueryInterface)(ICertRequest2 *This,REFIID riid,void **ppvObject);
467      ULONG (WINAPI *AddRef)(ICertRequest2 *This);
468      ULONG (WINAPI *Release)(ICertRequest2 *This);
469      HRESULT (WINAPI *GetTypeInfoCount)(ICertRequest2 *This,UINT *pctinfo);
470      HRESULT (WINAPI *GetTypeInfo)(ICertRequest2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
471      HRESULT (WINAPI *GetIDsOfNames)(ICertRequest2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
472      HRESULT (WINAPI *Invoke)(ICertRequest2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
473      HRESULT (WINAPI *Submit)(ICertRequest2 *This,LONG Flags,const BSTR strRequest,const BSTR strAttributes,const BSTR strConfig,LONG *pDisposition);
474      HRESULT (WINAPI *RetrievePending)(ICertRequest2 *This,LONG RequestId,const BSTR strConfig,LONG *pDisposition);
475      HRESULT (WINAPI *GetLastStatus)(ICertRequest2 *This,LONG *pStatus);
476      HRESULT (WINAPI *GetRequestId)(ICertRequest2 *This,LONG *pRequestId);
477      HRESULT (WINAPI *GetDispositionMessage)(ICertRequest2 *This,BSTR *pstrDispositionMessage);
478      HRESULT (WINAPI *GetCACertificate)(ICertRequest2 *This,LONG fExchangeCertificate,const BSTR strConfig,LONG Flags,BSTR *pstrCertificate);
479      HRESULT (WINAPI *GetCertificate)(ICertRequest2 *This,LONG Flags,BSTR *pstrCertificate);
480      HRESULT (WINAPI *GetIssuedCertificate)(ICertRequest2 *This,const BSTR strConfig,LONG RequestId,const BSTR strSerialNumber,LONG *pDisposition);
481      HRESULT (WINAPI *GetErrorMessageText)(ICertRequest2 *This,LONG hrMessage,LONG Flags,BSTR *pstrErrorMessageText);
482      HRESULT (WINAPI *GetCAProperty)(ICertRequest2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
483      HRESULT (WINAPI *GetCAPropertyFlags)(ICertRequest2 *This,const BSTR strConfig,LONG PropId,LONG *pPropFlags);
484      HRESULT (WINAPI *GetCAPropertyDisplayName)(ICertRequest2 *This,const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName);
485      HRESULT (WINAPI *GetFullResponseProperty)(ICertRequest2 *This,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
486    END_INTERFACE
487  } ICertRequest2Vtbl;
488  struct ICertRequest2 {
489    CONST_VTBL struct ICertRequest2Vtbl *lpVtbl;
490  };
491#ifdef COBJMACROS
492#define ICertRequest2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
493#define ICertRequest2_AddRef(This) (This)->lpVtbl->AddRef(This)
494#define ICertRequest2_Release(This) (This)->lpVtbl->Release(This)
495#define ICertRequest2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
496#define ICertRequest2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
497#define ICertRequest2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
498#define ICertRequest2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
499#define ICertRequest2_Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition) (This)->lpVtbl->Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
500#define ICertRequest2_RetrievePending(This,RequestId,strConfig,pDisposition) (This)->lpVtbl->RetrievePending(This,RequestId,strConfig,pDisposition)
501#define ICertRequest2_GetLastStatus(This,pStatus) (This)->lpVtbl->GetLastStatus(This,pStatus)
502#define ICertRequest2_GetRequestId(This,pRequestId) (This)->lpVtbl->GetRequestId(This,pRequestId)
503#define ICertRequest2_GetDispositionMessage(This,pstrDispositionMessage) (This)->lpVtbl->GetDispositionMessage(This,pstrDispositionMessage)
504#define ICertRequest2_GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate) (This)->lpVtbl->GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
505#define ICertRequest2_GetCertificate(This,Flags,pstrCertificate) (This)->lpVtbl->GetCertificate(This,Flags,pstrCertificate)
506#define ICertRequest2_GetIssuedCertificate(This,strConfig,RequestId,strSerialNumber,pDisposition) (This)->lpVtbl->GetIssuedCertificate(This,strConfig,RequestId,strSerialNumber,pDisposition)
507#define ICertRequest2_GetErrorMessageText(This,hrMessage,Flags,pstrErrorMessageText) (This)->lpVtbl->GetErrorMessageText(This,hrMessage,Flags,pstrErrorMessageText)
508#define ICertRequest2_GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue) (This)->lpVtbl->GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
509#define ICertRequest2_GetCAPropertyFlags(This,strConfig,PropId,pPropFlags) (This)->lpVtbl->GetCAPropertyFlags(This,strConfig,PropId,pPropFlags)
510#define ICertRequest2_GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName) (This)->lpVtbl->GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName)
511#define ICertRequest2_GetFullResponseProperty(This,PropId,PropIndex,PropType,Flags,pvarPropertyValue) (This)->lpVtbl->GetFullResponseProperty(This,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
512#endif
513#endif
514  HRESULT WINAPI ICertRequest2_GetIssuedCertificate_Proxy(ICertRequest2 *This,const BSTR strConfig,LONG RequestId,const BSTR strSerialNumber,LONG *pDisposition);
515  void __RPC_STUB ICertRequest2_GetIssuedCertificate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
516  HRESULT WINAPI ICertRequest2_GetErrorMessageText_Proxy(ICertRequest2 *This,LONG hrMessage,LONG Flags,BSTR *pstrErrorMessageText);
517  void __RPC_STUB ICertRequest2_GetErrorMessageText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
518  HRESULT WINAPI ICertRequest2_GetCAProperty_Proxy(ICertRequest2 *This,const BSTR strConfig,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
519  void __RPC_STUB ICertRequest2_GetCAProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
520  HRESULT WINAPI ICertRequest2_GetCAPropertyFlags_Proxy(ICertRequest2 *This,const BSTR strConfig,LONG PropId,LONG *pPropFlags);
521  void __RPC_STUB ICertRequest2_GetCAPropertyFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
522  HRESULT WINAPI ICertRequest2_GetCAPropertyDisplayName_Proxy(ICertRequest2 *This,const BSTR strConfig,LONG PropId,BSTR *pstrDisplayName);
523  void __RPC_STUB ICertRequest2_GetCAPropertyDisplayName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
524  HRESULT WINAPI ICertRequest2_GetFullResponseProperty_Proxy(ICertRequest2 *This,LONG PropId,LONG PropIndex,LONG PropType,LONG Flags,VARIANT *pvarPropertyValue);
525  void __RPC_STUB ICertRequest2_GetFullResponseProperty_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
526#endif
527
528#ifndef __CERTCLIENTLib_LIBRARY_DEFINED__
529#define __CERTCLIENTLib_LIBRARY_DEFINED__
530  EXTERN_C const IID LIBID_CERTCLIENTLib;
531  EXTERN_C const CLSID CLSID_CCertGetConfig;
532#ifdef __cplusplus
533  class CCertGetConfig;
534#endif
535  EXTERN_C const CLSID CLSID_CCertConfig;
536#ifdef __cplusplus
537  class CCertConfig;
538#endif
539  EXTERN_C const CLSID CLSID_CCertRequest;
540#ifdef __cplusplus
541  class CCertRequest;
542#endif
543  EXTERN_C const CLSID CLSID_CCertServerPolicy;
544#ifdef __cplusplus
545  class CCertServerPolicy;
546#endif
547  EXTERN_C const CLSID CLSID_CCertServerExit;
548#ifdef __cplusplus
549  class CCertServerExit;
550#endif
551#endif
552
553  ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
554  unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
555  unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
556  void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
557  ULONG __RPC_API VARIANT_UserSize(ULONG *,ULONG,VARIANT *);
558  unsigned char *__RPC_API VARIANT_UserMarshal(ULONG *,unsigned char *,VARIANT *);
559  unsigned char *__RPC_API VARIANT_UserUnmarshal(ULONG *,unsigned char *,VARIANT *);
560  void __RPC_API VARIANT_UserFree(ULONG *,VARIANT *);
561
562#ifdef __cplusplus
563}
564#endif
565#endif
566