CertCli.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:48k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3.  /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for certcli.idl:
  5.     Oicf, W1, Zp8, env=Win32 (32b run)
  6.     protocol : dce , ms_ext, c_ext, robust
  7.     error checks: allocation ref bounds_check enum stub_data 
  8.     VC __declspec() decoration level: 
  9.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10.          DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING(  )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __certcli_h__
  27. #define __certcli_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ICertGetConfig_FWD_DEFINED__
  33. #define __ICertGetConfig_FWD_DEFINED__
  34. typedef interface ICertGetConfig ICertGetConfig;
  35. #endif  /* __ICertGetConfig_FWD_DEFINED__ */
  36. #ifndef __ICertConfig_FWD_DEFINED__
  37. #define __ICertConfig_FWD_DEFINED__
  38. typedef interface ICertConfig ICertConfig;
  39. #endif  /* __ICertConfig_FWD_DEFINED__ */
  40. #ifndef __ICertConfig2_FWD_DEFINED__
  41. #define __ICertConfig2_FWD_DEFINED__
  42. typedef interface ICertConfig2 ICertConfig2;
  43. #endif  /* __ICertConfig2_FWD_DEFINED__ */
  44. #ifndef __ICertRequest_FWD_DEFINED__
  45. #define __ICertRequest_FWD_DEFINED__
  46. typedef interface ICertRequest ICertRequest;
  47. #endif  /* __ICertRequest_FWD_DEFINED__ */
  48. #ifndef __ICertRequest2_FWD_DEFINED__
  49. #define __ICertRequest2_FWD_DEFINED__
  50. typedef interface ICertRequest2 ICertRequest2;
  51. #endif  /* __ICertRequest2_FWD_DEFINED__ */
  52. #ifndef __CCertGetConfig_FWD_DEFINED__
  53. #define __CCertGetConfig_FWD_DEFINED__
  54. #ifdef __cplusplus
  55. typedef class CCertGetConfig CCertGetConfig;
  56. #else
  57. typedef struct CCertGetConfig CCertGetConfig;
  58. #endif /* __cplusplus */
  59. #endif  /* __CCertGetConfig_FWD_DEFINED__ */
  60. #ifndef __CCertConfig_FWD_DEFINED__
  61. #define __CCertConfig_FWD_DEFINED__
  62. #ifdef __cplusplus
  63. typedef class CCertConfig CCertConfig;
  64. #else
  65. typedef struct CCertConfig CCertConfig;
  66. #endif /* __cplusplus */
  67. #endif  /* __CCertConfig_FWD_DEFINED__ */
  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 /* __cplusplus */
  75. #endif  /* __CCertRequest_FWD_DEFINED__ */
  76. #ifndef __CCertServerPolicy_FWD_DEFINED__
  77. #define __CCertServerPolicy_FWD_DEFINED__
  78. #ifdef __cplusplus
  79. typedef class CCertServerPolicy CCertServerPolicy;
  80. #else
  81. typedef struct CCertServerPolicy CCertServerPolicy;
  82. #endif /* __cplusplus */
  83. #endif  /* __CCertServerPolicy_FWD_DEFINED__ */
  84. #ifndef __CCertServerExit_FWD_DEFINED__
  85. #define __CCertServerExit_FWD_DEFINED__
  86. #ifdef __cplusplus
  87. typedef class CCertServerExit CCertServerExit;
  88. #else
  89. typedef struct CCertServerExit CCertServerExit;
  90. #endif /* __cplusplus */
  91. #endif  /* __CCertServerExit_FWD_DEFINED__ */
  92. /* header files for imported files */
  93. #include "wtypes.h"
  94. #include "certif.h"
  95. #ifdef __cplusplus
  96. extern "C"{
  97. #endif 
  98. void * __RPC_USER MIDL_user_allocate(size_t);
  99. void __RPC_USER MIDL_user_free( void * ); 
  100. #ifndef __ICertGetConfig_INTERFACE_DEFINED__
  101. #define __ICertGetConfig_INTERFACE_DEFINED__
  102. /* interface ICertGetConfig */
  103. /* [unique][helpstring][dual][uuid][object] */ 
  104. EXTERN_C const IID IID_ICertGetConfig;
  105. #if defined(__cplusplus) && !defined(CINTERFACE)
  106.     
  107.     MIDL_INTERFACE("c7ea09c0-ce17-11d0-8833-00a0c903b83c")
  108.     ICertGetConfig : public IDispatch
  109.     {
  110.     public:
  111.         virtual HRESULT STDMETHODCALLTYPE GetConfig( 
  112.             /* [in] */ LONG Flags,
  113.             /* [retval][out] */ BSTR *pstrOut) = 0;
  114.         
  115.     };
  116.     
  117. #else  /* C style interface */
  118.     typedef struct ICertGetConfigVtbl
  119.     {
  120.         BEGIN_INTERFACE
  121.         
  122.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  123.             ICertGetConfig * This,
  124.             /* [in] */ REFIID riid,
  125.             /* [iid_is][out] */ void **ppvObject);
  126.         
  127.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  128.             ICertGetConfig * This);
  129.         
  130.         ULONG ( STDMETHODCALLTYPE *Release )( 
  131.             ICertGetConfig * This);
  132.         
  133.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  134.             ICertGetConfig * This,
  135.             /* [out] */ UINT *pctinfo);
  136.         
  137.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  138.             ICertGetConfig * This,
  139.             /* [in] */ UINT iTInfo,
  140.             /* [in] */ LCID lcid,
  141.             /* [out] */ ITypeInfo **ppTInfo);
  142.         
  143.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  144.             ICertGetConfig * This,
  145.             /* [in] */ REFIID riid,
  146.             /* [size_is][in] */ LPOLESTR *rgszNames,
  147.             /* [in] */ UINT cNames,
  148.             /* [in] */ LCID lcid,
  149.             /* [size_is][out] */ DISPID *rgDispId);
  150.         
  151.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  152.             ICertGetConfig * This,
  153.             /* [in] */ DISPID dispIdMember,
  154.             /* [in] */ REFIID riid,
  155.             /* [in] */ LCID lcid,
  156.             /* [in] */ WORD wFlags,
  157.             /* [out][in] */ DISPPARAMS *pDispParams,
  158.             /* [out] */ VARIANT *pVarResult,
  159.             /* [out] */ EXCEPINFO *pExcepInfo,
  160.             /* [out] */ UINT *puArgErr);
  161.         
  162.         HRESULT ( STDMETHODCALLTYPE *GetConfig )( 
  163.             ICertGetConfig * This,
  164.             /* [in] */ LONG Flags,
  165.             /* [retval][out] */ BSTR *pstrOut);
  166.         
  167.         END_INTERFACE
  168.     } ICertGetConfigVtbl;
  169.     interface ICertGetConfig
  170.     {
  171.         CONST_VTBL struct ICertGetConfigVtbl *lpVtbl;
  172.     };
  173.     
  174. #ifdef COBJMACROS
  175. #define ICertGetConfig_QueryInterface(This,riid,ppvObject)
  176.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  177. #define ICertGetConfig_AddRef(This)
  178.     (This)->lpVtbl -> AddRef(This)
  179. #define ICertGetConfig_Release(This)
  180.     (This)->lpVtbl -> Release(This)
  181. #define ICertGetConfig_GetTypeInfoCount(This,pctinfo)
  182.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  183. #define ICertGetConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  184.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  185. #define ICertGetConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  186.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  187. #define ICertGetConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  188.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  189. #define ICertGetConfig_GetConfig(This,Flags,pstrOut)
  190.     (This)->lpVtbl -> GetConfig(This,Flags,pstrOut)
  191. #endif /* COBJMACROS */
  192. #endif  /* C style interface */
  193. HRESULT STDMETHODCALLTYPE ICertGetConfig_GetConfig_Proxy( 
  194.     ICertGetConfig * This,
  195.     /* [in] */ LONG Flags,
  196.     /* [retval][out] */ BSTR *pstrOut);
  197. void __RPC_STUB ICertGetConfig_GetConfig_Stub(
  198.     IRpcStubBuffer *This,
  199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  200.     PRPC_MESSAGE _pRpcMessage,
  201.     DWORD *_pdwStubPhase);
  202. #endif  /* __ICertGetConfig_INTERFACE_DEFINED__ */
  203. /* interface __MIDL_itf_certcli_0117 */
  204. /* [local] */ 
  205. #define wszCONFIG_COMMONNAME  L"CommonName"
  206. #define wszCONFIG_ORGUNIT  L"OrgUnit"
  207. #define wszCONFIG_ORGANIZATION  L"Organization"
  208. #define wszCONFIG_LOCALITY  L"Locality"
  209. #define wszCONFIG_STATE L"State"
  210. #define wszCONFIG_COUNTRY L"Country"
  211. #define wszCONFIG_CONFIG L"Config"
  212. #define wszCONFIG_EXCHANGECERTIFICATE L"ExchangeCertificate"
  213. #define wszCONFIG_SIGNATURECERTIFICATE L"SignatureCertificate"
  214. #define wszCONFIG_DESCRIPTION L"Description"
  215. #define wszCONFIG_COMMENT L"Comment" // obsolete: use Description
  216. #define wszCONFIG_SERVER  L"Server"
  217. #define wszCONFIG_AUTHORITY  L"Authority"
  218. #define wszCONFIG_SANITIZEDNAME L"SanitizedName"
  219. #define wszCONFIG_SHORTNAME L"ShortName"
  220. #define wszCONFIG_SANITIZEDSHORTNAME L"SanitizedShortName"
  221. #define wszCONFIG_FLAGS L"Flags"
  222. #define CAIF_DSENTRY ( 0x1 )
  223. #define CAIF_SHAREDFOLDERENTRY ( 0x2 )
  224. #define CAIF_REGISTRY ( 0x4 )
  225. #define CAIF_LOCAL ( 0x8 )
  226. #define CAIF_REGISTRYPARENT ( 0x10 )
  227. extern RPC_IF_HANDLE __MIDL_itf_certcli_0117_v0_0_c_ifspec;
  228. extern RPC_IF_HANDLE __MIDL_itf_certcli_0117_v0_0_s_ifspec;
  229. #ifndef __ICertConfig_INTERFACE_DEFINED__
  230. #define __ICertConfig_INTERFACE_DEFINED__
  231. /* interface ICertConfig */
  232. /* [unique][helpstring][dual][uuid][object] */ 
  233. EXTERN_C const IID IID_ICertConfig;
  234. #if defined(__cplusplus) && !defined(CINTERFACE)
  235.     
  236.     MIDL_INTERFACE("372fce34-4324-11d0-8810-00a0c903b83c")
  237.     ICertConfig : public IDispatch
  238.     {
  239.     public:
  240.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  241.             /* [in] */ LONG Index,
  242.             /* [retval][out] */ LONG *pCount) = 0;
  243.         
  244.         virtual HRESULT STDMETHODCALLTYPE Next( 
  245.             /* [retval][out] */ LONG *pIndex) = 0;
  246.         
  247.         virtual HRESULT STDMETHODCALLTYPE GetField( 
  248.             /* [in] */ const BSTR strFieldName,
  249.             /* [retval][out] */ BSTR *pstrOut) = 0;
  250.         
  251.         virtual HRESULT STDMETHODCALLTYPE GetConfig( 
  252.             /* [in] */ LONG Flags,
  253.             /* [retval][out] */ BSTR *pstrOut) = 0;
  254.         
  255.     };
  256.     
  257. #else  /* C style interface */
  258.     typedef struct ICertConfigVtbl
  259.     {
  260.         BEGIN_INTERFACE
  261.         
  262.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  263.             ICertConfig * This,
  264.             /* [in] */ REFIID riid,
  265.             /* [iid_is][out] */ void **ppvObject);
  266.         
  267.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  268.             ICertConfig * This);
  269.         
  270.         ULONG ( STDMETHODCALLTYPE *Release )( 
  271.             ICertConfig * This);
  272.         
  273.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  274.             ICertConfig * This,
  275.             /* [out] */ UINT *pctinfo);
  276.         
  277.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  278.             ICertConfig * This,
  279.             /* [in] */ UINT iTInfo,
  280.             /* [in] */ LCID lcid,
  281.             /* [out] */ ITypeInfo **ppTInfo);
  282.         
  283.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  284.             ICertConfig * This,
  285.             /* [in] */ REFIID riid,
  286.             /* [size_is][in] */ LPOLESTR *rgszNames,
  287.             /* [in] */ UINT cNames,
  288.             /* [in] */ LCID lcid,
  289.             /* [size_is][out] */ DISPID *rgDispId);
  290.         
  291.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  292.             ICertConfig * This,
  293.             /* [in] */ DISPID dispIdMember,
  294.             /* [in] */ REFIID riid,
  295.             /* [in] */ LCID lcid,
  296.             /* [in] */ WORD wFlags,
  297.             /* [out][in] */ DISPPARAMS *pDispParams,
  298.             /* [out] */ VARIANT *pVarResult,
  299.             /* [out] */ EXCEPINFO *pExcepInfo,
  300.             /* [out] */ UINT *puArgErr);
  301.         
  302.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  303.             ICertConfig * This,
  304.             /* [in] */ LONG Index,
  305.             /* [retval][out] */ LONG *pCount);
  306.         
  307.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  308.             ICertConfig * This,
  309.             /* [retval][out] */ LONG *pIndex);
  310.         
  311.         HRESULT ( STDMETHODCALLTYPE *GetField )( 
  312.             ICertConfig * This,
  313.             /* [in] */ const BSTR strFieldName,
  314.             /* [retval][out] */ BSTR *pstrOut);
  315.         
  316.         HRESULT ( STDMETHODCALLTYPE *GetConfig )( 
  317.             ICertConfig * This,
  318.             /* [in] */ LONG Flags,
  319.             /* [retval][out] */ BSTR *pstrOut);
  320.         
  321.         END_INTERFACE
  322.     } ICertConfigVtbl;
  323.     interface ICertConfig
  324.     {
  325.         CONST_VTBL struct ICertConfigVtbl *lpVtbl;
  326.     };
  327.     
  328. #ifdef COBJMACROS
  329. #define ICertConfig_QueryInterface(This,riid,ppvObject)
  330.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  331. #define ICertConfig_AddRef(This)
  332.     (This)->lpVtbl -> AddRef(This)
  333. #define ICertConfig_Release(This)
  334.     (This)->lpVtbl -> Release(This)
  335. #define ICertConfig_GetTypeInfoCount(This,pctinfo)
  336.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  337. #define ICertConfig_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  338.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  339. #define ICertConfig_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  340.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  341. #define ICertConfig_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  342.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  343. #define ICertConfig_Reset(This,Index,pCount)
  344.     (This)->lpVtbl -> Reset(This,Index,pCount)
  345. #define ICertConfig_Next(This,pIndex)
  346.     (This)->lpVtbl -> Next(This,pIndex)
  347. #define ICertConfig_GetField(This,strFieldName,pstrOut)
  348.     (This)->lpVtbl -> GetField(This,strFieldName,pstrOut)
  349. #define ICertConfig_GetConfig(This,Flags,pstrOut)
  350.     (This)->lpVtbl -> GetConfig(This,Flags,pstrOut)
  351. #endif /* COBJMACROS */
  352. #endif  /* C style interface */
  353. HRESULT STDMETHODCALLTYPE ICertConfig_Reset_Proxy( 
  354.     ICertConfig * This,
  355.     /* [in] */ LONG Index,
  356.     /* [retval][out] */ LONG *pCount);
  357. void __RPC_STUB ICertConfig_Reset_Stub(
  358.     IRpcStubBuffer *This,
  359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  360.     PRPC_MESSAGE _pRpcMessage,
  361.     DWORD *_pdwStubPhase);
  362. HRESULT STDMETHODCALLTYPE ICertConfig_Next_Proxy( 
  363.     ICertConfig * This,
  364.     /* [retval][out] */ LONG *pIndex);
  365. void __RPC_STUB ICertConfig_Next_Stub(
  366.     IRpcStubBuffer *This,
  367.     IRpcChannelBuffer *_pRpcChannelBuffer,
  368.     PRPC_MESSAGE _pRpcMessage,
  369.     DWORD *_pdwStubPhase);
  370. HRESULT STDMETHODCALLTYPE ICertConfig_GetField_Proxy( 
  371.     ICertConfig * This,
  372.     /* [in] */ const BSTR strFieldName,
  373.     /* [retval][out] */ BSTR *pstrOut);
  374. void __RPC_STUB ICertConfig_GetField_Stub(
  375.     IRpcStubBuffer *This,
  376.     IRpcChannelBuffer *_pRpcChannelBuffer,
  377.     PRPC_MESSAGE _pRpcMessage,
  378.     DWORD *_pdwStubPhase);
  379. HRESULT STDMETHODCALLTYPE ICertConfig_GetConfig_Proxy( 
  380.     ICertConfig * This,
  381.     /* [in] */ LONG Flags,
  382.     /* [retval][out] */ BSTR *pstrOut);
  383. void __RPC_STUB ICertConfig_GetConfig_Stub(
  384.     IRpcStubBuffer *This,
  385.     IRpcChannelBuffer *_pRpcChannelBuffer,
  386.     PRPC_MESSAGE _pRpcMessage,
  387.     DWORD *_pdwStubPhase);
  388. #endif  /* __ICertConfig_INTERFACE_DEFINED__ */
  389. #ifndef __ICertConfig2_INTERFACE_DEFINED__
  390. #define __ICertConfig2_INTERFACE_DEFINED__
  391. /* interface ICertConfig2 */
  392. /* [unique][helpstring][dual][uuid][object] */ 
  393. EXTERN_C const IID IID_ICertConfig2;
  394. #if defined(__cplusplus) && !defined(CINTERFACE)
  395.     
  396.     MIDL_INTERFACE("7a18edde-7e78-4163-8ded-78e2c9cee924")
  397.     ICertConfig2 : public ICertConfig
  398.     {
  399.     public:
  400.         virtual HRESULT STDMETHODCALLTYPE SetSharedFolder( 
  401.             /* [in] */ const BSTR strSharedFolder) = 0;
  402.         
  403.     };
  404.     
  405. #else  /* C style interface */
  406.     typedef struct ICertConfig2Vtbl
  407.     {
  408.         BEGIN_INTERFACE
  409.         
  410.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  411.             ICertConfig2 * This,
  412.             /* [in] */ REFIID riid,
  413.             /* [iid_is][out] */ void **ppvObject);
  414.         
  415.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  416.             ICertConfig2 * This);
  417.         
  418.         ULONG ( STDMETHODCALLTYPE *Release )( 
  419.             ICertConfig2 * This);
  420.         
  421.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  422.             ICertConfig2 * This,
  423.             /* [out] */ UINT *pctinfo);
  424.         
  425.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  426.             ICertConfig2 * This,
  427.             /* [in] */ UINT iTInfo,
  428.             /* [in] */ LCID lcid,
  429.             /* [out] */ ITypeInfo **ppTInfo);
  430.         
  431.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  432.             ICertConfig2 * This,
  433.             /* [in] */ REFIID riid,
  434.             /* [size_is][in] */ LPOLESTR *rgszNames,
  435.             /* [in] */ UINT cNames,
  436.             /* [in] */ LCID lcid,
  437.             /* [size_is][out] */ DISPID *rgDispId);
  438.         
  439.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  440.             ICertConfig2 * This,
  441.             /* [in] */ DISPID dispIdMember,
  442.             /* [in] */ REFIID riid,
  443.             /* [in] */ LCID lcid,
  444.             /* [in] */ WORD wFlags,
  445.             /* [out][in] */ DISPPARAMS *pDispParams,
  446.             /* [out] */ VARIANT *pVarResult,
  447.             /* [out] */ EXCEPINFO *pExcepInfo,
  448.             /* [out] */ UINT *puArgErr);
  449.         
  450.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  451.             ICertConfig2 * This,
  452.             /* [in] */ LONG Index,
  453.             /* [retval][out] */ LONG *pCount);
  454.         
  455.         HRESULT ( STDMETHODCALLTYPE *Next )( 
  456.             ICertConfig2 * This,
  457.             /* [retval][out] */ LONG *pIndex);
  458.         
  459.         HRESULT ( STDMETHODCALLTYPE *GetField )( 
  460.             ICertConfig2 * This,
  461.             /* [in] */ const BSTR strFieldName,
  462.             /* [retval][out] */ BSTR *pstrOut);
  463.         
  464.         HRESULT ( STDMETHODCALLTYPE *GetConfig )( 
  465.             ICertConfig2 * This,
  466.             /* [in] */ LONG Flags,
  467.             /* [retval][out] */ BSTR *pstrOut);
  468.         
  469.         HRESULT ( STDMETHODCALLTYPE *SetSharedFolder )( 
  470.             ICertConfig2 * This,
  471.             /* [in] */ const BSTR strSharedFolder);
  472.         
  473.         END_INTERFACE
  474.     } ICertConfig2Vtbl;
  475.     interface ICertConfig2
  476.     {
  477.         CONST_VTBL struct ICertConfig2Vtbl *lpVtbl;
  478.     };
  479.     
  480. #ifdef COBJMACROS
  481. #define ICertConfig2_QueryInterface(This,riid,ppvObject)
  482.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  483. #define ICertConfig2_AddRef(This)
  484.     (This)->lpVtbl -> AddRef(This)
  485. #define ICertConfig2_Release(This)
  486.     (This)->lpVtbl -> Release(This)
  487. #define ICertConfig2_GetTypeInfoCount(This,pctinfo)
  488.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  489. #define ICertConfig2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  490.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  491. #define ICertConfig2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  492.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  493. #define ICertConfig2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  494.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  495. #define ICertConfig2_Reset(This,Index,pCount)
  496.     (This)->lpVtbl -> Reset(This,Index,pCount)
  497. #define ICertConfig2_Next(This,pIndex)
  498.     (This)->lpVtbl -> Next(This,pIndex)
  499. #define ICertConfig2_GetField(This,strFieldName,pstrOut)
  500.     (This)->lpVtbl -> GetField(This,strFieldName,pstrOut)
  501. #define ICertConfig2_GetConfig(This,Flags,pstrOut)
  502.     (This)->lpVtbl -> GetConfig(This,Flags,pstrOut)
  503. #define ICertConfig2_SetSharedFolder(This,strSharedFolder)
  504.     (This)->lpVtbl -> SetSharedFolder(This,strSharedFolder)
  505. #endif /* COBJMACROS */
  506. #endif  /* C style interface */
  507. HRESULT STDMETHODCALLTYPE ICertConfig2_SetSharedFolder_Proxy( 
  508.     ICertConfig2 * This,
  509.     /* [in] */ const BSTR strSharedFolder);
  510. void __RPC_STUB ICertConfig2_SetSharedFolder_Stub(
  511.     IRpcStubBuffer *This,
  512.     IRpcChannelBuffer *_pRpcChannelBuffer,
  513.     PRPC_MESSAGE _pRpcMessage,
  514.     DWORD *_pdwStubPhase);
  515. #endif  /* __ICertConfig2_INTERFACE_DEFINED__ */
  516. /* interface __MIDL_itf_certcli_0119 */
  517. /* [local] */ 
  518. #define CR_IN_BASE64HEADER ( 0 )
  519. #define CR_IN_BASE64 ( 0x1 )
  520. #define CR_IN_BINARY ( 0x2 )
  521. #define CR_IN_ENCODEANY ( 0xff )
  522. #define CR_IN_ENCODEMASK ( 0xff )
  523. #define CR_IN_FORMATANY ( 0 )
  524. #define CR_IN_PKCS10 ( 0x100 )
  525. #define CR_IN_KEYGEN ( 0x200 )
  526. #define CR_IN_PKCS7 ( 0x300 )
  527. #define CR_IN_CMC ( 0x400 )
  528. #define CR_IN_FORMATMASK ( 0xff00 )
  529. #define CR_IN_RPC ( 0x20000 )
  530. #define CR_IN_FULLRESPONSE ( 0x40000 )
  531. #define CR_IN_CRLS ( 0x80000 )
  532. #define CC_DEFAULTCONFIG ( 0 )
  533. #define CC_UIPICKCONFIG ( 0x1 )
  534. #define CC_FIRSTCONFIG ( 0x2 )
  535. #define CC_LOCALCONFIG ( 0x3 )
  536. #define CC_LOCALACTIVECONFIG ( 0x4 )
  537. #define CR_DISP_INCOMPLETE ( 0 )
  538. #define CR_DISP_ERROR ( 0x1 )
  539. #define CR_DISP_DENIED ( 0x2 )
  540. #define CR_DISP_ISSUED ( 0x3 )
  541. #define CR_DISP_ISSUED_OUT_OF_BAND ( 0x4 )
  542. #define CR_DISP_UNDER_SUBMISSION ( 0x5 )
  543. #define CR_DISP_REVOKED ( 0x6 )
  544. #define CR_OUT_BASE64HEADER ( 0 )
  545. #define CR_OUT_BASE64 ( 0x1 )
  546. #define CR_OUT_BINARY ( 0x2 )
  547. #define CR_OUT_ENCODEMASK ( 0xff )
  548. #define CR_OUT_CHAIN ( 0x100 )
  549. #define CR_OUT_CRLS ( 0x200 )
  550. #define CR_GEMT_HRESULT_STRING ( 0x1 )
  551. #define CR_PROP_NONE               0  // Invalid
  552. #define CR_PROP_FILEVERSION        1  // String
  553. #define CR_PROP_PRODUCTVERSION     2  // String
  554. #define CR_PROP_EXITCOUNT          3  // Long
  555. #define CR_PROP_EXITDESCRIPTION    4  // String, Indexed
  556. #define CR_PROP_POLICYDESCRIPTION  5  // String
  557. #define CR_PROP_CANAME             6  // String
  558. #define CR_PROP_SANITIZEDCANAME    7  // String
  559. #define CR_PROP_SHAREDFOLDER       8  // String
  560. #define CR_PROP_PARENTCA           9  // String
  561. #define CR_PROP_CATYPE            10  // Long
  562. #define CR_PROP_CASIGCERTCOUNT    11  // Long
  563. #define CR_PROP_CASIGCERT         12  // Binary, Indexed
  564. #define CR_PROP_CASIGCERTCHAIN    13  // Binary, Indexed
  565. #define CR_PROP_CAXCHGCERTCOUNT   14  // Long
  566. #define CR_PROP_CAXCHGCERT        15  // Binary, Indexed
  567. #define CR_PROP_CAXCHGCERTCHAIN   16  // Binary, Indexed
  568. #define CR_PROP_BASECRL           17  // Binary, Indexed
  569. #define CR_PROP_DELTACRL          18  // Binary, Indexed
  570. #define CR_PROP_CACERTSTATE       19  // Long, Indexed
  571. #define CR_PROP_CRLSTATE          20  // Long, Indexed
  572. #define CR_PROP_CAPROPIDMAX       21  // Long
  573. #define CR_PROP_DNSNAME           22  // String
  574. #define CR_PROP_ROLESEPARATIONENABLED 23 // Long
  575. #define CR_PROP_KRACERTUSEDCOUNT  24  // Long
  576. #define CR_PROP_KRACERTCOUNT      25  // Long
  577. #define CR_PROP_KRACERT           26  // Binary, Indexed
  578. #define CR_PROP_KRACERTSTATE      27  // Long, Indexed
  579. #define CR_PROP_ADVANCEDSERVER    28  // Long
  580. #define CR_PROP_TEMPLATES         29  // String
  581. #define CR_PROP_BASECRLPUBLISHSTATUS     30  // Long, Indexed
  582. #define CR_PROP_DELTACRLPUBLISHSTATUS    31  // Long, Indexed
  583. #define CR_PROP_CASIGCERTCRLCHAIN 32  // Binary, Indexed
  584. #define CR_PROP_CAXCHGCERTCRLCHAIN 33 // Binary, Indexed
  585. #define CR_PROP_CACERTSTATUSCODE  34  // Long, Indexed
  586. #define FR_PROP_NONE                    0  // Invalid
  587. #define FR_PROP_FULLRESPONSE            1  // Binary
  588. #define FR_PROP_STATUSINFOCOUNT         2  // Long
  589. #define FR_PROP_BODYPARTSTRING          3  // String, Indexed
  590. #define FR_PROP_STATUS                  4  // Long, Indexed
  591. #define FR_PROP_STATUSSTRING            5  // String, Indexed
  592. #define FR_PROP_OTHERINFOCHOICE         6  // Long, Indexed
  593. #define FR_PROP_FAILINFO                7  // Long, Indexed
  594. #define FR_PROP_PENDINFOTOKEN           8  // Binary, Indexed
  595. #define FR_PROP_PENDINFOTIME            9  // Date, Indexed
  596. #define FR_PROP_ISSUEDCERTIFICATEHASH  10  // Binary, Indexed
  597. #define FR_PROP_ISSUEDCERTIFICATE      11  // Binary, Indexed
  598. #define FR_PROP_ISSUEDCERTIFICATECHAIN 12  // Binary, Indexed
  599. #define FR_PROP_ISSUEDCERTIFICATECRLCHAIN 13  // Binary, Indexed
  600. #define FR_PROP_ENCRYPTEDKEYHASH   14  // Binary, Indexed
  601. #define FR_PROP_FULLRESPONSENOPKCS7   15  // Binary
  602. extern RPC_IF_HANDLE __MIDL_itf_certcli_0119_v0_0_c_ifspec;
  603. extern RPC_IF_HANDLE __MIDL_itf_certcli_0119_v0_0_s_ifspec;
  604. #ifndef __ICertRequest_INTERFACE_DEFINED__
  605. #define __ICertRequest_INTERFACE_DEFINED__
  606. /* interface ICertRequest */
  607. /* [unique][helpstring][dual][uuid][object] */ 
  608. EXTERN_C const IID IID_ICertRequest;
  609. #if defined(__cplusplus) && !defined(CINTERFACE)
  610.     
  611.     MIDL_INTERFACE("014e4840-5523-11d0-8812-00a0c903b83c")
  612.     ICertRequest : public IDispatch
  613.     {
  614.     public:
  615.         virtual HRESULT STDMETHODCALLTYPE Submit( 
  616.             /* [in] */ LONG Flags,
  617.             /* [in] */ const BSTR strRequest,
  618.             /* [in] */ const BSTR strAttributes,
  619.             /* [in] */ const BSTR strConfig,
  620.             /* [retval][out] */ LONG *pDisposition) = 0;
  621.         
  622.         virtual HRESULT STDMETHODCALLTYPE RetrievePending( 
  623.             /* [in] */ LONG RequestId,
  624.             /* [in] */ const BSTR strConfig,
  625.             /* [retval][out] */ LONG *pDisposition) = 0;
  626.         
  627.         virtual HRESULT STDMETHODCALLTYPE GetLastStatus( 
  628.             /* [retval][out] */ LONG *pStatus) = 0;
  629.         
  630.         virtual HRESULT STDMETHODCALLTYPE GetRequestId( 
  631.             /* [retval][out] */ LONG *pRequestId) = 0;
  632.         
  633.         virtual HRESULT STDMETHODCALLTYPE GetDispositionMessage( 
  634.             /* [retval][out] */ BSTR *pstrDispositionMessage) = 0;
  635.         
  636.         virtual HRESULT STDMETHODCALLTYPE GetCACertificate( 
  637.             /* [in] */ LONG fExchangeCertificate,
  638.             /* [in] */ const BSTR strConfig,
  639.             /* [in] */ LONG Flags,
  640.             /* [retval][out] */ BSTR *pstrCertificate) = 0;
  641.         
  642.         virtual HRESULT STDMETHODCALLTYPE GetCertificate( 
  643.             /* [in] */ LONG Flags,
  644.             /* [retval][out] */ BSTR *pstrCertificate) = 0;
  645.         
  646.     };
  647.     
  648. #else  /* C style interface */
  649.     typedef struct ICertRequestVtbl
  650.     {
  651.         BEGIN_INTERFACE
  652.         
  653.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  654.             ICertRequest * This,
  655.             /* [in] */ REFIID riid,
  656.             /* [iid_is][out] */ void **ppvObject);
  657.         
  658.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  659.             ICertRequest * This);
  660.         
  661.         ULONG ( STDMETHODCALLTYPE *Release )( 
  662.             ICertRequest * This);
  663.         
  664.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  665.             ICertRequest * This,
  666.             /* [out] */ UINT *pctinfo);
  667.         
  668.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  669.             ICertRequest * This,
  670.             /* [in] */ UINT iTInfo,
  671.             /* [in] */ LCID lcid,
  672.             /* [out] */ ITypeInfo **ppTInfo);
  673.         
  674.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  675.             ICertRequest * This,
  676.             /* [in] */ REFIID riid,
  677.             /* [size_is][in] */ LPOLESTR *rgszNames,
  678.             /* [in] */ UINT cNames,
  679.             /* [in] */ LCID lcid,
  680.             /* [size_is][out] */ DISPID *rgDispId);
  681.         
  682.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  683.             ICertRequest * This,
  684.             /* [in] */ DISPID dispIdMember,
  685.             /* [in] */ REFIID riid,
  686.             /* [in] */ LCID lcid,
  687.             /* [in] */ WORD wFlags,
  688.             /* [out][in] */ DISPPARAMS *pDispParams,
  689.             /* [out] */ VARIANT *pVarResult,
  690.             /* [out] */ EXCEPINFO *pExcepInfo,
  691.             /* [out] */ UINT *puArgErr);
  692.         
  693.         HRESULT ( STDMETHODCALLTYPE *Submit )( 
  694.             ICertRequest * This,
  695.             /* [in] */ LONG Flags,
  696.             /* [in] */ const BSTR strRequest,
  697.             /* [in] */ const BSTR strAttributes,
  698.             /* [in] */ const BSTR strConfig,
  699.             /* [retval][out] */ LONG *pDisposition);
  700.         
  701.         HRESULT ( STDMETHODCALLTYPE *RetrievePending )( 
  702.             ICertRequest * This,
  703.             /* [in] */ LONG RequestId,
  704.             /* [in] */ const BSTR strConfig,
  705.             /* [retval][out] */ LONG *pDisposition);
  706.         
  707.         HRESULT ( STDMETHODCALLTYPE *GetLastStatus )( 
  708.             ICertRequest * This,
  709.             /* [retval][out] */ LONG *pStatus);
  710.         
  711.         HRESULT ( STDMETHODCALLTYPE *GetRequestId )( 
  712.             ICertRequest * This,
  713.             /* [retval][out] */ LONG *pRequestId);
  714.         
  715.         HRESULT ( STDMETHODCALLTYPE *GetDispositionMessage )( 
  716.             ICertRequest * This,
  717.             /* [retval][out] */ BSTR *pstrDispositionMessage);
  718.         
  719.         HRESULT ( STDMETHODCALLTYPE *GetCACertificate )( 
  720.             ICertRequest * This,
  721.             /* [in] */ LONG fExchangeCertificate,
  722.             /* [in] */ const BSTR strConfig,
  723.             /* [in] */ LONG Flags,
  724.             /* [retval][out] */ BSTR *pstrCertificate);
  725.         
  726.         HRESULT ( STDMETHODCALLTYPE *GetCertificate )( 
  727.             ICertRequest * This,
  728.             /* [in] */ LONG Flags,
  729.             /* [retval][out] */ BSTR *pstrCertificate);
  730.         
  731.         END_INTERFACE
  732.     } ICertRequestVtbl;
  733.     interface ICertRequest
  734.     {
  735.         CONST_VTBL struct ICertRequestVtbl *lpVtbl;
  736.     };
  737.     
  738. #ifdef COBJMACROS
  739. #define ICertRequest_QueryInterface(This,riid,ppvObject)
  740.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  741. #define ICertRequest_AddRef(This)
  742.     (This)->lpVtbl -> AddRef(This)
  743. #define ICertRequest_Release(This)
  744.     (This)->lpVtbl -> Release(This)
  745. #define ICertRequest_GetTypeInfoCount(This,pctinfo)
  746.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  747. #define ICertRequest_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  748.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  749. #define ICertRequest_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  750.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  751. #define ICertRequest_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  752.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  753. #define ICertRequest_Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
  754.     (This)->lpVtbl -> Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
  755. #define ICertRequest_RetrievePending(This,RequestId,strConfig,pDisposition)
  756.     (This)->lpVtbl -> RetrievePending(This,RequestId,strConfig,pDisposition)
  757. #define ICertRequest_GetLastStatus(This,pStatus)
  758.     (This)->lpVtbl -> GetLastStatus(This,pStatus)
  759. #define ICertRequest_GetRequestId(This,pRequestId)
  760.     (This)->lpVtbl -> GetRequestId(This,pRequestId)
  761. #define ICertRequest_GetDispositionMessage(This,pstrDispositionMessage)
  762.     (This)->lpVtbl -> GetDispositionMessage(This,pstrDispositionMessage)
  763. #define ICertRequest_GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
  764.     (This)->lpVtbl -> GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
  765. #define ICertRequest_GetCertificate(This,Flags,pstrCertificate)
  766.     (This)->lpVtbl -> GetCertificate(This,Flags,pstrCertificate)
  767. #endif /* COBJMACROS */
  768. #endif  /* C style interface */
  769. HRESULT STDMETHODCALLTYPE ICertRequest_Submit_Proxy( 
  770.     ICertRequest * This,
  771.     /* [in] */ LONG Flags,
  772.     /* [in] */ const BSTR strRequest,
  773.     /* [in] */ const BSTR strAttributes,
  774.     /* [in] */ const BSTR strConfig,
  775.     /* [retval][out] */ LONG *pDisposition);
  776. void __RPC_STUB ICertRequest_Submit_Stub(
  777.     IRpcStubBuffer *This,
  778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  779.     PRPC_MESSAGE _pRpcMessage,
  780.     DWORD *_pdwStubPhase);
  781. HRESULT STDMETHODCALLTYPE ICertRequest_RetrievePending_Proxy( 
  782.     ICertRequest * This,
  783.     /* [in] */ LONG RequestId,
  784.     /* [in] */ const BSTR strConfig,
  785.     /* [retval][out] */ LONG *pDisposition);
  786. void __RPC_STUB ICertRequest_RetrievePending_Stub(
  787.     IRpcStubBuffer *This,
  788.     IRpcChannelBuffer *_pRpcChannelBuffer,
  789.     PRPC_MESSAGE _pRpcMessage,
  790.     DWORD *_pdwStubPhase);
  791. HRESULT STDMETHODCALLTYPE ICertRequest_GetLastStatus_Proxy( 
  792.     ICertRequest * This,
  793.     /* [retval][out] */ LONG *pStatus);
  794. void __RPC_STUB ICertRequest_GetLastStatus_Stub(
  795.     IRpcStubBuffer *This,
  796.     IRpcChannelBuffer *_pRpcChannelBuffer,
  797.     PRPC_MESSAGE _pRpcMessage,
  798.     DWORD *_pdwStubPhase);
  799. HRESULT STDMETHODCALLTYPE ICertRequest_GetRequestId_Proxy( 
  800.     ICertRequest * This,
  801.     /* [retval][out] */ LONG *pRequestId);
  802. void __RPC_STUB ICertRequest_GetRequestId_Stub(
  803.     IRpcStubBuffer *This,
  804.     IRpcChannelBuffer *_pRpcChannelBuffer,
  805.     PRPC_MESSAGE _pRpcMessage,
  806.     DWORD *_pdwStubPhase);
  807. HRESULT STDMETHODCALLTYPE ICertRequest_GetDispositionMessage_Proxy( 
  808.     ICertRequest * This,
  809.     /* [retval][out] */ BSTR *pstrDispositionMessage);
  810. void __RPC_STUB ICertRequest_GetDispositionMessage_Stub(
  811.     IRpcStubBuffer *This,
  812.     IRpcChannelBuffer *_pRpcChannelBuffer,
  813.     PRPC_MESSAGE _pRpcMessage,
  814.     DWORD *_pdwStubPhase);
  815. HRESULT STDMETHODCALLTYPE ICertRequest_GetCACertificate_Proxy( 
  816.     ICertRequest * This,
  817.     /* [in] */ LONG fExchangeCertificate,
  818.     /* [in] */ const BSTR strConfig,
  819.     /* [in] */ LONG Flags,
  820.     /* [retval][out] */ BSTR *pstrCertificate);
  821. void __RPC_STUB ICertRequest_GetCACertificate_Stub(
  822.     IRpcStubBuffer *This,
  823.     IRpcChannelBuffer *_pRpcChannelBuffer,
  824.     PRPC_MESSAGE _pRpcMessage,
  825.     DWORD *_pdwStubPhase);
  826. HRESULT STDMETHODCALLTYPE ICertRequest_GetCertificate_Proxy( 
  827.     ICertRequest * This,
  828.     /* [in] */ LONG Flags,
  829.     /* [retval][out] */ BSTR *pstrCertificate);
  830. void __RPC_STUB ICertRequest_GetCertificate_Stub(
  831.     IRpcStubBuffer *This,
  832.     IRpcChannelBuffer *_pRpcChannelBuffer,
  833.     PRPC_MESSAGE _pRpcMessage,
  834.     DWORD *_pdwStubPhase);
  835. #endif  /* __ICertRequest_INTERFACE_DEFINED__ */
  836. #ifndef __ICertRequest2_INTERFACE_DEFINED__
  837. #define __ICertRequest2_INTERFACE_DEFINED__
  838. /* interface ICertRequest2 */
  839. /* [unique][helpstring][dual][uuid][object] */ 
  840. EXTERN_C const IID IID_ICertRequest2;
  841. #if defined(__cplusplus) && !defined(CINTERFACE)
  842.     
  843.     MIDL_INTERFACE("a4772988-4a85-4fa9-824e-b5cf5c16405a")
  844.     ICertRequest2 : public ICertRequest
  845.     {
  846.     public:
  847.         virtual HRESULT STDMETHODCALLTYPE GetIssuedCertificate( 
  848.             /* [in] */ const BSTR strConfig,
  849.             /* [in] */ LONG RequestId,
  850.             /* [in] */ const BSTR strSerialNumber,
  851.             /* [retval][out] */ LONG *pDisposition) = 0;
  852.         
  853.         virtual HRESULT STDMETHODCALLTYPE GetErrorMessageText( 
  854.             /* [in] */ LONG hrMessage,
  855.             /* [in] */ LONG Flags,
  856.             /* [retval][out] */ BSTR *pstrErrorMessageText) = 0;
  857.         
  858.         virtual HRESULT STDMETHODCALLTYPE GetCAProperty( 
  859.             /* [in] */ const BSTR strConfig,
  860.             /* [in] */ LONG PropId,
  861.             /* [in] */ LONG PropIndex,
  862.             /* [in] */ LONG PropType,
  863.             /* [in] */ LONG Flags,
  864.             /* [retval][out] */ VARIANT *pvarPropertyValue) = 0;
  865.         
  866.         virtual HRESULT STDMETHODCALLTYPE GetCAPropertyFlags( 
  867.             /* [in] */ const BSTR strConfig,
  868.             /* [in] */ LONG PropId,
  869.             /* [retval][out] */ LONG *pPropFlags) = 0;
  870.         
  871.         virtual HRESULT STDMETHODCALLTYPE GetCAPropertyDisplayName( 
  872.             /* [in] */ const BSTR strConfig,
  873.             /* [in] */ LONG PropId,
  874.             /* [retval][out] */ BSTR *pstrDisplayName) = 0;
  875.         
  876.         virtual HRESULT STDMETHODCALLTYPE GetFullResponseProperty( 
  877.             /* [in] */ LONG PropId,
  878.             /* [in] */ LONG PropIndex,
  879.             /* [in] */ LONG PropType,
  880.             /* [in] */ LONG Flags,
  881.             /* [retval][out] */ VARIANT *pvarPropertyValue) = 0;
  882.         
  883.     };
  884.     
  885. #else  /* C style interface */
  886.     typedef struct ICertRequest2Vtbl
  887.     {
  888.         BEGIN_INTERFACE
  889.         
  890.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  891.             ICertRequest2 * This,
  892.             /* [in] */ REFIID riid,
  893.             /* [iid_is][out] */ void **ppvObject);
  894.         
  895.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  896.             ICertRequest2 * This);
  897.         
  898.         ULONG ( STDMETHODCALLTYPE *Release )( 
  899.             ICertRequest2 * This);
  900.         
  901.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  902.             ICertRequest2 * This,
  903.             /* [out] */ UINT *pctinfo);
  904.         
  905.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  906.             ICertRequest2 * This,
  907.             /* [in] */ UINT iTInfo,
  908.             /* [in] */ LCID lcid,
  909.             /* [out] */ ITypeInfo **ppTInfo);
  910.         
  911.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  912.             ICertRequest2 * This,
  913.             /* [in] */ REFIID riid,
  914.             /* [size_is][in] */ LPOLESTR *rgszNames,
  915.             /* [in] */ UINT cNames,
  916.             /* [in] */ LCID lcid,
  917.             /* [size_is][out] */ DISPID *rgDispId);
  918.         
  919.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  920.             ICertRequest2 * This,
  921.             /* [in] */ DISPID dispIdMember,
  922.             /* [in] */ REFIID riid,
  923.             /* [in] */ LCID lcid,
  924.             /* [in] */ WORD wFlags,
  925.             /* [out][in] */ DISPPARAMS *pDispParams,
  926.             /* [out] */ VARIANT *pVarResult,
  927.             /* [out] */ EXCEPINFO *pExcepInfo,
  928.             /* [out] */ UINT *puArgErr);
  929.         
  930.         HRESULT ( STDMETHODCALLTYPE *Submit )( 
  931.             ICertRequest2 * This,
  932.             /* [in] */ LONG Flags,
  933.             /* [in] */ const BSTR strRequest,
  934.             /* [in] */ const BSTR strAttributes,
  935.             /* [in] */ const BSTR strConfig,
  936.             /* [retval][out] */ LONG *pDisposition);
  937.         
  938.         HRESULT ( STDMETHODCALLTYPE *RetrievePending )( 
  939.             ICertRequest2 * This,
  940.             /* [in] */ LONG RequestId,
  941.             /* [in] */ const BSTR strConfig,
  942.             /* [retval][out] */ LONG *pDisposition);
  943.         
  944.         HRESULT ( STDMETHODCALLTYPE *GetLastStatus )( 
  945.             ICertRequest2 * This,
  946.             /* [retval][out] */ LONG *pStatus);
  947.         
  948.         HRESULT ( STDMETHODCALLTYPE *GetRequestId )( 
  949.             ICertRequest2 * This,
  950.             /* [retval][out] */ LONG *pRequestId);
  951.         
  952.         HRESULT ( STDMETHODCALLTYPE *GetDispositionMessage )( 
  953.             ICertRequest2 * This,
  954.             /* [retval][out] */ BSTR *pstrDispositionMessage);
  955.         
  956.         HRESULT ( STDMETHODCALLTYPE *GetCACertificate )( 
  957.             ICertRequest2 * This,
  958.             /* [in] */ LONG fExchangeCertificate,
  959.             /* [in] */ const BSTR strConfig,
  960.             /* [in] */ LONG Flags,
  961.             /* [retval][out] */ BSTR *pstrCertificate);
  962.         
  963.         HRESULT ( STDMETHODCALLTYPE *GetCertificate )( 
  964.             ICertRequest2 * This,
  965.             /* [in] */ LONG Flags,
  966.             /* [retval][out] */ BSTR *pstrCertificate);
  967.         
  968.         HRESULT ( STDMETHODCALLTYPE *GetIssuedCertificate )( 
  969.             ICertRequest2 * This,
  970.             /* [in] */ const BSTR strConfig,
  971.             /* [in] */ LONG RequestId,
  972.             /* [in] */ const BSTR strSerialNumber,
  973.             /* [retval][out] */ LONG *pDisposition);
  974.         
  975.         HRESULT ( STDMETHODCALLTYPE *GetErrorMessageText )( 
  976.             ICertRequest2 * This,
  977.             /* [in] */ LONG hrMessage,
  978.             /* [in] */ LONG Flags,
  979.             /* [retval][out] */ BSTR *pstrErrorMessageText);
  980.         
  981.         HRESULT ( STDMETHODCALLTYPE *GetCAProperty )( 
  982.             ICertRequest2 * This,
  983.             /* [in] */ const BSTR strConfig,
  984.             /* [in] */ LONG PropId,
  985.             /* [in] */ LONG PropIndex,
  986.             /* [in] */ LONG PropType,
  987.             /* [in] */ LONG Flags,
  988.             /* [retval][out] */ VARIANT *pvarPropertyValue);
  989.         
  990.         HRESULT ( STDMETHODCALLTYPE *GetCAPropertyFlags )( 
  991.             ICertRequest2 * This,
  992.             /* [in] */ const BSTR strConfig,
  993.             /* [in] */ LONG PropId,
  994.             /* [retval][out] */ LONG *pPropFlags);
  995.         
  996.         HRESULT ( STDMETHODCALLTYPE *GetCAPropertyDisplayName )( 
  997.             ICertRequest2 * This,
  998.             /* [in] */ const BSTR strConfig,
  999.             /* [in] */ LONG PropId,
  1000.             /* [retval][out] */ BSTR *pstrDisplayName);
  1001.         
  1002.         HRESULT ( STDMETHODCALLTYPE *GetFullResponseProperty )( 
  1003.             ICertRequest2 * This,
  1004.             /* [in] */ LONG PropId,
  1005.             /* [in] */ LONG PropIndex,
  1006.             /* [in] */ LONG PropType,
  1007.             /* [in] */ LONG Flags,
  1008.             /* [retval][out] */ VARIANT *pvarPropertyValue);
  1009.         
  1010.         END_INTERFACE
  1011.     } ICertRequest2Vtbl;
  1012.     interface ICertRequest2
  1013.     {
  1014.         CONST_VTBL struct ICertRequest2Vtbl *lpVtbl;
  1015.     };
  1016.     
  1017. #ifdef COBJMACROS
  1018. #define ICertRequest2_QueryInterface(This,riid,ppvObject)
  1019.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1020. #define ICertRequest2_AddRef(This)
  1021.     (This)->lpVtbl -> AddRef(This)
  1022. #define ICertRequest2_Release(This)
  1023.     (This)->lpVtbl -> Release(This)
  1024. #define ICertRequest2_GetTypeInfoCount(This,pctinfo)
  1025.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1026. #define ICertRequest2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1027.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1028. #define ICertRequest2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1029.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1030. #define ICertRequest2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1031.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1032. #define ICertRequest2_Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
  1033.     (This)->lpVtbl -> Submit(This,Flags,strRequest,strAttributes,strConfig,pDisposition)
  1034. #define ICertRequest2_RetrievePending(This,RequestId,strConfig,pDisposition)
  1035.     (This)->lpVtbl -> RetrievePending(This,RequestId,strConfig,pDisposition)
  1036. #define ICertRequest2_GetLastStatus(This,pStatus)
  1037.     (This)->lpVtbl -> GetLastStatus(This,pStatus)
  1038. #define ICertRequest2_GetRequestId(This,pRequestId)
  1039.     (This)->lpVtbl -> GetRequestId(This,pRequestId)
  1040. #define ICertRequest2_GetDispositionMessage(This,pstrDispositionMessage)
  1041.     (This)->lpVtbl -> GetDispositionMessage(This,pstrDispositionMessage)
  1042. #define ICertRequest2_GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
  1043.     (This)->lpVtbl -> GetCACertificate(This,fExchangeCertificate,strConfig,Flags,pstrCertificate)
  1044. #define ICertRequest2_GetCertificate(This,Flags,pstrCertificate)
  1045.     (This)->lpVtbl -> GetCertificate(This,Flags,pstrCertificate)
  1046. #define ICertRequest2_GetIssuedCertificate(This,strConfig,RequestId,strSerialNumber,pDisposition)
  1047.     (This)->lpVtbl -> GetIssuedCertificate(This,strConfig,RequestId,strSerialNumber,pDisposition)
  1048. #define ICertRequest2_GetErrorMessageText(This,hrMessage,Flags,pstrErrorMessageText)
  1049.     (This)->lpVtbl -> GetErrorMessageText(This,hrMessage,Flags,pstrErrorMessageText)
  1050. #define ICertRequest2_GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
  1051.     (This)->lpVtbl -> GetCAProperty(This,strConfig,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
  1052. #define ICertRequest2_GetCAPropertyFlags(This,strConfig,PropId,pPropFlags)
  1053.     (This)->lpVtbl -> GetCAPropertyFlags(This,strConfig,PropId,pPropFlags)
  1054. #define ICertRequest2_GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName)
  1055.     (This)->lpVtbl -> GetCAPropertyDisplayName(This,strConfig,PropId,pstrDisplayName)
  1056. #define ICertRequest2_GetFullResponseProperty(This,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
  1057.     (This)->lpVtbl -> GetFullResponseProperty(This,PropId,PropIndex,PropType,Flags,pvarPropertyValue)
  1058. #endif /* COBJMACROS */
  1059. #endif  /* C style interface */
  1060. HRESULT STDMETHODCALLTYPE ICertRequest2_GetIssuedCertificate_Proxy( 
  1061.     ICertRequest2 * This,
  1062.     /* [in] */ const BSTR strConfig,
  1063.     /* [in] */ LONG RequestId,
  1064.     /* [in] */ const BSTR strSerialNumber,
  1065.     /* [retval][out] */ LONG *pDisposition);
  1066. void __RPC_STUB ICertRequest2_GetIssuedCertificate_Stub(
  1067.     IRpcStubBuffer *This,
  1068.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1069.     PRPC_MESSAGE _pRpcMessage,
  1070.     DWORD *_pdwStubPhase);
  1071. HRESULT STDMETHODCALLTYPE ICertRequest2_GetErrorMessageText_Proxy( 
  1072.     ICertRequest2 * This,
  1073.     /* [in] */ LONG hrMessage,
  1074.     /* [in] */ LONG Flags,
  1075.     /* [retval][out] */ BSTR *pstrErrorMessageText);
  1076. void __RPC_STUB ICertRequest2_GetErrorMessageText_Stub(
  1077.     IRpcStubBuffer *This,
  1078.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1079.     PRPC_MESSAGE _pRpcMessage,
  1080.     DWORD *_pdwStubPhase);
  1081. HRESULT STDMETHODCALLTYPE ICertRequest2_GetCAProperty_Proxy( 
  1082.     ICertRequest2 * This,
  1083.     /* [in] */ const BSTR strConfig,
  1084.     /* [in] */ LONG PropId,
  1085.     /* [in] */ LONG PropIndex,
  1086.     /* [in] */ LONG PropType,
  1087.     /* [in] */ LONG Flags,
  1088.     /* [retval][out] */ VARIANT *pvarPropertyValue);
  1089. void __RPC_STUB ICertRequest2_GetCAProperty_Stub(
  1090.     IRpcStubBuffer *This,
  1091.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1092.     PRPC_MESSAGE _pRpcMessage,
  1093.     DWORD *_pdwStubPhase);
  1094. HRESULT STDMETHODCALLTYPE ICertRequest2_GetCAPropertyFlags_Proxy( 
  1095.     ICertRequest2 * This,
  1096.     /* [in] */ const BSTR strConfig,
  1097.     /* [in] */ LONG PropId,
  1098.     /* [retval][out] */ LONG *pPropFlags);
  1099. void __RPC_STUB ICertRequest2_GetCAPropertyFlags_Stub(
  1100.     IRpcStubBuffer *This,
  1101.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1102.     PRPC_MESSAGE _pRpcMessage,
  1103.     DWORD *_pdwStubPhase);
  1104. HRESULT STDMETHODCALLTYPE ICertRequest2_GetCAPropertyDisplayName_Proxy( 
  1105.     ICertRequest2 * This,
  1106.     /* [in] */ const BSTR strConfig,
  1107.     /* [in] */ LONG PropId,
  1108.     /* [retval][out] */ BSTR *pstrDisplayName);
  1109. void __RPC_STUB ICertRequest2_GetCAPropertyDisplayName_Stub(
  1110.     IRpcStubBuffer *This,
  1111.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1112.     PRPC_MESSAGE _pRpcMessage,
  1113.     DWORD *_pdwStubPhase);
  1114. HRESULT STDMETHODCALLTYPE ICertRequest2_GetFullResponseProperty_Proxy( 
  1115.     ICertRequest2 * This,
  1116.     /* [in] */ LONG PropId,
  1117.     /* [in] */ LONG PropIndex,
  1118.     /* [in] */ LONG PropType,
  1119.     /* [in] */ LONG Flags,
  1120.     /* [retval][out] */ VARIANT *pvarPropertyValue);
  1121. void __RPC_STUB ICertRequest2_GetFullResponseProperty_Stub(
  1122.     IRpcStubBuffer *This,
  1123.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1124.     PRPC_MESSAGE _pRpcMessage,
  1125.     DWORD *_pdwStubPhase);
  1126. #endif  /* __ICertRequest2_INTERFACE_DEFINED__ */
  1127. #ifndef __CERTCLIENTLib_LIBRARY_DEFINED__
  1128. #define __CERTCLIENTLib_LIBRARY_DEFINED__
  1129. /* library CERTCLIENTLib */
  1130. /* [helpstring][version][uuid] */ 
  1131. EXTERN_C const IID LIBID_CERTCLIENTLib;
  1132. EXTERN_C const CLSID CLSID_CCertGetConfig;
  1133. #ifdef __cplusplus
  1134. class DECLSPEC_UUID("c6cc49b0-ce17-11d0-8833-00a0c903b83c")
  1135. CCertGetConfig;
  1136. #endif
  1137. EXTERN_C const CLSID CLSID_CCertConfig;
  1138. #ifdef __cplusplus
  1139. class DECLSPEC_UUID("372fce38-4324-11d0-8810-00a0c903b83c")
  1140. CCertConfig;
  1141. #endif
  1142. EXTERN_C const CLSID CLSID_CCertRequest;
  1143. #ifdef __cplusplus
  1144. class DECLSPEC_UUID("98aff3f0-5524-11d0-8812-00a0c903b83c")
  1145. CCertRequest;
  1146. #endif
  1147. EXTERN_C const CLSID CLSID_CCertServerPolicy;
  1148. #ifdef __cplusplus
  1149. class DECLSPEC_UUID("aa000926-ffbe-11cf-8800-00a0c903b83c")
  1150. CCertServerPolicy;
  1151. #endif
  1152. EXTERN_C const CLSID CLSID_CCertServerExit;
  1153. #ifdef __cplusplus
  1154. class DECLSPEC_UUID("4c4a5e40-732c-11d0-8816-00a0c903b83c")
  1155. CCertServerExit;
  1156. #endif
  1157. #endif /* __CERTCLIENTLib_LIBRARY_DEFINED__ */
  1158. /* Additional Prototypes for ALL interfaces */
  1159. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  1160. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  1161. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  1162. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  1163. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
  1164. unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
  1165. unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
  1166. void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 
  1167. /* end of Additional Prototypes */
  1168. #ifdef __cplusplus
  1169. }
  1170. #endif
  1171. #endif