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