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 __certcli_h__
     23 #define __certcli_h__
     24 
     25 #ifndef __ICertGetConfig_FWD_DEFINED__
     26 #define __ICertGetConfig_FWD_DEFINED__
     27 typedef struct ICertGetConfig ICertGetConfig;
     28 #endif
     29 
     30 #ifndef __ICertConfig_FWD_DEFINED__
     31 #define __ICertConfig_FWD_DEFINED__
     32 typedef struct ICertConfig ICertConfig;
     33 #endif
     34 
     35 #ifndef __ICertConfig2_FWD_DEFINED__
     36 #define __ICertConfig2_FWD_DEFINED__
     37 typedef struct ICertConfig2 ICertConfig2;
     38 #endif
     39 
     40 #ifndef __ICertRequest_FWD_DEFINED__
     41 #define __ICertRequest_FWD_DEFINED__
     42 typedef struct ICertRequest ICertRequest;
     43 #endif
     44 
     45 #ifndef __ICertRequest2_FWD_DEFINED__
     46 #define __ICertRequest2_FWD_DEFINED__
     47 typedef struct ICertRequest2 ICertRequest2;
     48 #endif
     49 
     50 #ifndef __CCertGetConfig_FWD_DEFINED__
     51 #define __CCertGetConfig_FWD_DEFINED__
     52 #ifdef __cplusplus
     53 typedef class CCertGetConfig CCertGetConfig;
     54 #else
     55 typedef struct CCertGetConfig CCertGetConfig;
     56 #endif
     57 #endif
     58 
     59 #ifndef __CCertConfig_FWD_DEFINED__
     60 #define __CCertConfig_FWD_DEFINED__
     61 #ifdef __cplusplus
     62 typedef class CCertConfig CCertConfig;
     63 #else
     64 typedef struct CCertConfig CCertConfig;
     65 #endif
     66 #endif
     67 
     68 #ifndef __CCertRequest_FWD_DEFINED__
     69 #define __CCertRequest_FWD_DEFINED__
     70 #ifdef __cplusplus
     71 typedef class CCertRequest CCertRequest;
     72 #else
     73 typedef struct CCertRequest CCertRequest;
     74 #endif
     75 #endif
     76 
     77 #ifndef __CCertServerPolicy_FWD_DEFINED__
     78 #define __CCertServerPolicy_FWD_DEFINED__
     79 #ifdef __cplusplus
     80 typedef class CCertServerPolicy CCertServerPolicy;
     81 #else
     82 typedef struct CCertServerPolicy CCertServerPolicy;
     83 #endif
     84 #endif
     85 
     86 #ifndef __CCertServerExit_FWD_DEFINED__
     87 #define __CCertServerExit_FWD_DEFINED__
     88 #ifdef __cplusplus
     89 typedef class CCertServerExit CCertServerExit;
     90 #else
     91 typedef struct CCertServerExit CCertServerExit;
     92 #endif
     93 #endif
     94 
     95 #include "wtypes.h"
     96 #include "certif.h"
     97 
     98 #ifdef __cplusplus
     99 extern "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