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

模拟服务器

开发平台:

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 certenc.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 __certenc_h__
  27. #define __certenc_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */ 
  32. #ifndef __ICertEncodeStringArray_FWD_DEFINED__
  33. #define __ICertEncodeStringArray_FWD_DEFINED__
  34. typedef interface ICertEncodeStringArray ICertEncodeStringArray;
  35. #endif  /* __ICertEncodeStringArray_FWD_DEFINED__ */
  36. #ifndef __ICertEncodeLongArray_FWD_DEFINED__
  37. #define __ICertEncodeLongArray_FWD_DEFINED__
  38. typedef interface ICertEncodeLongArray ICertEncodeLongArray;
  39. #endif  /* __ICertEncodeLongArray_FWD_DEFINED__ */
  40. #ifndef __ICertEncodeDateArray_FWD_DEFINED__
  41. #define __ICertEncodeDateArray_FWD_DEFINED__
  42. typedef interface ICertEncodeDateArray ICertEncodeDateArray;
  43. #endif  /* __ICertEncodeDateArray_FWD_DEFINED__ */
  44. #ifndef __ICertEncodeCRLDistInfo_FWD_DEFINED__
  45. #define __ICertEncodeCRLDistInfo_FWD_DEFINED__
  46. typedef interface ICertEncodeCRLDistInfo ICertEncodeCRLDistInfo;
  47. #endif  /* __ICertEncodeCRLDistInfo_FWD_DEFINED__ */
  48. #ifndef __ICertEncodeAltName_FWD_DEFINED__
  49. #define __ICertEncodeAltName_FWD_DEFINED__
  50. typedef interface ICertEncodeAltName ICertEncodeAltName;
  51. #endif  /* __ICertEncodeAltName_FWD_DEFINED__ */
  52. #ifndef __ICertEncodeBitString_FWD_DEFINED__
  53. #define __ICertEncodeBitString_FWD_DEFINED__
  54. typedef interface ICertEncodeBitString ICertEncodeBitString;
  55. #endif  /* __ICertEncodeBitString_FWD_DEFINED__ */
  56. #ifndef __CCertEncodeStringArray_FWD_DEFINED__
  57. #define __CCertEncodeStringArray_FWD_DEFINED__
  58. #ifdef __cplusplus
  59. typedef class CCertEncodeStringArray CCertEncodeStringArray;
  60. #else
  61. typedef struct CCertEncodeStringArray CCertEncodeStringArray;
  62. #endif /* __cplusplus */
  63. #endif  /* __CCertEncodeStringArray_FWD_DEFINED__ */
  64. #ifndef __CCertEncodeLongArray_FWD_DEFINED__
  65. #define __CCertEncodeLongArray_FWD_DEFINED__
  66. #ifdef __cplusplus
  67. typedef class CCertEncodeLongArray CCertEncodeLongArray;
  68. #else
  69. typedef struct CCertEncodeLongArray CCertEncodeLongArray;
  70. #endif /* __cplusplus */
  71. #endif  /* __CCertEncodeLongArray_FWD_DEFINED__ */
  72. #ifndef __CCertEncodeDateArray_FWD_DEFINED__
  73. #define __CCertEncodeDateArray_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class CCertEncodeDateArray CCertEncodeDateArray;
  76. #else
  77. typedef struct CCertEncodeDateArray CCertEncodeDateArray;
  78. #endif /* __cplusplus */
  79. #endif  /* __CCertEncodeDateArray_FWD_DEFINED__ */
  80. #ifndef __CCertEncodeCRLDistInfo_FWD_DEFINED__
  81. #define __CCertEncodeCRLDistInfo_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
  84. #else
  85. typedef struct CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
  86. #endif /* __cplusplus */
  87. #endif  /* __CCertEncodeCRLDistInfo_FWD_DEFINED__ */
  88. #ifndef __CCertEncodeAltName_FWD_DEFINED__
  89. #define __CCertEncodeAltName_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class CCertEncodeAltName CCertEncodeAltName;
  92. #else
  93. typedef struct CCertEncodeAltName CCertEncodeAltName;
  94. #endif /* __cplusplus */
  95. #endif  /* __CCertEncodeAltName_FWD_DEFINED__ */
  96. #ifndef __CCertEncodeBitString_FWD_DEFINED__
  97. #define __CCertEncodeBitString_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class CCertEncodeBitString CCertEncodeBitString;
  100. #else
  101. typedef struct CCertEncodeBitString CCertEncodeBitString;
  102. #endif /* __cplusplus */
  103. #endif  /* __CCertEncodeBitString_FWD_DEFINED__ */
  104. /* header files for imported files */
  105. #include "wtypes.h"
  106. #include "oaidl.h"
  107. #ifdef __cplusplus
  108. extern "C"{
  109. #endif 
  110. void * __RPC_USER MIDL_user_allocate(size_t);
  111. void __RPC_USER MIDL_user_free( void * ); 
  112. #ifndef __ICertEncodeStringArray_INTERFACE_DEFINED__
  113. #define __ICertEncodeStringArray_INTERFACE_DEFINED__
  114. /* interface ICertEncodeStringArray */
  115. /* [unique][helpstring][dual][uuid][object] */ 
  116. EXTERN_C const IID IID_ICertEncodeStringArray;
  117. #if defined(__cplusplus) && !defined(CINTERFACE)
  118.     
  119.     MIDL_INTERFACE("12a88820-7494-11d0-8816-00a0c903b83c")
  120.     ICertEncodeStringArray : public IDispatch
  121.     {
  122.     public:
  123.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  124.             /* [in] */ const BSTR strBinary) = 0;
  125.         
  126.         virtual HRESULT STDMETHODCALLTYPE GetStringType( 
  127.             /* [retval][out] */ LONG *pStringType) = 0;
  128.         
  129.         virtual HRESULT STDMETHODCALLTYPE GetCount( 
  130.             /* [retval][out] */ LONG *pCount) = 0;
  131.         
  132.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  133.             /* [in] */ LONG Index,
  134.             /* [retval][out] */ BSTR *pstr) = 0;
  135.         
  136.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  137.             /* [in] */ LONG Count,
  138.             /* [in] */ LONG StringType) = 0;
  139.         
  140.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  141.             /* [in] */ LONG Index,
  142.             /* [in] */ const BSTR str) = 0;
  143.         
  144.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  145.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  146.         
  147.     };
  148.     
  149. #else  /* C style interface */
  150.     typedef struct ICertEncodeStringArrayVtbl
  151.     {
  152.         BEGIN_INTERFACE
  153.         
  154.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  155.             ICertEncodeStringArray * This,
  156.             /* [in] */ REFIID riid,
  157.             /* [iid_is][out] */ void **ppvObject);
  158.         
  159.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  160.             ICertEncodeStringArray * This);
  161.         
  162.         ULONG ( STDMETHODCALLTYPE *Release )( 
  163.             ICertEncodeStringArray * This);
  164.         
  165.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  166.             ICertEncodeStringArray * This,
  167.             /* [out] */ UINT *pctinfo);
  168.         
  169.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  170.             ICertEncodeStringArray * This,
  171.             /* [in] */ UINT iTInfo,
  172.             /* [in] */ LCID lcid,
  173.             /* [out] */ ITypeInfo **ppTInfo);
  174.         
  175.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  176.             ICertEncodeStringArray * This,
  177.             /* [in] */ REFIID riid,
  178.             /* [size_is][in] */ LPOLESTR *rgszNames,
  179.             /* [in] */ UINT cNames,
  180.             /* [in] */ LCID lcid,
  181.             /* [size_is][out] */ DISPID *rgDispId);
  182.         
  183.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  184.             ICertEncodeStringArray * This,
  185.             /* [in] */ DISPID dispIdMember,
  186.             /* [in] */ REFIID riid,
  187.             /* [in] */ LCID lcid,
  188.             /* [in] */ WORD wFlags,
  189.             /* [out][in] */ DISPPARAMS *pDispParams,
  190.             /* [out] */ VARIANT *pVarResult,
  191.             /* [out] */ EXCEPINFO *pExcepInfo,
  192.             /* [out] */ UINT *puArgErr);
  193.         
  194.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  195.             ICertEncodeStringArray * This,
  196.             /* [in] */ const BSTR strBinary);
  197.         
  198.         HRESULT ( STDMETHODCALLTYPE *GetStringType )( 
  199.             ICertEncodeStringArray * This,
  200.             /* [retval][out] */ LONG *pStringType);
  201.         
  202.         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
  203.             ICertEncodeStringArray * This,
  204.             /* [retval][out] */ LONG *pCount);
  205.         
  206.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  207.             ICertEncodeStringArray * This,
  208.             /* [in] */ LONG Index,
  209.             /* [retval][out] */ BSTR *pstr);
  210.         
  211.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  212.             ICertEncodeStringArray * This,
  213.             /* [in] */ LONG Count,
  214.             /* [in] */ LONG StringType);
  215.         
  216.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  217.             ICertEncodeStringArray * This,
  218.             /* [in] */ LONG Index,
  219.             /* [in] */ const BSTR str);
  220.         
  221.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  222.             ICertEncodeStringArray * This,
  223.             /* [retval][out] */ BSTR *pstrBinary);
  224.         
  225.         END_INTERFACE
  226.     } ICertEncodeStringArrayVtbl;
  227.     interface ICertEncodeStringArray
  228.     {
  229.         CONST_VTBL struct ICertEncodeStringArrayVtbl *lpVtbl;
  230.     };
  231.     
  232. #ifdef COBJMACROS
  233. #define ICertEncodeStringArray_QueryInterface(This,riid,ppvObject)
  234.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  235. #define ICertEncodeStringArray_AddRef(This)
  236.     (This)->lpVtbl -> AddRef(This)
  237. #define ICertEncodeStringArray_Release(This)
  238.     (This)->lpVtbl -> Release(This)
  239. #define ICertEncodeStringArray_GetTypeInfoCount(This,pctinfo)
  240.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  241. #define ICertEncodeStringArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  242.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  243. #define ICertEncodeStringArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  244.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  245. #define ICertEncodeStringArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  246.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  247. #define ICertEncodeStringArray_Decode(This,strBinary)
  248.     (This)->lpVtbl -> Decode(This,strBinary)
  249. #define ICertEncodeStringArray_GetStringType(This,pStringType)
  250.     (This)->lpVtbl -> GetStringType(This,pStringType)
  251. #define ICertEncodeStringArray_GetCount(This,pCount)
  252.     (This)->lpVtbl -> GetCount(This,pCount)
  253. #define ICertEncodeStringArray_GetValue(This,Index,pstr)
  254.     (This)->lpVtbl -> GetValue(This,Index,pstr)
  255. #define ICertEncodeStringArray_Reset(This,Count,StringType)
  256.     (This)->lpVtbl -> Reset(This,Count,StringType)
  257. #define ICertEncodeStringArray_SetValue(This,Index,str)
  258.     (This)->lpVtbl -> SetValue(This,Index,str)
  259. #define ICertEncodeStringArray_Encode(This,pstrBinary)
  260.     (This)->lpVtbl -> Encode(This,pstrBinary)
  261. #endif /* COBJMACROS */
  262. #endif  /* C style interface */
  263. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_Decode_Proxy( 
  264.     ICertEncodeStringArray * This,
  265.     /* [in] */ const BSTR strBinary);
  266. void __RPC_STUB ICertEncodeStringArray_Decode_Stub(
  267.     IRpcStubBuffer *This,
  268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  269.     PRPC_MESSAGE _pRpcMessage,
  270.     DWORD *_pdwStubPhase);
  271. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_GetStringType_Proxy( 
  272.     ICertEncodeStringArray * This,
  273.     /* [retval][out] */ LONG *pStringType);
  274. void __RPC_STUB ICertEncodeStringArray_GetStringType_Stub(
  275.     IRpcStubBuffer *This,
  276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  277.     PRPC_MESSAGE _pRpcMessage,
  278.     DWORD *_pdwStubPhase);
  279. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_GetCount_Proxy( 
  280.     ICertEncodeStringArray * This,
  281.     /* [retval][out] */ LONG *pCount);
  282. void __RPC_STUB ICertEncodeStringArray_GetCount_Stub(
  283.     IRpcStubBuffer *This,
  284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  285.     PRPC_MESSAGE _pRpcMessage,
  286.     DWORD *_pdwStubPhase);
  287. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_GetValue_Proxy( 
  288.     ICertEncodeStringArray * This,
  289.     /* [in] */ LONG Index,
  290.     /* [retval][out] */ BSTR *pstr);
  291. void __RPC_STUB ICertEncodeStringArray_GetValue_Stub(
  292.     IRpcStubBuffer *This,
  293.     IRpcChannelBuffer *_pRpcChannelBuffer,
  294.     PRPC_MESSAGE _pRpcMessage,
  295.     DWORD *_pdwStubPhase);
  296. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_Reset_Proxy( 
  297.     ICertEncodeStringArray * This,
  298.     /* [in] */ LONG Count,
  299.     /* [in] */ LONG StringType);
  300. void __RPC_STUB ICertEncodeStringArray_Reset_Stub(
  301.     IRpcStubBuffer *This,
  302.     IRpcChannelBuffer *_pRpcChannelBuffer,
  303.     PRPC_MESSAGE _pRpcMessage,
  304.     DWORD *_pdwStubPhase);
  305. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_SetValue_Proxy( 
  306.     ICertEncodeStringArray * This,
  307.     /* [in] */ LONG Index,
  308.     /* [in] */ const BSTR str);
  309. void __RPC_STUB ICertEncodeStringArray_SetValue_Stub(
  310.     IRpcStubBuffer *This,
  311.     IRpcChannelBuffer *_pRpcChannelBuffer,
  312.     PRPC_MESSAGE _pRpcMessage,
  313.     DWORD *_pdwStubPhase);
  314. HRESULT STDMETHODCALLTYPE ICertEncodeStringArray_Encode_Proxy( 
  315.     ICertEncodeStringArray * This,
  316.     /* [retval][out] */ BSTR *pstrBinary);
  317. void __RPC_STUB ICertEncodeStringArray_Encode_Stub(
  318.     IRpcStubBuffer *This,
  319.     IRpcChannelBuffer *_pRpcChannelBuffer,
  320.     PRPC_MESSAGE _pRpcMessage,
  321.     DWORD *_pdwStubPhase);
  322. #endif  /* __ICertEncodeStringArray_INTERFACE_DEFINED__ */
  323. #ifndef __ICertEncodeLongArray_INTERFACE_DEFINED__
  324. #define __ICertEncodeLongArray_INTERFACE_DEFINED__
  325. /* interface ICertEncodeLongArray */
  326. /* [unique][helpstring][dual][uuid][object] */ 
  327. EXTERN_C const IID IID_ICertEncodeLongArray;
  328. #if defined(__cplusplus) && !defined(CINTERFACE)
  329.     
  330.     MIDL_INTERFACE("15e2f230-a0a2-11d0-8821-00a0c903b83c")
  331.     ICertEncodeLongArray : public IDispatch
  332.     {
  333.     public:
  334.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  335.             /* [in] */ const BSTR strBinary) = 0;
  336.         
  337.         virtual HRESULT STDMETHODCALLTYPE GetCount( 
  338.             /* [retval][out] */ LONG *pCount) = 0;
  339.         
  340.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  341.             /* [in] */ LONG Index,
  342.             /* [retval][out] */ LONG *pValue) = 0;
  343.         
  344.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  345.             /* [in] */ LONG Count) = 0;
  346.         
  347.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  348.             /* [in] */ LONG Index,
  349.             /* [in] */ LONG Value) = 0;
  350.         
  351.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  352.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  353.         
  354.     };
  355.     
  356. #else  /* C style interface */
  357.     typedef struct ICertEncodeLongArrayVtbl
  358.     {
  359.         BEGIN_INTERFACE
  360.         
  361.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  362.             ICertEncodeLongArray * This,
  363.             /* [in] */ REFIID riid,
  364.             /* [iid_is][out] */ void **ppvObject);
  365.         
  366.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  367.             ICertEncodeLongArray * This);
  368.         
  369.         ULONG ( STDMETHODCALLTYPE *Release )( 
  370.             ICertEncodeLongArray * This);
  371.         
  372.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  373.             ICertEncodeLongArray * This,
  374.             /* [out] */ UINT *pctinfo);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  377.             ICertEncodeLongArray * This,
  378.             /* [in] */ UINT iTInfo,
  379.             /* [in] */ LCID lcid,
  380.             /* [out] */ ITypeInfo **ppTInfo);
  381.         
  382.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  383.             ICertEncodeLongArray * This,
  384.             /* [in] */ REFIID riid,
  385.             /* [size_is][in] */ LPOLESTR *rgszNames,
  386.             /* [in] */ UINT cNames,
  387.             /* [in] */ LCID lcid,
  388.             /* [size_is][out] */ DISPID *rgDispId);
  389.         
  390.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  391.             ICertEncodeLongArray * This,
  392.             /* [in] */ DISPID dispIdMember,
  393.             /* [in] */ REFIID riid,
  394.             /* [in] */ LCID lcid,
  395.             /* [in] */ WORD wFlags,
  396.             /* [out][in] */ DISPPARAMS *pDispParams,
  397.             /* [out] */ VARIANT *pVarResult,
  398.             /* [out] */ EXCEPINFO *pExcepInfo,
  399.             /* [out] */ UINT *puArgErr);
  400.         
  401.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  402.             ICertEncodeLongArray * This,
  403.             /* [in] */ const BSTR strBinary);
  404.         
  405.         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
  406.             ICertEncodeLongArray * This,
  407.             /* [retval][out] */ LONG *pCount);
  408.         
  409.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  410.             ICertEncodeLongArray * This,
  411.             /* [in] */ LONG Index,
  412.             /* [retval][out] */ LONG *pValue);
  413.         
  414.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  415.             ICertEncodeLongArray * This,
  416.             /* [in] */ LONG Count);
  417.         
  418.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  419.             ICertEncodeLongArray * This,
  420.             /* [in] */ LONG Index,
  421.             /* [in] */ LONG Value);
  422.         
  423.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  424.             ICertEncodeLongArray * This,
  425.             /* [retval][out] */ BSTR *pstrBinary);
  426.         
  427.         END_INTERFACE
  428.     } ICertEncodeLongArrayVtbl;
  429.     interface ICertEncodeLongArray
  430.     {
  431.         CONST_VTBL struct ICertEncodeLongArrayVtbl *lpVtbl;
  432.     };
  433.     
  434. #ifdef COBJMACROS
  435. #define ICertEncodeLongArray_QueryInterface(This,riid,ppvObject)
  436.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  437. #define ICertEncodeLongArray_AddRef(This)
  438.     (This)->lpVtbl -> AddRef(This)
  439. #define ICertEncodeLongArray_Release(This)
  440.     (This)->lpVtbl -> Release(This)
  441. #define ICertEncodeLongArray_GetTypeInfoCount(This,pctinfo)
  442.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  443. #define ICertEncodeLongArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  444.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  445. #define ICertEncodeLongArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  446.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  447. #define ICertEncodeLongArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  448.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  449. #define ICertEncodeLongArray_Decode(This,strBinary)
  450.     (This)->lpVtbl -> Decode(This,strBinary)
  451. #define ICertEncodeLongArray_GetCount(This,pCount)
  452.     (This)->lpVtbl -> GetCount(This,pCount)
  453. #define ICertEncodeLongArray_GetValue(This,Index,pValue)
  454.     (This)->lpVtbl -> GetValue(This,Index,pValue)
  455. #define ICertEncodeLongArray_Reset(This,Count)
  456.     (This)->lpVtbl -> Reset(This,Count)
  457. #define ICertEncodeLongArray_SetValue(This,Index,Value)
  458.     (This)->lpVtbl -> SetValue(This,Index,Value)
  459. #define ICertEncodeLongArray_Encode(This,pstrBinary)
  460.     (This)->lpVtbl -> Encode(This,pstrBinary)
  461. #endif /* COBJMACROS */
  462. #endif  /* C style interface */
  463. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_Decode_Proxy( 
  464.     ICertEncodeLongArray * This,
  465.     /* [in] */ const BSTR strBinary);
  466. void __RPC_STUB ICertEncodeLongArray_Decode_Stub(
  467.     IRpcStubBuffer *This,
  468.     IRpcChannelBuffer *_pRpcChannelBuffer,
  469.     PRPC_MESSAGE _pRpcMessage,
  470.     DWORD *_pdwStubPhase);
  471. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_GetCount_Proxy( 
  472.     ICertEncodeLongArray * This,
  473.     /* [retval][out] */ LONG *pCount);
  474. void __RPC_STUB ICertEncodeLongArray_GetCount_Stub(
  475.     IRpcStubBuffer *This,
  476.     IRpcChannelBuffer *_pRpcChannelBuffer,
  477.     PRPC_MESSAGE _pRpcMessage,
  478.     DWORD *_pdwStubPhase);
  479. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_GetValue_Proxy( 
  480.     ICertEncodeLongArray * This,
  481.     /* [in] */ LONG Index,
  482.     /* [retval][out] */ LONG *pValue);
  483. void __RPC_STUB ICertEncodeLongArray_GetValue_Stub(
  484.     IRpcStubBuffer *This,
  485.     IRpcChannelBuffer *_pRpcChannelBuffer,
  486.     PRPC_MESSAGE _pRpcMessage,
  487.     DWORD *_pdwStubPhase);
  488. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_Reset_Proxy( 
  489.     ICertEncodeLongArray * This,
  490.     /* [in] */ LONG Count);
  491. void __RPC_STUB ICertEncodeLongArray_Reset_Stub(
  492.     IRpcStubBuffer *This,
  493.     IRpcChannelBuffer *_pRpcChannelBuffer,
  494.     PRPC_MESSAGE _pRpcMessage,
  495.     DWORD *_pdwStubPhase);
  496. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_SetValue_Proxy( 
  497.     ICertEncodeLongArray * This,
  498.     /* [in] */ LONG Index,
  499.     /* [in] */ LONG Value);
  500. void __RPC_STUB ICertEncodeLongArray_SetValue_Stub(
  501.     IRpcStubBuffer *This,
  502.     IRpcChannelBuffer *_pRpcChannelBuffer,
  503.     PRPC_MESSAGE _pRpcMessage,
  504.     DWORD *_pdwStubPhase);
  505. HRESULT STDMETHODCALLTYPE ICertEncodeLongArray_Encode_Proxy( 
  506.     ICertEncodeLongArray * This,
  507.     /* [retval][out] */ BSTR *pstrBinary);
  508. void __RPC_STUB ICertEncodeLongArray_Encode_Stub(
  509.     IRpcStubBuffer *This,
  510.     IRpcChannelBuffer *_pRpcChannelBuffer,
  511.     PRPC_MESSAGE _pRpcMessage,
  512.     DWORD *_pdwStubPhase);
  513. #endif  /* __ICertEncodeLongArray_INTERFACE_DEFINED__ */
  514. #ifndef __ICertEncodeDateArray_INTERFACE_DEFINED__
  515. #define __ICertEncodeDateArray_INTERFACE_DEFINED__
  516. /* interface ICertEncodeDateArray */
  517. /* [unique][helpstring][dual][uuid][object] */ 
  518. EXTERN_C const IID IID_ICertEncodeDateArray;
  519. #if defined(__cplusplus) && !defined(CINTERFACE)
  520.     
  521.     MIDL_INTERFACE("2f9469a0-a470-11d0-8821-00a0c903b83c")
  522.     ICertEncodeDateArray : public IDispatch
  523.     {
  524.     public:
  525.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  526.             /* [in] */ const BSTR strBinary) = 0;
  527.         
  528.         virtual HRESULT STDMETHODCALLTYPE GetCount( 
  529.             /* [retval][out] */ LONG *pCount) = 0;
  530.         
  531.         virtual HRESULT STDMETHODCALLTYPE GetValue( 
  532.             /* [in] */ LONG Index,
  533.             /* [retval][out] */ DATE *pValue) = 0;
  534.         
  535.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  536.             /* [in] */ LONG Count) = 0;
  537.         
  538.         virtual HRESULT STDMETHODCALLTYPE SetValue( 
  539.             /* [in] */ LONG Index,
  540.             /* [in] */ DATE Value) = 0;
  541.         
  542.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  543.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  544.         
  545.     };
  546.     
  547. #else  /* C style interface */
  548.     typedef struct ICertEncodeDateArrayVtbl
  549.     {
  550.         BEGIN_INTERFACE
  551.         
  552.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  553.             ICertEncodeDateArray * This,
  554.             /* [in] */ REFIID riid,
  555.             /* [iid_is][out] */ void **ppvObject);
  556.         
  557.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  558.             ICertEncodeDateArray * This);
  559.         
  560.         ULONG ( STDMETHODCALLTYPE *Release )( 
  561.             ICertEncodeDateArray * This);
  562.         
  563.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  564.             ICertEncodeDateArray * This,
  565.             /* [out] */ UINT *pctinfo);
  566.         
  567.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  568.             ICertEncodeDateArray * This,
  569.             /* [in] */ UINT iTInfo,
  570.             /* [in] */ LCID lcid,
  571.             /* [out] */ ITypeInfo **ppTInfo);
  572.         
  573.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  574.             ICertEncodeDateArray * This,
  575.             /* [in] */ REFIID riid,
  576.             /* [size_is][in] */ LPOLESTR *rgszNames,
  577.             /* [in] */ UINT cNames,
  578.             /* [in] */ LCID lcid,
  579.             /* [size_is][out] */ DISPID *rgDispId);
  580.         
  581.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  582.             ICertEncodeDateArray * This,
  583.             /* [in] */ DISPID dispIdMember,
  584.             /* [in] */ REFIID riid,
  585.             /* [in] */ LCID lcid,
  586.             /* [in] */ WORD wFlags,
  587.             /* [out][in] */ DISPPARAMS *pDispParams,
  588.             /* [out] */ VARIANT *pVarResult,
  589.             /* [out] */ EXCEPINFO *pExcepInfo,
  590.             /* [out] */ UINT *puArgErr);
  591.         
  592.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  593.             ICertEncodeDateArray * This,
  594.             /* [in] */ const BSTR strBinary);
  595.         
  596.         HRESULT ( STDMETHODCALLTYPE *GetCount )( 
  597.             ICertEncodeDateArray * This,
  598.             /* [retval][out] */ LONG *pCount);
  599.         
  600.         HRESULT ( STDMETHODCALLTYPE *GetValue )( 
  601.             ICertEncodeDateArray * This,
  602.             /* [in] */ LONG Index,
  603.             /* [retval][out] */ DATE *pValue);
  604.         
  605.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  606.             ICertEncodeDateArray * This,
  607.             /* [in] */ LONG Count);
  608.         
  609.         HRESULT ( STDMETHODCALLTYPE *SetValue )( 
  610.             ICertEncodeDateArray * This,
  611.             /* [in] */ LONG Index,
  612.             /* [in] */ DATE Value);
  613.         
  614.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  615.             ICertEncodeDateArray * This,
  616.             /* [retval][out] */ BSTR *pstrBinary);
  617.         
  618.         END_INTERFACE
  619.     } ICertEncodeDateArrayVtbl;
  620.     interface ICertEncodeDateArray
  621.     {
  622.         CONST_VTBL struct ICertEncodeDateArrayVtbl *lpVtbl;
  623.     };
  624.     
  625. #ifdef COBJMACROS
  626. #define ICertEncodeDateArray_QueryInterface(This,riid,ppvObject)
  627.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  628. #define ICertEncodeDateArray_AddRef(This)
  629.     (This)->lpVtbl -> AddRef(This)
  630. #define ICertEncodeDateArray_Release(This)
  631.     (This)->lpVtbl -> Release(This)
  632. #define ICertEncodeDateArray_GetTypeInfoCount(This,pctinfo)
  633.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  634. #define ICertEncodeDateArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  635.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  636. #define ICertEncodeDateArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  637.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  638. #define ICertEncodeDateArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  639.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  640. #define ICertEncodeDateArray_Decode(This,strBinary)
  641.     (This)->lpVtbl -> Decode(This,strBinary)
  642. #define ICertEncodeDateArray_GetCount(This,pCount)
  643.     (This)->lpVtbl -> GetCount(This,pCount)
  644. #define ICertEncodeDateArray_GetValue(This,Index,pValue)
  645.     (This)->lpVtbl -> GetValue(This,Index,pValue)
  646. #define ICertEncodeDateArray_Reset(This,Count)
  647.     (This)->lpVtbl -> Reset(This,Count)
  648. #define ICertEncodeDateArray_SetValue(This,Index,Value)
  649.     (This)->lpVtbl -> SetValue(This,Index,Value)
  650. #define ICertEncodeDateArray_Encode(This,pstrBinary)
  651.     (This)->lpVtbl -> Encode(This,pstrBinary)
  652. #endif /* COBJMACROS */
  653. #endif  /* C style interface */
  654. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_Decode_Proxy( 
  655.     ICertEncodeDateArray * This,
  656.     /* [in] */ const BSTR strBinary);
  657. void __RPC_STUB ICertEncodeDateArray_Decode_Stub(
  658.     IRpcStubBuffer *This,
  659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  660.     PRPC_MESSAGE _pRpcMessage,
  661.     DWORD *_pdwStubPhase);
  662. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_GetCount_Proxy( 
  663.     ICertEncodeDateArray * This,
  664.     /* [retval][out] */ LONG *pCount);
  665. void __RPC_STUB ICertEncodeDateArray_GetCount_Stub(
  666.     IRpcStubBuffer *This,
  667.     IRpcChannelBuffer *_pRpcChannelBuffer,
  668.     PRPC_MESSAGE _pRpcMessage,
  669.     DWORD *_pdwStubPhase);
  670. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_GetValue_Proxy( 
  671.     ICertEncodeDateArray * This,
  672.     /* [in] */ LONG Index,
  673.     /* [retval][out] */ DATE *pValue);
  674. void __RPC_STUB ICertEncodeDateArray_GetValue_Stub(
  675.     IRpcStubBuffer *This,
  676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  677.     PRPC_MESSAGE _pRpcMessage,
  678.     DWORD *_pdwStubPhase);
  679. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_Reset_Proxy( 
  680.     ICertEncodeDateArray * This,
  681.     /* [in] */ LONG Count);
  682. void __RPC_STUB ICertEncodeDateArray_Reset_Stub(
  683.     IRpcStubBuffer *This,
  684.     IRpcChannelBuffer *_pRpcChannelBuffer,
  685.     PRPC_MESSAGE _pRpcMessage,
  686.     DWORD *_pdwStubPhase);
  687. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_SetValue_Proxy( 
  688.     ICertEncodeDateArray * This,
  689.     /* [in] */ LONG Index,
  690.     /* [in] */ DATE Value);
  691. void __RPC_STUB ICertEncodeDateArray_SetValue_Stub(
  692.     IRpcStubBuffer *This,
  693.     IRpcChannelBuffer *_pRpcChannelBuffer,
  694.     PRPC_MESSAGE _pRpcMessage,
  695.     DWORD *_pdwStubPhase);
  696. HRESULT STDMETHODCALLTYPE ICertEncodeDateArray_Encode_Proxy( 
  697.     ICertEncodeDateArray * This,
  698.     /* [retval][out] */ BSTR *pstrBinary);
  699. void __RPC_STUB ICertEncodeDateArray_Encode_Stub(
  700.     IRpcStubBuffer *This,
  701.     IRpcChannelBuffer *_pRpcChannelBuffer,
  702.     PRPC_MESSAGE _pRpcMessage,
  703.     DWORD *_pdwStubPhase);
  704. #endif  /* __ICertEncodeDateArray_INTERFACE_DEFINED__ */
  705. #ifndef __ICertEncodeCRLDistInfo_INTERFACE_DEFINED__
  706. #define __ICertEncodeCRLDistInfo_INTERFACE_DEFINED__
  707. /* interface ICertEncodeCRLDistInfo */
  708. /* [unique][helpstring][dual][uuid][object] */ 
  709. EXTERN_C const IID IID_ICertEncodeCRLDistInfo;
  710. #if defined(__cplusplus) && !defined(CINTERFACE)
  711.     
  712.     MIDL_INTERFACE("01958640-bbff-11d0-8825-00a0c903b83c")
  713.     ICertEncodeCRLDistInfo : public IDispatch
  714.     {
  715.     public:
  716.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  717.             /* [in] */ const BSTR strBinary) = 0;
  718.         
  719.         virtual HRESULT STDMETHODCALLTYPE GetDistPointCount( 
  720.             /* [retval][out] */ LONG *pDistPointCount) = 0;
  721.         
  722.         virtual HRESULT STDMETHODCALLTYPE GetNameCount( 
  723.             /* [in] */ LONG DistPointIndex,
  724.             /* [retval][out] */ LONG *pNameCount) = 0;
  725.         
  726.         virtual HRESULT STDMETHODCALLTYPE GetNameChoice( 
  727.             /* [in] */ LONG DistPointIndex,
  728.             /* [in] */ LONG NameIndex,
  729.             /* [retval][out] */ LONG *pNameChoice) = 0;
  730.         
  731.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  732.             /* [in] */ LONG DistPointIndex,
  733.             /* [in] */ LONG NameIndex,
  734.             /* [retval][out] */ BSTR *pstrName) = 0;
  735.         
  736.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  737.             /* [in] */ LONG DistPointCount) = 0;
  738.         
  739.         virtual HRESULT STDMETHODCALLTYPE SetNameCount( 
  740.             /* [in] */ LONG DistPointIndex,
  741.             /* [in] */ LONG NameCount) = 0;
  742.         
  743.         virtual HRESULT STDMETHODCALLTYPE SetNameEntry( 
  744.             /* [in] */ LONG DistPointIndex,
  745.             /* [in] */ LONG NameIndex,
  746.             /* [in] */ LONG NameChoice,
  747.             /* [in] */ const BSTR strName) = 0;
  748.         
  749.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  750.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  751.         
  752.     };
  753.     
  754. #else  /* C style interface */
  755.     typedef struct ICertEncodeCRLDistInfoVtbl
  756.     {
  757.         BEGIN_INTERFACE
  758.         
  759.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  760.             ICertEncodeCRLDistInfo * This,
  761.             /* [in] */ REFIID riid,
  762.             /* [iid_is][out] */ void **ppvObject);
  763.         
  764.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  765.             ICertEncodeCRLDistInfo * This);
  766.         
  767.         ULONG ( STDMETHODCALLTYPE *Release )( 
  768.             ICertEncodeCRLDistInfo * This);
  769.         
  770.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  771.             ICertEncodeCRLDistInfo * This,
  772.             /* [out] */ UINT *pctinfo);
  773.         
  774.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  775.             ICertEncodeCRLDistInfo * This,
  776.             /* [in] */ UINT iTInfo,
  777.             /* [in] */ LCID lcid,
  778.             /* [out] */ ITypeInfo **ppTInfo);
  779.         
  780.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  781.             ICertEncodeCRLDistInfo * This,
  782.             /* [in] */ REFIID riid,
  783.             /* [size_is][in] */ LPOLESTR *rgszNames,
  784.             /* [in] */ UINT cNames,
  785.             /* [in] */ LCID lcid,
  786.             /* [size_is][out] */ DISPID *rgDispId);
  787.         
  788.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  789.             ICertEncodeCRLDistInfo * This,
  790.             /* [in] */ DISPID dispIdMember,
  791.             /* [in] */ REFIID riid,
  792.             /* [in] */ LCID lcid,
  793.             /* [in] */ WORD wFlags,
  794.             /* [out][in] */ DISPPARAMS *pDispParams,
  795.             /* [out] */ VARIANT *pVarResult,
  796.             /* [out] */ EXCEPINFO *pExcepInfo,
  797.             /* [out] */ UINT *puArgErr);
  798.         
  799.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  800.             ICertEncodeCRLDistInfo * This,
  801.             /* [in] */ const BSTR strBinary);
  802.         
  803.         HRESULT ( STDMETHODCALLTYPE *GetDistPointCount )( 
  804.             ICertEncodeCRLDistInfo * This,
  805.             /* [retval][out] */ LONG *pDistPointCount);
  806.         
  807.         HRESULT ( STDMETHODCALLTYPE *GetNameCount )( 
  808.             ICertEncodeCRLDistInfo * This,
  809.             /* [in] */ LONG DistPointIndex,
  810.             /* [retval][out] */ LONG *pNameCount);
  811.         
  812.         HRESULT ( STDMETHODCALLTYPE *GetNameChoice )( 
  813.             ICertEncodeCRLDistInfo * This,
  814.             /* [in] */ LONG DistPointIndex,
  815.             /* [in] */ LONG NameIndex,
  816.             /* [retval][out] */ LONG *pNameChoice);
  817.         
  818.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  819.             ICertEncodeCRLDistInfo * This,
  820.             /* [in] */ LONG DistPointIndex,
  821.             /* [in] */ LONG NameIndex,
  822.             /* [retval][out] */ BSTR *pstrName);
  823.         
  824.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  825.             ICertEncodeCRLDistInfo * This,
  826.             /* [in] */ LONG DistPointCount);
  827.         
  828.         HRESULT ( STDMETHODCALLTYPE *SetNameCount )( 
  829.             ICertEncodeCRLDistInfo * This,
  830.             /* [in] */ LONG DistPointIndex,
  831.             /* [in] */ LONG NameCount);
  832.         
  833.         HRESULT ( STDMETHODCALLTYPE *SetNameEntry )( 
  834.             ICertEncodeCRLDistInfo * This,
  835.             /* [in] */ LONG DistPointIndex,
  836.             /* [in] */ LONG NameIndex,
  837.             /* [in] */ LONG NameChoice,
  838.             /* [in] */ const BSTR strName);
  839.         
  840.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  841.             ICertEncodeCRLDistInfo * This,
  842.             /* [retval][out] */ BSTR *pstrBinary);
  843.         
  844.         END_INTERFACE
  845.     } ICertEncodeCRLDistInfoVtbl;
  846.     interface ICertEncodeCRLDistInfo
  847.     {
  848.         CONST_VTBL struct ICertEncodeCRLDistInfoVtbl *lpVtbl;
  849.     };
  850.     
  851. #ifdef COBJMACROS
  852. #define ICertEncodeCRLDistInfo_QueryInterface(This,riid,ppvObject)
  853.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  854. #define ICertEncodeCRLDistInfo_AddRef(This)
  855.     (This)->lpVtbl -> AddRef(This)
  856. #define ICertEncodeCRLDistInfo_Release(This)
  857.     (This)->lpVtbl -> Release(This)
  858. #define ICertEncodeCRLDistInfo_GetTypeInfoCount(This,pctinfo)
  859.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  860. #define ICertEncodeCRLDistInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  861.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  862. #define ICertEncodeCRLDistInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  863.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  864. #define ICertEncodeCRLDistInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  865.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  866. #define ICertEncodeCRLDistInfo_Decode(This,strBinary)
  867.     (This)->lpVtbl -> Decode(This,strBinary)
  868. #define ICertEncodeCRLDistInfo_GetDistPointCount(This,pDistPointCount)
  869.     (This)->lpVtbl -> GetDistPointCount(This,pDistPointCount)
  870. #define ICertEncodeCRLDistInfo_GetNameCount(This,DistPointIndex,pNameCount)
  871.     (This)->lpVtbl -> GetNameCount(This,DistPointIndex,pNameCount)
  872. #define ICertEncodeCRLDistInfo_GetNameChoice(This,DistPointIndex,NameIndex,pNameChoice)
  873.     (This)->lpVtbl -> GetNameChoice(This,DistPointIndex,NameIndex,pNameChoice)
  874. #define ICertEncodeCRLDistInfo_GetName(This,DistPointIndex,NameIndex,pstrName)
  875.     (This)->lpVtbl -> GetName(This,DistPointIndex,NameIndex,pstrName)
  876. #define ICertEncodeCRLDistInfo_Reset(This,DistPointCount)
  877.     (This)->lpVtbl -> Reset(This,DistPointCount)
  878. #define ICertEncodeCRLDistInfo_SetNameCount(This,DistPointIndex,NameCount)
  879.     (This)->lpVtbl -> SetNameCount(This,DistPointIndex,NameCount)
  880. #define ICertEncodeCRLDistInfo_SetNameEntry(This,DistPointIndex,NameIndex,NameChoice,strName)
  881.     (This)->lpVtbl -> SetNameEntry(This,DistPointIndex,NameIndex,NameChoice,strName)
  882. #define ICertEncodeCRLDistInfo_Encode(This,pstrBinary)
  883.     (This)->lpVtbl -> Encode(This,pstrBinary)
  884. #endif /* COBJMACROS */
  885. #endif  /* C style interface */
  886. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_Decode_Proxy( 
  887.     ICertEncodeCRLDistInfo * This,
  888.     /* [in] */ const BSTR strBinary);
  889. void __RPC_STUB ICertEncodeCRLDistInfo_Decode_Stub(
  890.     IRpcStubBuffer *This,
  891.     IRpcChannelBuffer *_pRpcChannelBuffer,
  892.     PRPC_MESSAGE _pRpcMessage,
  893.     DWORD *_pdwStubPhase);
  894. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_GetDistPointCount_Proxy( 
  895.     ICertEncodeCRLDistInfo * This,
  896.     /* [retval][out] */ LONG *pDistPointCount);
  897. void __RPC_STUB ICertEncodeCRLDistInfo_GetDistPointCount_Stub(
  898.     IRpcStubBuffer *This,
  899.     IRpcChannelBuffer *_pRpcChannelBuffer,
  900.     PRPC_MESSAGE _pRpcMessage,
  901.     DWORD *_pdwStubPhase);
  902. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_GetNameCount_Proxy( 
  903.     ICertEncodeCRLDistInfo * This,
  904.     /* [in] */ LONG DistPointIndex,
  905.     /* [retval][out] */ LONG *pNameCount);
  906. void __RPC_STUB ICertEncodeCRLDistInfo_GetNameCount_Stub(
  907.     IRpcStubBuffer *This,
  908.     IRpcChannelBuffer *_pRpcChannelBuffer,
  909.     PRPC_MESSAGE _pRpcMessage,
  910.     DWORD *_pdwStubPhase);
  911. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_GetNameChoice_Proxy( 
  912.     ICertEncodeCRLDistInfo * This,
  913.     /* [in] */ LONG DistPointIndex,
  914.     /* [in] */ LONG NameIndex,
  915.     /* [retval][out] */ LONG *pNameChoice);
  916. void __RPC_STUB ICertEncodeCRLDistInfo_GetNameChoice_Stub(
  917.     IRpcStubBuffer *This,
  918.     IRpcChannelBuffer *_pRpcChannelBuffer,
  919.     PRPC_MESSAGE _pRpcMessage,
  920.     DWORD *_pdwStubPhase);
  921. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_GetName_Proxy( 
  922.     ICertEncodeCRLDistInfo * This,
  923.     /* [in] */ LONG DistPointIndex,
  924.     /* [in] */ LONG NameIndex,
  925.     /* [retval][out] */ BSTR *pstrName);
  926. void __RPC_STUB ICertEncodeCRLDistInfo_GetName_Stub(
  927.     IRpcStubBuffer *This,
  928.     IRpcChannelBuffer *_pRpcChannelBuffer,
  929.     PRPC_MESSAGE _pRpcMessage,
  930.     DWORD *_pdwStubPhase);
  931. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_Reset_Proxy( 
  932.     ICertEncodeCRLDistInfo * This,
  933.     /* [in] */ LONG DistPointCount);
  934. void __RPC_STUB ICertEncodeCRLDistInfo_Reset_Stub(
  935.     IRpcStubBuffer *This,
  936.     IRpcChannelBuffer *_pRpcChannelBuffer,
  937.     PRPC_MESSAGE _pRpcMessage,
  938.     DWORD *_pdwStubPhase);
  939. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_SetNameCount_Proxy( 
  940.     ICertEncodeCRLDistInfo * This,
  941.     /* [in] */ LONG DistPointIndex,
  942.     /* [in] */ LONG NameCount);
  943. void __RPC_STUB ICertEncodeCRLDistInfo_SetNameCount_Stub(
  944.     IRpcStubBuffer *This,
  945.     IRpcChannelBuffer *_pRpcChannelBuffer,
  946.     PRPC_MESSAGE _pRpcMessage,
  947.     DWORD *_pdwStubPhase);
  948. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_SetNameEntry_Proxy( 
  949.     ICertEncodeCRLDistInfo * This,
  950.     /* [in] */ LONG DistPointIndex,
  951.     /* [in] */ LONG NameIndex,
  952.     /* [in] */ LONG NameChoice,
  953.     /* [in] */ const BSTR strName);
  954. void __RPC_STUB ICertEncodeCRLDistInfo_SetNameEntry_Stub(
  955.     IRpcStubBuffer *This,
  956.     IRpcChannelBuffer *_pRpcChannelBuffer,
  957.     PRPC_MESSAGE _pRpcMessage,
  958.     DWORD *_pdwStubPhase);
  959. HRESULT STDMETHODCALLTYPE ICertEncodeCRLDistInfo_Encode_Proxy( 
  960.     ICertEncodeCRLDistInfo * This,
  961.     /* [retval][out] */ BSTR *pstrBinary);
  962. void __RPC_STUB ICertEncodeCRLDistInfo_Encode_Stub(
  963.     IRpcStubBuffer *This,
  964.     IRpcChannelBuffer *_pRpcChannelBuffer,
  965.     PRPC_MESSAGE _pRpcMessage,
  966.     DWORD *_pdwStubPhase);
  967. #endif  /* __ICertEncodeCRLDistInfo_INTERFACE_DEFINED__ */
  968. /* interface __MIDL_itf_certenc_0117 */
  969. /* [local] */ 
  970. #define EAN_NAMEOBJECTID ( 0x80000000 )
  971. extern RPC_IF_HANDLE __MIDL_itf_certenc_0117_v0_0_c_ifspec;
  972. extern RPC_IF_HANDLE __MIDL_itf_certenc_0117_v0_0_s_ifspec;
  973. #ifndef __ICertEncodeAltName_INTERFACE_DEFINED__
  974. #define __ICertEncodeAltName_INTERFACE_DEFINED__
  975. /* interface ICertEncodeAltName */
  976. /* [unique][helpstring][dual][uuid][object] */ 
  977. EXTERN_C const IID IID_ICertEncodeAltName;
  978. #if defined(__cplusplus) && !defined(CINTERFACE)
  979.     
  980.     MIDL_INTERFACE("1c9a8c70-1271-11d1-9bd4-00c04fb683fa")
  981.     ICertEncodeAltName : public IDispatch
  982.     {
  983.     public:
  984.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  985.             /* [in] */ const BSTR strBinary) = 0;
  986.         
  987.         virtual HRESULT STDMETHODCALLTYPE GetNameCount( 
  988.             /* [retval][out] */ LONG *pNameCount) = 0;
  989.         
  990.         virtual HRESULT STDMETHODCALLTYPE GetNameChoice( 
  991.             /* [in] */ LONG NameIndex,
  992.             /* [retval][out] */ LONG *pNameChoice) = 0;
  993.         
  994.         virtual HRESULT STDMETHODCALLTYPE GetName( 
  995.             /* [in] */ LONG NameIndex,
  996.             /* [retval][out] */ BSTR *pstrName) = 0;
  997.         
  998.         virtual HRESULT STDMETHODCALLTYPE Reset( 
  999.             /* [in] */ LONG NameCount) = 0;
  1000.         
  1001.         virtual HRESULT STDMETHODCALLTYPE SetNameEntry( 
  1002.             /* [in] */ LONG NameIndex,
  1003.             /* [in] */ LONG NameChoice,
  1004.             /* [in] */ const BSTR strName) = 0;
  1005.         
  1006.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  1007.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  1008.         
  1009.     };
  1010.     
  1011. #else  /* C style interface */
  1012.     typedef struct ICertEncodeAltNameVtbl
  1013.     {
  1014.         BEGIN_INTERFACE
  1015.         
  1016.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1017.             ICertEncodeAltName * This,
  1018.             /* [in] */ REFIID riid,
  1019.             /* [iid_is][out] */ void **ppvObject);
  1020.         
  1021.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1022.             ICertEncodeAltName * This);
  1023.         
  1024.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1025.             ICertEncodeAltName * This);
  1026.         
  1027.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1028.             ICertEncodeAltName * This,
  1029.             /* [out] */ UINT *pctinfo);
  1030.         
  1031.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1032.             ICertEncodeAltName * This,
  1033.             /* [in] */ UINT iTInfo,
  1034.             /* [in] */ LCID lcid,
  1035.             /* [out] */ ITypeInfo **ppTInfo);
  1036.         
  1037.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1038.             ICertEncodeAltName * This,
  1039.             /* [in] */ REFIID riid,
  1040.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1041.             /* [in] */ UINT cNames,
  1042.             /* [in] */ LCID lcid,
  1043.             /* [size_is][out] */ DISPID *rgDispId);
  1044.         
  1045.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1046.             ICertEncodeAltName * This,
  1047.             /* [in] */ DISPID dispIdMember,
  1048.             /* [in] */ REFIID riid,
  1049.             /* [in] */ LCID lcid,
  1050.             /* [in] */ WORD wFlags,
  1051.             /* [out][in] */ DISPPARAMS *pDispParams,
  1052.             /* [out] */ VARIANT *pVarResult,
  1053.             /* [out] */ EXCEPINFO *pExcepInfo,
  1054.             /* [out] */ UINT *puArgErr);
  1055.         
  1056.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  1057.             ICertEncodeAltName * This,
  1058.             /* [in] */ const BSTR strBinary);
  1059.         
  1060.         HRESULT ( STDMETHODCALLTYPE *GetNameCount )( 
  1061.             ICertEncodeAltName * This,
  1062.             /* [retval][out] */ LONG *pNameCount);
  1063.         
  1064.         HRESULT ( STDMETHODCALLTYPE *GetNameChoice )( 
  1065.             ICertEncodeAltName * This,
  1066.             /* [in] */ LONG NameIndex,
  1067.             /* [retval][out] */ LONG *pNameChoice);
  1068.         
  1069.         HRESULT ( STDMETHODCALLTYPE *GetName )( 
  1070.             ICertEncodeAltName * This,
  1071.             /* [in] */ LONG NameIndex,
  1072.             /* [retval][out] */ BSTR *pstrName);
  1073.         
  1074.         HRESULT ( STDMETHODCALLTYPE *Reset )( 
  1075.             ICertEncodeAltName * This,
  1076.             /* [in] */ LONG NameCount);
  1077.         
  1078.         HRESULT ( STDMETHODCALLTYPE *SetNameEntry )( 
  1079.             ICertEncodeAltName * This,
  1080.             /* [in] */ LONG NameIndex,
  1081.             /* [in] */ LONG NameChoice,
  1082.             /* [in] */ const BSTR strName);
  1083.         
  1084.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  1085.             ICertEncodeAltName * This,
  1086.             /* [retval][out] */ BSTR *pstrBinary);
  1087.         
  1088.         END_INTERFACE
  1089.     } ICertEncodeAltNameVtbl;
  1090.     interface ICertEncodeAltName
  1091.     {
  1092.         CONST_VTBL struct ICertEncodeAltNameVtbl *lpVtbl;
  1093.     };
  1094.     
  1095. #ifdef COBJMACROS
  1096. #define ICertEncodeAltName_QueryInterface(This,riid,ppvObject)
  1097.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1098. #define ICertEncodeAltName_AddRef(This)
  1099.     (This)->lpVtbl -> AddRef(This)
  1100. #define ICertEncodeAltName_Release(This)
  1101.     (This)->lpVtbl -> Release(This)
  1102. #define ICertEncodeAltName_GetTypeInfoCount(This,pctinfo)
  1103.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1104. #define ICertEncodeAltName_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1105.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1106. #define ICertEncodeAltName_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1107.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1108. #define ICertEncodeAltName_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1109.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1110. #define ICertEncodeAltName_Decode(This,strBinary)
  1111.     (This)->lpVtbl -> Decode(This,strBinary)
  1112. #define ICertEncodeAltName_GetNameCount(This,pNameCount)
  1113.     (This)->lpVtbl -> GetNameCount(This,pNameCount)
  1114. #define ICertEncodeAltName_GetNameChoice(This,NameIndex,pNameChoice)
  1115.     (This)->lpVtbl -> GetNameChoice(This,NameIndex,pNameChoice)
  1116. #define ICertEncodeAltName_GetName(This,NameIndex,pstrName)
  1117.     (This)->lpVtbl -> GetName(This,NameIndex,pstrName)
  1118. #define ICertEncodeAltName_Reset(This,NameCount)
  1119.     (This)->lpVtbl -> Reset(This,NameCount)
  1120. #define ICertEncodeAltName_SetNameEntry(This,NameIndex,NameChoice,strName)
  1121.     (This)->lpVtbl -> SetNameEntry(This,NameIndex,NameChoice,strName)
  1122. #define ICertEncodeAltName_Encode(This,pstrBinary)
  1123.     (This)->lpVtbl -> Encode(This,pstrBinary)
  1124. #endif /* COBJMACROS */
  1125. #endif  /* C style interface */
  1126. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_Decode_Proxy( 
  1127.     ICertEncodeAltName * This,
  1128.     /* [in] */ const BSTR strBinary);
  1129. void __RPC_STUB ICertEncodeAltName_Decode_Stub(
  1130.     IRpcStubBuffer *This,
  1131.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1132.     PRPC_MESSAGE _pRpcMessage,
  1133.     DWORD *_pdwStubPhase);
  1134. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_GetNameCount_Proxy( 
  1135.     ICertEncodeAltName * This,
  1136.     /* [retval][out] */ LONG *pNameCount);
  1137. void __RPC_STUB ICertEncodeAltName_GetNameCount_Stub(
  1138.     IRpcStubBuffer *This,
  1139.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1140.     PRPC_MESSAGE _pRpcMessage,
  1141.     DWORD *_pdwStubPhase);
  1142. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_GetNameChoice_Proxy( 
  1143.     ICertEncodeAltName * This,
  1144.     /* [in] */ LONG NameIndex,
  1145.     /* [retval][out] */ LONG *pNameChoice);
  1146. void __RPC_STUB ICertEncodeAltName_GetNameChoice_Stub(
  1147.     IRpcStubBuffer *This,
  1148.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1149.     PRPC_MESSAGE _pRpcMessage,
  1150.     DWORD *_pdwStubPhase);
  1151. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_GetName_Proxy( 
  1152.     ICertEncodeAltName * This,
  1153.     /* [in] */ LONG NameIndex,
  1154.     /* [retval][out] */ BSTR *pstrName);
  1155. void __RPC_STUB ICertEncodeAltName_GetName_Stub(
  1156.     IRpcStubBuffer *This,
  1157.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1158.     PRPC_MESSAGE _pRpcMessage,
  1159.     DWORD *_pdwStubPhase);
  1160. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_Reset_Proxy( 
  1161.     ICertEncodeAltName * This,
  1162.     /* [in] */ LONG NameCount);
  1163. void __RPC_STUB ICertEncodeAltName_Reset_Stub(
  1164.     IRpcStubBuffer *This,
  1165.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1166.     PRPC_MESSAGE _pRpcMessage,
  1167.     DWORD *_pdwStubPhase);
  1168. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_SetNameEntry_Proxy( 
  1169.     ICertEncodeAltName * This,
  1170.     /* [in] */ LONG NameIndex,
  1171.     /* [in] */ LONG NameChoice,
  1172.     /* [in] */ const BSTR strName);
  1173. void __RPC_STUB ICertEncodeAltName_SetNameEntry_Stub(
  1174.     IRpcStubBuffer *This,
  1175.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1176.     PRPC_MESSAGE _pRpcMessage,
  1177.     DWORD *_pdwStubPhase);
  1178. HRESULT STDMETHODCALLTYPE ICertEncodeAltName_Encode_Proxy( 
  1179.     ICertEncodeAltName * This,
  1180.     /* [retval][out] */ BSTR *pstrBinary);
  1181. void __RPC_STUB ICertEncodeAltName_Encode_Stub(
  1182.     IRpcStubBuffer *This,
  1183.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1184.     PRPC_MESSAGE _pRpcMessage,
  1185.     DWORD *_pdwStubPhase);
  1186. #endif  /* __ICertEncodeAltName_INTERFACE_DEFINED__ */
  1187. #ifndef __ICertEncodeBitString_INTERFACE_DEFINED__
  1188. #define __ICertEncodeBitString_INTERFACE_DEFINED__
  1189. /* interface ICertEncodeBitString */
  1190. /* [unique][helpstring][dual][uuid][object] */ 
  1191. EXTERN_C const IID IID_ICertEncodeBitString;
  1192. #if defined(__cplusplus) && !defined(CINTERFACE)
  1193.     
  1194.     MIDL_INTERFACE("6db525be-1278-11d1-9bd4-00c04fb683fa")
  1195.     ICertEncodeBitString : public IDispatch
  1196.     {
  1197.     public:
  1198.         virtual HRESULT STDMETHODCALLTYPE Decode( 
  1199.             /* [in] */ const BSTR strBinary) = 0;
  1200.         
  1201.         virtual HRESULT STDMETHODCALLTYPE GetBitCount( 
  1202.             /* [retval][out] */ LONG *pBitCount) = 0;
  1203.         
  1204.         virtual HRESULT STDMETHODCALLTYPE GetBitString( 
  1205.             /* [retval][out] */ BSTR *pstrBitString) = 0;
  1206.         
  1207.         virtual HRESULT STDMETHODCALLTYPE Encode( 
  1208.             /* [in] */ LONG BitCount,
  1209.             /* [in] */ BSTR strBitString,
  1210.             /* [retval][out] */ BSTR *pstrBinary) = 0;
  1211.         
  1212.     };
  1213.     
  1214. #else  /* C style interface */
  1215.     typedef struct ICertEncodeBitStringVtbl
  1216.     {
  1217.         BEGIN_INTERFACE
  1218.         
  1219.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1220.             ICertEncodeBitString * This,
  1221.             /* [in] */ REFIID riid,
  1222.             /* [iid_is][out] */ void **ppvObject);
  1223.         
  1224.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1225.             ICertEncodeBitString * This);
  1226.         
  1227.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1228.             ICertEncodeBitString * This);
  1229.         
  1230.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1231.             ICertEncodeBitString * This,
  1232.             /* [out] */ UINT *pctinfo);
  1233.         
  1234.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1235.             ICertEncodeBitString * This,
  1236.             /* [in] */ UINT iTInfo,
  1237.             /* [in] */ LCID lcid,
  1238.             /* [out] */ ITypeInfo **ppTInfo);
  1239.         
  1240.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1241.             ICertEncodeBitString * This,
  1242.             /* [in] */ REFIID riid,
  1243.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1244.             /* [in] */ UINT cNames,
  1245.             /* [in] */ LCID lcid,
  1246.             /* [size_is][out] */ DISPID *rgDispId);
  1247.         
  1248.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1249.             ICertEncodeBitString * This,
  1250.             /* [in] */ DISPID dispIdMember,
  1251.             /* [in] */ REFIID riid,
  1252.             /* [in] */ LCID lcid,
  1253.             /* [in] */ WORD wFlags,
  1254.             /* [out][in] */ DISPPARAMS *pDispParams,
  1255.             /* [out] */ VARIANT *pVarResult,
  1256.             /* [out] */ EXCEPINFO *pExcepInfo,
  1257.             /* [out] */ UINT *puArgErr);
  1258.         
  1259.         HRESULT ( STDMETHODCALLTYPE *Decode )( 
  1260.             ICertEncodeBitString * This,
  1261.             /* [in] */ const BSTR strBinary);
  1262.         
  1263.         HRESULT ( STDMETHODCALLTYPE *GetBitCount )( 
  1264.             ICertEncodeBitString * This,
  1265.             /* [retval][out] */ LONG *pBitCount);
  1266.         
  1267.         HRESULT ( STDMETHODCALLTYPE *GetBitString )( 
  1268.             ICertEncodeBitString * This,
  1269.             /* [retval][out] */ BSTR *pstrBitString);
  1270.         
  1271.         HRESULT ( STDMETHODCALLTYPE *Encode )( 
  1272.             ICertEncodeBitString * This,
  1273.             /* [in] */ LONG BitCount,
  1274.             /* [in] */ BSTR strBitString,
  1275.             /* [retval][out] */ BSTR *pstrBinary);
  1276.         
  1277.         END_INTERFACE
  1278.     } ICertEncodeBitStringVtbl;
  1279.     interface ICertEncodeBitString
  1280.     {
  1281.         CONST_VTBL struct ICertEncodeBitStringVtbl *lpVtbl;
  1282.     };
  1283.     
  1284. #ifdef COBJMACROS
  1285. #define ICertEncodeBitString_QueryInterface(This,riid,ppvObject)
  1286.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1287. #define ICertEncodeBitString_AddRef(This)
  1288.     (This)->lpVtbl -> AddRef(This)
  1289. #define ICertEncodeBitString_Release(This)
  1290.     (This)->lpVtbl -> Release(This)
  1291. #define ICertEncodeBitString_GetTypeInfoCount(This,pctinfo)
  1292.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1293. #define ICertEncodeBitString_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1294.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1295. #define ICertEncodeBitString_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1296.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1297. #define ICertEncodeBitString_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1298.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1299. #define ICertEncodeBitString_Decode(This,strBinary)
  1300.     (This)->lpVtbl -> Decode(This,strBinary)
  1301. #define ICertEncodeBitString_GetBitCount(This,pBitCount)
  1302.     (This)->lpVtbl -> GetBitCount(This,pBitCount)
  1303. #define ICertEncodeBitString_GetBitString(This,pstrBitString)
  1304.     (This)->lpVtbl -> GetBitString(This,pstrBitString)
  1305. #define ICertEncodeBitString_Encode(This,BitCount,strBitString,pstrBinary)
  1306.     (This)->lpVtbl -> Encode(This,BitCount,strBitString,pstrBinary)
  1307. #endif /* COBJMACROS */
  1308. #endif  /* C style interface */
  1309. HRESULT STDMETHODCALLTYPE ICertEncodeBitString_Decode_Proxy( 
  1310.     ICertEncodeBitString * This,
  1311.     /* [in] */ const BSTR strBinary);
  1312. void __RPC_STUB ICertEncodeBitString_Decode_Stub(
  1313.     IRpcStubBuffer *This,
  1314.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1315.     PRPC_MESSAGE _pRpcMessage,
  1316.     DWORD *_pdwStubPhase);
  1317. HRESULT STDMETHODCALLTYPE ICertEncodeBitString_GetBitCount_Proxy( 
  1318.     ICertEncodeBitString * This,
  1319.     /* [retval][out] */ LONG *pBitCount);
  1320. void __RPC_STUB ICertEncodeBitString_GetBitCount_Stub(
  1321.     IRpcStubBuffer *This,
  1322.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1323.     PRPC_MESSAGE _pRpcMessage,
  1324.     DWORD *_pdwStubPhase);
  1325. HRESULT STDMETHODCALLTYPE ICertEncodeBitString_GetBitString_Proxy( 
  1326.     ICertEncodeBitString * This,
  1327.     /* [retval][out] */ BSTR *pstrBitString);
  1328. void __RPC_STUB ICertEncodeBitString_GetBitString_Stub(
  1329.     IRpcStubBuffer *This,
  1330.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1331.     PRPC_MESSAGE _pRpcMessage,
  1332.     DWORD *_pdwStubPhase);
  1333. HRESULT STDMETHODCALLTYPE ICertEncodeBitString_Encode_Proxy( 
  1334.     ICertEncodeBitString * This,
  1335.     /* [in] */ LONG BitCount,
  1336.     /* [in] */ BSTR strBitString,
  1337.     /* [retval][out] */ BSTR *pstrBinary);
  1338. void __RPC_STUB ICertEncodeBitString_Encode_Stub(
  1339.     IRpcStubBuffer *This,
  1340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1341.     PRPC_MESSAGE _pRpcMessage,
  1342.     DWORD *_pdwStubPhase);
  1343. #endif  /* __ICertEncodeBitString_INTERFACE_DEFINED__ */
  1344. #ifndef __CERTENCODELib_LIBRARY_DEFINED__
  1345. #define __CERTENCODELib_LIBRARY_DEFINED__
  1346. /* library CERTENCODELib */
  1347. /* [helpstring][version][uuid] */ 
  1348. EXTERN_C const IID LIBID_CERTENCODELib;
  1349. EXTERN_C const CLSID CLSID_CCertEncodeStringArray;
  1350. #ifdef __cplusplus
  1351. class DECLSPEC_UUID("19a76fe0-7494-11d0-8816-00a0c903b83c")
  1352. CCertEncodeStringArray;
  1353. #endif
  1354. EXTERN_C const CLSID CLSID_CCertEncodeLongArray;
  1355. #ifdef __cplusplus
  1356. class DECLSPEC_UUID("4e0680a0-a0a2-11d0-8821-00a0c903b83c")
  1357. CCertEncodeLongArray;
  1358. #endif
  1359. EXTERN_C const CLSID CLSID_CCertEncodeDateArray;
  1360. #ifdef __cplusplus
  1361. class DECLSPEC_UUID("301f77b0-a470-11d0-8821-00a0c903b83c")
  1362. CCertEncodeDateArray;
  1363. #endif
  1364. EXTERN_C const CLSID CLSID_CCertEncodeCRLDistInfo;
  1365. #ifdef __cplusplus
  1366. class DECLSPEC_UUID("01fa60a0-bbff-11d0-8825-00a0c903b83c")
  1367. CCertEncodeCRLDistInfo;
  1368. #endif
  1369. EXTERN_C const CLSID CLSID_CCertEncodeAltName;
  1370. #ifdef __cplusplus
  1371. class DECLSPEC_UUID("1cfc4cda-1271-11d1-9bd4-00c04fb683fa")
  1372. CCertEncodeAltName;
  1373. #endif
  1374. EXTERN_C const CLSID CLSID_CCertEncodeBitString;
  1375. #ifdef __cplusplus
  1376. class DECLSPEC_UUID("6d6b3cd8-1278-11d1-9bd4-00c04fb683fa")
  1377. CCertEncodeBitString;
  1378. #endif
  1379. #endif /* __CERTENCODELib_LIBRARY_DEFINED__ */
  1380. /* Additional Prototypes for ALL interfaces */
  1381. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
  1382. unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
  1383. unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
  1384. void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 
  1385. /* end of Additional Prototypes */
  1386. #ifdef __cplusplus
  1387. }
  1388. #endif
  1389. #endif