Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error this stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __certenc_h__
     23 #define __certenc_h__
     24 
     25 #ifndef __ICertEncodeStringArray_FWD_DEFINED__
     26 #define __ICertEncodeStringArray_FWD_DEFINED__
     27 typedef struct ICertEncodeStringArray ICertEncodeStringArray;
     28 #endif
     29 
     30 #ifndef __ICertEncodeLongArray_FWD_DEFINED__
     31 #define __ICertEncodeLongArray_FWD_DEFINED__
     32 typedef struct ICertEncodeLongArray ICertEncodeLongArray;
     33 #endif
     34 
     35 #ifndef __ICertEncodeDateArray_FWD_DEFINED__
     36 #define __ICertEncodeDateArray_FWD_DEFINED__
     37 typedef struct ICertEncodeDateArray ICertEncodeDateArray;
     38 #endif
     39 
     40 #ifndef __ICertEncodeCRLDistInfo_FWD_DEFINED__
     41 #define __ICertEncodeCRLDistInfo_FWD_DEFINED__
     42 typedef struct ICertEncodeCRLDistInfo ICertEncodeCRLDistInfo;
     43 #endif
     44 
     45 #ifndef __ICertEncodeAltName_FWD_DEFINED__
     46 #define __ICertEncodeAltName_FWD_DEFINED__
     47 typedef struct ICertEncodeAltName ICertEncodeAltName;
     48 #endif
     49 
     50 #ifndef __ICertEncodeBitString_FWD_DEFINED__
     51 #define __ICertEncodeBitString_FWD_DEFINED__
     52 typedef struct ICertEncodeBitString ICertEncodeBitString;
     53 #endif
     54 
     55 #ifndef __CCertEncodeStringArray_FWD_DEFINED__
     56 #define __CCertEncodeStringArray_FWD_DEFINED__
     57 
     58 #ifdef __cplusplus
     59 typedef class CCertEncodeStringArray CCertEncodeStringArray;
     60 #else
     61 typedef struct CCertEncodeStringArray CCertEncodeStringArray;
     62 #endif
     63 #endif
     64 
     65 #ifndef __CCertEncodeLongArray_FWD_DEFINED__
     66 #define __CCertEncodeLongArray_FWD_DEFINED__
     67 #ifdef __cplusplus
     68 typedef class CCertEncodeLongArray CCertEncodeLongArray;
     69 #else
     70 typedef struct CCertEncodeLongArray CCertEncodeLongArray;
     71 #endif
     72 #endif
     73 
     74 #ifndef __CCertEncodeDateArray_FWD_DEFINED__
     75 #define __CCertEncodeDateArray_FWD_DEFINED__
     76 #ifdef __cplusplus
     77 typedef class CCertEncodeDateArray CCertEncodeDateArray;
     78 #else
     79 typedef struct CCertEncodeDateArray CCertEncodeDateArray;
     80 #endif
     81 #endif
     82 
     83 #ifndef __CCertEncodeCRLDistInfo_FWD_DEFINED__
     84 #define __CCertEncodeCRLDistInfo_FWD_DEFINED__
     85 #ifdef __cplusplus
     86 typedef class CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
     87 #else
     88 typedef struct CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
     89 #endif
     90 #endif
     91 
     92 #ifndef __CCertEncodeAltName_FWD_DEFINED__
     93 #define __CCertEncodeAltName_FWD_DEFINED__
     94 #ifdef __cplusplus
     95 typedef class CCertEncodeAltName CCertEncodeAltName;
     96 #else
     97 typedef struct CCertEncodeAltName CCertEncodeAltName;
     98 #endif
     99 #endif
    100 
    101 #ifndef __CCertEncodeBitString_FWD_DEFINED__
    102 #define __CCertEncodeBitString_FWD_DEFINED__
    103 #ifdef __cplusplus
    104 typedef class CCertEncodeBitString CCertEncodeBitString;
    105 #else
    106 typedef struct CCertEncodeBitString CCertEncodeBitString;
    107 #endif
    108 #endif
    109 
    110 #include "wtypes.h"
    111 #include "oaidl.h"
    112 
    113 #ifdef __cplusplus
    114 extern "C"{
    115 #endif
    116 
    117 #ifndef __MIDL_user_allocate_free_DEFINED__
    118 #define __MIDL_user_allocate_free_DEFINED__
    119   void *__RPC_API MIDL_user_allocate(size_t);
    120   void __RPC_API MIDL_user_free(void *);
    121 #endif
    122 
    123 #ifndef __ICertEncodeStringArray_INTERFACE_DEFINED__
    124 #define __ICertEncodeStringArray_INTERFACE_DEFINED__
    125   EXTERN_C const IID IID_ICertEncodeStringArray;
    126 #if defined(__cplusplus) && !defined(CINTERFACE)
    127   struct ICertEncodeStringArray : public IDispatch {
    128   public:
    129     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    130     virtual HRESULT WINAPI GetStringType(LONG *pStringType) = 0;
    131     virtual HRESULT WINAPI GetCount(LONG *pCount) = 0;
    132     virtual HRESULT WINAPI GetValue(LONG Index,BSTR *pstr) = 0;
    133     virtual HRESULT WINAPI Reset(LONG Count,LONG StringType) = 0;
    134     virtual HRESULT WINAPI SetValue(LONG Index,const BSTR str) = 0;
    135     virtual HRESULT WINAPI Encode(BSTR *pstrBinary) = 0;
    136   };
    137 #else
    138   typedef struct ICertEncodeStringArrayVtbl {
    139     BEGIN_INTERFACE
    140       HRESULT (WINAPI *QueryInterface)(ICertEncodeStringArray *This,REFIID riid,void **ppvObject);
    141       ULONG (WINAPI *AddRef)(ICertEncodeStringArray *This);
    142       ULONG (WINAPI *Release)(ICertEncodeStringArray *This);
    143       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeStringArray *This,UINT *pctinfo);
    144       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeStringArray *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    145       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeStringArray *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    146       HRESULT (WINAPI *Invoke)(ICertEncodeStringArray *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    147       HRESULT (WINAPI *Decode)(ICertEncodeStringArray *This,const BSTR strBinary);
    148       HRESULT (WINAPI *GetStringType)(ICertEncodeStringArray *This,LONG *pStringType);
    149       HRESULT (WINAPI *GetCount)(ICertEncodeStringArray *This,LONG *pCount);
    150       HRESULT (WINAPI *GetValue)(ICertEncodeStringArray *This,LONG Index,BSTR *pstr);
    151       HRESULT (WINAPI *Reset)(ICertEncodeStringArray *This,LONG Count,LONG StringType);
    152       HRESULT (WINAPI *SetValue)(ICertEncodeStringArray *This,LONG Index,const BSTR str);
    153       HRESULT (WINAPI *Encode)(ICertEncodeStringArray *This,BSTR *pstrBinary);
    154     END_INTERFACE
    155   } ICertEncodeStringArrayVtbl;
    156   struct ICertEncodeStringArray {
    157     CONST_VTBL struct ICertEncodeStringArrayVtbl *lpVtbl;
    158   };
    159 #ifdef COBJMACROS
    160 #define ICertEncodeStringArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    161 #define ICertEncodeStringArray_AddRef(This) (This)->lpVtbl->AddRef(This)
    162 #define ICertEncodeStringArray_Release(This) (This)->lpVtbl->Release(This)
    163 #define ICertEncodeStringArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    164 #define ICertEncodeStringArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    165 #define ICertEncodeStringArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    166 #define ICertEncodeStringArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    167 #define ICertEncodeStringArray_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    168 #define ICertEncodeStringArray_GetStringType(This,pStringType) (This)->lpVtbl->GetStringType(This,pStringType)
    169 #define ICertEncodeStringArray_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
    170 #define ICertEncodeStringArray_GetValue(This,Index,pstr) (This)->lpVtbl->GetValue(This,Index,pstr)
    171 #define ICertEncodeStringArray_Reset(This,Count,StringType) (This)->lpVtbl->Reset(This,Count,StringType)
    172 #define ICertEncodeStringArray_SetValue(This,Index,str) (This)->lpVtbl->SetValue(This,Index,str)
    173 #define ICertEncodeStringArray_Encode(This,pstrBinary) (This)->lpVtbl->Encode(This,pstrBinary)
    174 #endif
    175 #endif
    176   HRESULT WINAPI ICertEncodeStringArray_Decode_Proxy(ICertEncodeStringArray *This,const BSTR strBinary);
    177   void __RPC_STUB ICertEncodeStringArray_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    178   HRESULT WINAPI ICertEncodeStringArray_GetStringType_Proxy(ICertEncodeStringArray *This,LONG *pStringType);
    179   void __RPC_STUB ICertEncodeStringArray_GetStringType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    180   HRESULT WINAPI ICertEncodeStringArray_GetCount_Proxy(ICertEncodeStringArray *This,LONG *pCount);
    181   void __RPC_STUB ICertEncodeStringArray_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    182   HRESULT WINAPI ICertEncodeStringArray_GetValue_Proxy(ICertEncodeStringArray *This,LONG Index,BSTR *pstr);
    183   void __RPC_STUB ICertEncodeStringArray_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    184   HRESULT WINAPI ICertEncodeStringArray_Reset_Proxy(ICertEncodeStringArray *This,LONG Count,LONG StringType);
    185   void __RPC_STUB ICertEncodeStringArray_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    186   HRESULT WINAPI ICertEncodeStringArray_SetValue_Proxy(ICertEncodeStringArray *This,LONG Index,const BSTR str);
    187   void __RPC_STUB ICertEncodeStringArray_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    188   HRESULT WINAPI ICertEncodeStringArray_Encode_Proxy(ICertEncodeStringArray *This,BSTR *pstrBinary);
    189   void __RPC_STUB ICertEncodeStringArray_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    190 #endif
    191 
    192 #ifndef __ICertEncodeLongArray_INTERFACE_DEFINED__
    193 #define __ICertEncodeLongArray_INTERFACE_DEFINED__
    194   EXTERN_C const IID IID_ICertEncodeLongArray;
    195 #if defined(__cplusplus) && !defined(CINTERFACE)
    196   struct ICertEncodeLongArray : public IDispatch {
    197   public:
    198     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    199     virtual HRESULT WINAPI GetCount(LONG *pCount) = 0;
    200     virtual HRESULT WINAPI GetValue(LONG Index,LONG *pValue) = 0;
    201     virtual HRESULT WINAPI Reset(LONG Count) = 0;
    202     virtual HRESULT WINAPI SetValue(LONG Index,LONG Value) = 0;
    203     virtual HRESULT WINAPI Encode(BSTR *pstrBinary) = 0;
    204   };
    205 #else
    206   typedef struct ICertEncodeLongArrayVtbl {
    207     BEGIN_INTERFACE
    208       HRESULT (WINAPI *QueryInterface)(ICertEncodeLongArray *This,REFIID riid,void **ppvObject);
    209       ULONG (WINAPI *AddRef)(ICertEncodeLongArray *This);
    210       ULONG (WINAPI *Release)(ICertEncodeLongArray *This);
    211       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeLongArray *This,UINT *pctinfo);
    212       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeLongArray *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    213       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeLongArray *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    214       HRESULT (WINAPI *Invoke)(ICertEncodeLongArray *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    215       HRESULT (WINAPI *Decode)(ICertEncodeLongArray *This,const BSTR strBinary);
    216       HRESULT (WINAPI *GetCount)(ICertEncodeLongArray *This,LONG *pCount);
    217       HRESULT (WINAPI *GetValue)(ICertEncodeLongArray *This,LONG Index,LONG *pValue);
    218       HRESULT (WINAPI *Reset)(ICertEncodeLongArray *This,LONG Count);
    219       HRESULT (WINAPI *SetValue)(ICertEncodeLongArray *This,LONG Index,LONG Value);
    220       HRESULT (WINAPI *Encode)(ICertEncodeLongArray *This,BSTR *pstrBinary);
    221     END_INTERFACE
    222   } ICertEncodeLongArrayVtbl;
    223   struct ICertEncodeLongArray {
    224     CONST_VTBL struct ICertEncodeLongArrayVtbl *lpVtbl;
    225   };
    226 #ifdef COBJMACROS
    227 #define ICertEncodeLongArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    228 #define ICertEncodeLongArray_AddRef(This) (This)->lpVtbl->AddRef(This)
    229 #define ICertEncodeLongArray_Release(This) (This)->lpVtbl->Release(This)
    230 #define ICertEncodeLongArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    231 #define ICertEncodeLongArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    232 #define ICertEncodeLongArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    233 #define ICertEncodeLongArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    234 #define ICertEncodeLongArray_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    235 #define ICertEncodeLongArray_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
    236 #define ICertEncodeLongArray_GetValue(This,Index,pValue) (This)->lpVtbl->GetValue(This,Index,pValue)
    237 #define ICertEncodeLongArray_Reset(This,Count) (This)->lpVtbl->Reset(This,Count)
    238 #define ICertEncodeLongArray_SetValue(This,Index,Value) (This)->lpVtbl->SetValue(This,Index,Value)
    239 #define ICertEncodeLongArray_Encode(This,pstrBinary) (This)->lpVtbl->Encode(This,pstrBinary)
    240 #endif
    241 #endif
    242   HRESULT WINAPI ICertEncodeLongArray_Decode_Proxy(ICertEncodeLongArray *This,const BSTR strBinary);
    243   void __RPC_STUB ICertEncodeLongArray_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    244   HRESULT WINAPI ICertEncodeLongArray_GetCount_Proxy(ICertEncodeLongArray *This,LONG *pCount);
    245   void __RPC_STUB ICertEncodeLongArray_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    246   HRESULT WINAPI ICertEncodeLongArray_GetValue_Proxy(ICertEncodeLongArray *This,LONG Index,LONG *pValue);
    247   void __RPC_STUB ICertEncodeLongArray_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    248   HRESULT WINAPI ICertEncodeLongArray_Reset_Proxy(ICertEncodeLongArray *This,LONG Count);
    249   void __RPC_STUB ICertEncodeLongArray_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    250   HRESULT WINAPI ICertEncodeLongArray_SetValue_Proxy(ICertEncodeLongArray *This,LONG Index,LONG Value);
    251   void __RPC_STUB ICertEncodeLongArray_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    252   HRESULT WINAPI ICertEncodeLongArray_Encode_Proxy(ICertEncodeLongArray *This,BSTR *pstrBinary);
    253   void __RPC_STUB ICertEncodeLongArray_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    254 #endif
    255 
    256 #ifndef __ICertEncodeDateArray_INTERFACE_DEFINED__
    257 #define __ICertEncodeDateArray_INTERFACE_DEFINED__
    258   EXTERN_C const IID IID_ICertEncodeDateArray;
    259 #if defined(__cplusplus) && !defined(CINTERFACE)
    260   struct ICertEncodeDateArray : public IDispatch {
    261   public:
    262     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    263     virtual HRESULT WINAPI GetCount(LONG *pCount) = 0;
    264     virtual HRESULT WINAPI GetValue(LONG Index,DATE *pValue) = 0;
    265     virtual HRESULT WINAPI Reset(LONG Count) = 0;
    266     virtual HRESULT WINAPI SetValue(LONG Index,DATE Value) = 0;
    267     virtual HRESULT WINAPI Encode(BSTR *pstrBinary) = 0;
    268   };
    269 #else
    270   typedef struct ICertEncodeDateArrayVtbl {
    271     BEGIN_INTERFACE
    272       HRESULT (WINAPI *QueryInterface)(ICertEncodeDateArray *This,REFIID riid,void **ppvObject);
    273       ULONG (WINAPI *AddRef)(ICertEncodeDateArray *This);
    274       ULONG (WINAPI *Release)(ICertEncodeDateArray *This);
    275       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeDateArray *This,UINT *pctinfo);
    276       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeDateArray *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    277       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeDateArray *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    278       HRESULT (WINAPI *Invoke)(ICertEncodeDateArray *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    279       HRESULT (WINAPI *Decode)(ICertEncodeDateArray *This,const BSTR strBinary);
    280       HRESULT (WINAPI *GetCount)(ICertEncodeDateArray *This,LONG *pCount);
    281       HRESULT (WINAPI *GetValue)(ICertEncodeDateArray *This,LONG Index,DATE *pValue);
    282       HRESULT (WINAPI *Reset)(ICertEncodeDateArray *This,LONG Count);
    283       HRESULT (WINAPI *SetValue)(ICertEncodeDateArray *This,LONG Index,DATE Value);
    284       HRESULT (WINAPI *Encode)(ICertEncodeDateArray *This,BSTR *pstrBinary);
    285     END_INTERFACE
    286   } ICertEncodeDateArrayVtbl;
    287   struct ICertEncodeDateArray {
    288     CONST_VTBL struct ICertEncodeDateArrayVtbl *lpVtbl;
    289   };
    290 #ifdef COBJMACROS
    291 #define ICertEncodeDateArray_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    292 #define ICertEncodeDateArray_AddRef(This) (This)->lpVtbl->AddRef(This)
    293 #define ICertEncodeDateArray_Release(This) (This)->lpVtbl->Release(This)
    294 #define ICertEncodeDateArray_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    295 #define ICertEncodeDateArray_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    296 #define ICertEncodeDateArray_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    297 #define ICertEncodeDateArray_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    298 #define ICertEncodeDateArray_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    299 #define ICertEncodeDateArray_GetCount(This,pCount) (This)->lpVtbl->GetCount(This,pCount)
    300 #define ICertEncodeDateArray_GetValue(This,Index,pValue) (This)->lpVtbl->GetValue(This,Index,pValue)
    301 #define ICertEncodeDateArray_Reset(This,Count) (This)->lpVtbl->Reset(This,Count)
    302 #define ICertEncodeDateArray_SetValue(This,Index,Value) (This)->lpVtbl->SetValue(This,Index,Value)
    303 #define ICertEncodeDateArray_Encode(This,pstrBinary) (This)->lpVtbl->Encode(This,pstrBinary)
    304 #endif
    305 #endif
    306   HRESULT WINAPI ICertEncodeDateArray_Decode_Proxy(ICertEncodeDateArray *This,const BSTR strBinary);
    307   void __RPC_STUB ICertEncodeDateArray_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    308   HRESULT WINAPI ICertEncodeDateArray_GetCount_Proxy(ICertEncodeDateArray *This,LONG *pCount);
    309   void __RPC_STUB ICertEncodeDateArray_GetCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    310   HRESULT WINAPI ICertEncodeDateArray_GetValue_Proxy(ICertEncodeDateArray *This,LONG Index,DATE *pValue);
    311   void __RPC_STUB ICertEncodeDateArray_GetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    312   HRESULT WINAPI ICertEncodeDateArray_Reset_Proxy(ICertEncodeDateArray *This,LONG Count);
    313   void __RPC_STUB ICertEncodeDateArray_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    314   HRESULT WINAPI ICertEncodeDateArray_SetValue_Proxy(ICertEncodeDateArray *This,LONG Index,DATE Value);
    315   void __RPC_STUB ICertEncodeDateArray_SetValue_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    316   HRESULT WINAPI ICertEncodeDateArray_Encode_Proxy(ICertEncodeDateArray *This,BSTR *pstrBinary);
    317   void __RPC_STUB ICertEncodeDateArray_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    318 #endif
    319 
    320 #ifndef __ICertEncodeCRLDistInfo_INTERFACE_DEFINED__
    321 #define __ICertEncodeCRLDistInfo_INTERFACE_DEFINED__
    322   EXTERN_C const IID IID_ICertEncodeCRLDistInfo;
    323 #if defined(__cplusplus) && !defined(CINTERFACE)
    324   struct ICertEncodeCRLDistInfo : public IDispatch {
    325   public:
    326     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    327     virtual HRESULT WINAPI GetDistPointCount(LONG *pDistPointCount) = 0;
    328     virtual HRESULT WINAPI GetNameCount(LONG DistPointIndex,LONG *pNameCount) = 0;
    329     virtual HRESULT WINAPI GetNameChoice(LONG DistPointIndex,LONG NameIndex,LONG *pNameChoice) = 0;
    330     virtual HRESULT WINAPI GetName(LONG DistPointIndex,LONG NameIndex,BSTR *pstrName) = 0;
    331     virtual HRESULT WINAPI Reset(LONG DistPointCount) = 0;
    332     virtual HRESULT WINAPI SetNameCount(LONG DistPointIndex,LONG NameCount) = 0;
    333     virtual HRESULT WINAPI SetNameEntry(LONG DistPointIndex,LONG NameIndex,LONG NameChoice,const BSTR strName) = 0;
    334     virtual HRESULT WINAPI Encode(BSTR *pstrBinary) = 0;
    335   };
    336 #else
    337   typedef struct ICertEncodeCRLDistInfoVtbl {
    338     BEGIN_INTERFACE
    339       HRESULT (WINAPI *QueryInterface)(ICertEncodeCRLDistInfo *This,REFIID riid,void **ppvObject);
    340       ULONG (WINAPI *AddRef)(ICertEncodeCRLDistInfo *This);
    341       ULONG (WINAPI *Release)(ICertEncodeCRLDistInfo *This);
    342       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeCRLDistInfo *This,UINT *pctinfo);
    343       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeCRLDistInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    344       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeCRLDistInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    345       HRESULT (WINAPI *Invoke)(ICertEncodeCRLDistInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    346       HRESULT (WINAPI *Decode)(ICertEncodeCRLDistInfo *This,const BSTR strBinary);
    347       HRESULT (WINAPI *GetDistPointCount)(ICertEncodeCRLDistInfo *This,LONG *pDistPointCount);
    348       HRESULT (WINAPI *GetNameCount)(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG *pNameCount);
    349       HRESULT (WINAPI *GetNameChoice)(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,LONG *pNameChoice);
    350       HRESULT (WINAPI *GetName)(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,BSTR *pstrName);
    351       HRESULT (WINAPI *Reset)(ICertEncodeCRLDistInfo *This,LONG DistPointCount);
    352       HRESULT (WINAPI *SetNameCount)(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameCount);
    353       HRESULT (WINAPI *SetNameEntry)(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,LONG NameChoice,const BSTR strName);
    354       HRESULT (WINAPI *Encode)(ICertEncodeCRLDistInfo *This,BSTR *pstrBinary);
    355     END_INTERFACE
    356   } ICertEncodeCRLDistInfoVtbl;
    357   struct ICertEncodeCRLDistInfo {
    358     CONST_VTBL struct ICertEncodeCRLDistInfoVtbl *lpVtbl;
    359   };
    360 #ifdef COBJMACROS
    361 #define ICertEncodeCRLDistInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    362 #define ICertEncodeCRLDistInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
    363 #define ICertEncodeCRLDistInfo_Release(This) (This)->lpVtbl->Release(This)
    364 #define ICertEncodeCRLDistInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    365 #define ICertEncodeCRLDistInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    366 #define ICertEncodeCRLDistInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    367 #define ICertEncodeCRLDistInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    368 #define ICertEncodeCRLDistInfo_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    369 #define ICertEncodeCRLDistInfo_GetDistPointCount(This,pDistPointCount) (This)->lpVtbl->GetDistPointCount(This,pDistPointCount)
    370 #define ICertEncodeCRLDistInfo_GetNameCount(This,DistPointIndex,pNameCount) (This)->lpVtbl->GetNameCount(This,DistPointIndex,pNameCount)
    371 #define ICertEncodeCRLDistInfo_GetNameChoice(This,DistPointIndex,NameIndex,pNameChoice) (This)->lpVtbl->GetNameChoice(This,DistPointIndex,NameIndex,pNameChoice)
    372 #define ICertEncodeCRLDistInfo_GetName(This,DistPointIndex,NameIndex,pstrName) (This)->lpVtbl->GetName(This,DistPointIndex,NameIndex,pstrName)
    373 #define ICertEncodeCRLDistInfo_Reset(This,DistPointCount) (This)->lpVtbl->Reset(This,DistPointCount)
    374 #define ICertEncodeCRLDistInfo_SetNameCount(This,DistPointIndex,NameCount) (This)->lpVtbl->SetNameCount(This,DistPointIndex,NameCount)
    375 #define ICertEncodeCRLDistInfo_SetNameEntry(This,DistPointIndex,NameIndex,NameChoice,strName) (This)->lpVtbl->SetNameEntry(This,DistPointIndex,NameIndex,NameChoice,strName)
    376 #define ICertEncodeCRLDistInfo_Encode(This,pstrBinary) (This)->lpVtbl->Encode(This,pstrBinary)
    377 #endif
    378 #endif
    379   HRESULT WINAPI ICertEncodeCRLDistInfo_Decode_Proxy(ICertEncodeCRLDistInfo *This,const BSTR strBinary);
    380   void __RPC_STUB ICertEncodeCRLDistInfo_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    381   HRESULT WINAPI ICertEncodeCRLDistInfo_GetDistPointCount_Proxy(ICertEncodeCRLDistInfo *This,LONG *pDistPointCount);
    382   void __RPC_STUB ICertEncodeCRLDistInfo_GetDistPointCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    383   HRESULT WINAPI ICertEncodeCRLDistInfo_GetNameCount_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG *pNameCount);
    384   void __RPC_STUB ICertEncodeCRLDistInfo_GetNameCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    385   HRESULT WINAPI ICertEncodeCRLDistInfo_GetNameChoice_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,LONG *pNameChoice);
    386   void __RPC_STUB ICertEncodeCRLDistInfo_GetNameChoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    387   HRESULT WINAPI ICertEncodeCRLDistInfo_GetName_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,BSTR *pstrName);
    388   void __RPC_STUB ICertEncodeCRLDistInfo_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    389   HRESULT WINAPI ICertEncodeCRLDistInfo_Reset_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointCount);
    390   void __RPC_STUB ICertEncodeCRLDistInfo_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    391   HRESULT WINAPI ICertEncodeCRLDistInfo_SetNameCount_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameCount);
    392   void __RPC_STUB ICertEncodeCRLDistInfo_SetNameCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    393   HRESULT WINAPI ICertEncodeCRLDistInfo_SetNameEntry_Proxy(ICertEncodeCRLDistInfo *This,LONG DistPointIndex,LONG NameIndex,LONG NameChoice,const BSTR strName);
    394   void __RPC_STUB ICertEncodeCRLDistInfo_SetNameEntry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    395   HRESULT WINAPI ICertEncodeCRLDistInfo_Encode_Proxy(ICertEncodeCRLDistInfo *This,BSTR *pstrBinary);
    396   void __RPC_STUB ICertEncodeCRLDistInfo_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    397 #endif
    398 
    399 #define EAN_NAMEOBJECTID (0x80000000)
    400 
    401   extern RPC_IF_HANDLE __MIDL_itf_certenc_0122_v0_0_c_ifspec;
    402   extern RPC_IF_HANDLE __MIDL_itf_certenc_0122_v0_0_s_ifspec;
    403 
    404 #ifndef __ICertEncodeAltName_INTERFACE_DEFINED__
    405 #define __ICertEncodeAltName_INTERFACE_DEFINED__
    406   EXTERN_C const IID IID_ICertEncodeAltName;
    407 #if defined(__cplusplus) && !defined(CINTERFACE)
    408   struct ICertEncodeAltName : public IDispatch {
    409   public:
    410     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    411     virtual HRESULT WINAPI GetNameCount(LONG *pNameCount) = 0;
    412     virtual HRESULT WINAPI GetNameChoice(LONG NameIndex,LONG *pNameChoice) = 0;
    413     virtual HRESULT WINAPI GetName(LONG NameIndex,BSTR *pstrName) = 0;
    414     virtual HRESULT WINAPI Reset(LONG NameCount) = 0;
    415     virtual HRESULT WINAPI SetNameEntry(LONG NameIndex,LONG NameChoice,const BSTR strName) = 0;
    416     virtual HRESULT WINAPI Encode(BSTR *pstrBinary) = 0;
    417   };
    418 #else
    419   typedef struct ICertEncodeAltNameVtbl {
    420     BEGIN_INTERFACE
    421       HRESULT (WINAPI *QueryInterface)(ICertEncodeAltName *This,REFIID riid,void **ppvObject);
    422       ULONG (WINAPI *AddRef)(ICertEncodeAltName *This);
    423       ULONG (WINAPI *Release)(ICertEncodeAltName *This);
    424       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeAltName *This,UINT *pctinfo);
    425       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeAltName *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    426       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeAltName *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    427       HRESULT (WINAPI *Invoke)(ICertEncodeAltName *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    428       HRESULT (WINAPI *Decode)(ICertEncodeAltName *This,const BSTR strBinary);
    429       HRESULT (WINAPI *GetNameCount)(ICertEncodeAltName *This,LONG *pNameCount);
    430       HRESULT (WINAPI *GetNameChoice)(ICertEncodeAltName *This,LONG NameIndex,LONG *pNameChoice);
    431       HRESULT (WINAPI *GetName)(ICertEncodeAltName *This,LONG NameIndex,BSTR *pstrName);
    432       HRESULT (WINAPI *Reset)(ICertEncodeAltName *This,LONG NameCount);
    433       HRESULT (WINAPI *SetNameEntry)(ICertEncodeAltName *This,LONG NameIndex,LONG NameChoice,const BSTR strName);
    434       HRESULT (WINAPI *Encode)(ICertEncodeAltName *This,BSTR *pstrBinary);
    435     END_INTERFACE
    436   } ICertEncodeAltNameVtbl;
    437   struct ICertEncodeAltName {
    438     CONST_VTBL struct ICertEncodeAltNameVtbl *lpVtbl;
    439   };
    440 #ifdef COBJMACROS
    441 #define ICertEncodeAltName_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    442 #define ICertEncodeAltName_AddRef(This) (This)->lpVtbl->AddRef(This)
    443 #define ICertEncodeAltName_Release(This) (This)->lpVtbl->Release(This)
    444 #define ICertEncodeAltName_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    445 #define ICertEncodeAltName_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    446 #define ICertEncodeAltName_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    447 #define ICertEncodeAltName_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    448 #define ICertEncodeAltName_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    449 #define ICertEncodeAltName_GetNameCount(This,pNameCount) (This)->lpVtbl->GetNameCount(This,pNameCount)
    450 #define ICertEncodeAltName_GetNameChoice(This,NameIndex,pNameChoice) (This)->lpVtbl->GetNameChoice(This,NameIndex,pNameChoice)
    451 #define ICertEncodeAltName_GetName(This,NameIndex,pstrName) (This)->lpVtbl->GetName(This,NameIndex,pstrName)
    452 #define ICertEncodeAltName_Reset(This,NameCount) (This)->lpVtbl->Reset(This,NameCount)
    453 #define ICertEncodeAltName_SetNameEntry(This,NameIndex,NameChoice,strName) (This)->lpVtbl->SetNameEntry(This,NameIndex,NameChoice,strName)
    454 #define ICertEncodeAltName_Encode(This,pstrBinary) (This)->lpVtbl->Encode(This,pstrBinary)
    455 #endif
    456 #endif
    457   HRESULT WINAPI ICertEncodeAltName_Decode_Proxy(ICertEncodeAltName *This,const BSTR strBinary);
    458   void __RPC_STUB ICertEncodeAltName_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    459   HRESULT WINAPI ICertEncodeAltName_GetNameCount_Proxy(ICertEncodeAltName *This,LONG *pNameCount);
    460   void __RPC_STUB ICertEncodeAltName_GetNameCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    461   HRESULT WINAPI ICertEncodeAltName_GetNameChoice_Proxy(ICertEncodeAltName *This,LONG NameIndex,LONG *pNameChoice);
    462   void __RPC_STUB ICertEncodeAltName_GetNameChoice_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    463   HRESULT WINAPI ICertEncodeAltName_GetName_Proxy(ICertEncodeAltName *This,LONG NameIndex,BSTR *pstrName);
    464   void __RPC_STUB ICertEncodeAltName_GetName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    465   HRESULT WINAPI ICertEncodeAltName_Reset_Proxy(ICertEncodeAltName *This,LONG NameCount);
    466   void __RPC_STUB ICertEncodeAltName_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    467   HRESULT WINAPI ICertEncodeAltName_SetNameEntry_Proxy(ICertEncodeAltName *This,LONG NameIndex,LONG NameChoice,const BSTR strName);
    468   void __RPC_STUB ICertEncodeAltName_SetNameEntry_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    469   HRESULT WINAPI ICertEncodeAltName_Encode_Proxy(ICertEncodeAltName *This,BSTR *pstrBinary);
    470   void __RPC_STUB ICertEncodeAltName_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    471 #endif
    472 
    473 #ifndef __ICertEncodeBitString_INTERFACE_DEFINED__
    474 #define __ICertEncodeBitString_INTERFACE_DEFINED__
    475   EXTERN_C const IID IID_ICertEncodeBitString;
    476 #if defined(__cplusplus) && !defined(CINTERFACE)
    477   struct ICertEncodeBitString : public IDispatch {
    478   public:
    479     virtual HRESULT WINAPI Decode(const BSTR strBinary) = 0;
    480     virtual HRESULT WINAPI GetBitCount(LONG *pBitCount) = 0;
    481     virtual HRESULT WINAPI GetBitString(BSTR *pstrBitString) = 0;
    482     virtual HRESULT WINAPI Encode(LONG BitCount,BSTR strBitString,BSTR *pstrBinary) = 0;
    483   };
    484 #else
    485   typedef struct ICertEncodeBitStringVtbl {
    486     BEGIN_INTERFACE
    487       HRESULT (WINAPI *QueryInterface)(ICertEncodeBitString *This,REFIID riid,void **ppvObject);
    488       ULONG (WINAPI *AddRef)(ICertEncodeBitString *This);
    489       ULONG (WINAPI *Release)(ICertEncodeBitString *This);
    490       HRESULT (WINAPI *GetTypeInfoCount)(ICertEncodeBitString *This,UINT *pctinfo);
    491       HRESULT (WINAPI *GetTypeInfo)(ICertEncodeBitString *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    492       HRESULT (WINAPI *GetIDsOfNames)(ICertEncodeBitString *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    493       HRESULT (WINAPI *Invoke)(ICertEncodeBitString *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    494       HRESULT (WINAPI *Decode)(ICertEncodeBitString *This,const BSTR strBinary);
    495       HRESULT (WINAPI *GetBitCount)(ICertEncodeBitString *This,LONG *pBitCount);
    496       HRESULT (WINAPI *GetBitString)(ICertEncodeBitString *This,BSTR *pstrBitString);
    497       HRESULT (WINAPI *Encode)(ICertEncodeBitString *This,LONG BitCount,BSTR strBitString,BSTR *pstrBinary);
    498     END_INTERFACE
    499   } ICertEncodeBitStringVtbl;
    500   struct ICertEncodeBitString {
    501     CONST_VTBL struct ICertEncodeBitStringVtbl *lpVtbl;
    502   };
    503 #ifdef COBJMACROS
    504 #define ICertEncodeBitString_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    505 #define ICertEncodeBitString_AddRef(This) (This)->lpVtbl->AddRef(This)
    506 #define ICertEncodeBitString_Release(This) (This)->lpVtbl->Release(This)
    507 #define ICertEncodeBitString_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    508 #define ICertEncodeBitString_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    509 #define ICertEncodeBitString_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    510 #define ICertEncodeBitString_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    511 #define ICertEncodeBitString_Decode(This,strBinary) (This)->lpVtbl->Decode(This,strBinary)
    512 #define ICertEncodeBitString_GetBitCount(This,pBitCount) (This)->lpVtbl->GetBitCount(This,pBitCount)
    513 #define ICertEncodeBitString_GetBitString(This,pstrBitString) (This)->lpVtbl->GetBitString(This,pstrBitString)
    514 #define ICertEncodeBitString_Encode(This,BitCount,strBitString,pstrBinary) (This)->lpVtbl->Encode(This,BitCount,strBitString,pstrBinary)
    515 #endif
    516 #endif
    517   HRESULT WINAPI ICertEncodeBitString_Decode_Proxy(ICertEncodeBitString *This,const BSTR strBinary);
    518   void __RPC_STUB ICertEncodeBitString_Decode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    519   HRESULT WINAPI ICertEncodeBitString_GetBitCount_Proxy(ICertEncodeBitString *This,LONG *pBitCount);
    520   void __RPC_STUB ICertEncodeBitString_GetBitCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    521   HRESULT WINAPI ICertEncodeBitString_GetBitString_Proxy(ICertEncodeBitString *This,BSTR *pstrBitString);
    522   void __RPC_STUB ICertEncodeBitString_GetBitString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    523   HRESULT WINAPI ICertEncodeBitString_Encode_Proxy(ICertEncodeBitString *This,LONG BitCount,BSTR strBitString,BSTR *pstrBinary);
    524   void __RPC_STUB ICertEncodeBitString_Encode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    525 #endif
    526 
    527 #ifndef __CERTENCODELib_LIBRARY_DEFINED__
    528 #define __CERTENCODELib_LIBRARY_DEFINED__
    529   EXTERN_C const IID LIBID_CERTENCODELib;
    530   EXTERN_C const CLSID CLSID_CCertEncodeStringArray;
    531 #ifdef __cplusplus
    532   class CCertEncodeStringArray;
    533 #endif
    534   EXTERN_C const CLSID CLSID_CCertEncodeLongArray;
    535 #ifdef __cplusplus
    536   class CCertEncodeLongArray;
    537 #endif
    538   EXTERN_C const CLSID CLSID_CCertEncodeDateArray;
    539 #ifdef __cplusplus
    540   class CCertEncodeDateArray;
    541 #endif
    542   EXTERN_C const CLSID CLSID_CCertEncodeCRLDistInfo;
    543 #ifdef __cplusplus
    544   class CCertEncodeCRLDistInfo;
    545 #endif
    546   EXTERN_C const CLSID CLSID_CCertEncodeAltName;
    547 #ifdef __cplusplus
    548   class CCertEncodeAltName;
    549 #endif
    550   EXTERN_C const CLSID CLSID_CCertEncodeBitString;
    551 #ifdef __cplusplus
    552   class CCertEncodeBitString;
    553 #endif
    554 #endif
    555 
    556   ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
    557   unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
    558   unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
    559   void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
    560 
    561 #ifdef __cplusplus
    562 }
    563 #endif
    564 #endif
    565