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__
27typedef struct ICertEncodeStringArray ICertEncodeStringArray;
28#endif
29
30#ifndef __ICertEncodeLongArray_FWD_DEFINED__
31#define __ICertEncodeLongArray_FWD_DEFINED__
32typedef struct ICertEncodeLongArray ICertEncodeLongArray;
33#endif
34
35#ifndef __ICertEncodeDateArray_FWD_DEFINED__
36#define __ICertEncodeDateArray_FWD_DEFINED__
37typedef struct ICertEncodeDateArray ICertEncodeDateArray;
38#endif
39
40#ifndef __ICertEncodeCRLDistInfo_FWD_DEFINED__
41#define __ICertEncodeCRLDistInfo_FWD_DEFINED__
42typedef struct ICertEncodeCRLDistInfo ICertEncodeCRLDistInfo;
43#endif
44
45#ifndef __ICertEncodeAltName_FWD_DEFINED__
46#define __ICertEncodeAltName_FWD_DEFINED__
47typedef struct ICertEncodeAltName ICertEncodeAltName;
48#endif
49
50#ifndef __ICertEncodeBitString_FWD_DEFINED__
51#define __ICertEncodeBitString_FWD_DEFINED__
52typedef struct ICertEncodeBitString ICertEncodeBitString;
53#endif
54
55#ifndef __CCertEncodeStringArray_FWD_DEFINED__
56#define __CCertEncodeStringArray_FWD_DEFINED__
57
58#ifdef __cplusplus
59typedef class CCertEncodeStringArray CCertEncodeStringArray;
60#else
61typedef struct CCertEncodeStringArray CCertEncodeStringArray;
62#endif
63#endif
64
65#ifndef __CCertEncodeLongArray_FWD_DEFINED__
66#define __CCertEncodeLongArray_FWD_DEFINED__
67#ifdef __cplusplus
68typedef class CCertEncodeLongArray CCertEncodeLongArray;
69#else
70typedef struct CCertEncodeLongArray CCertEncodeLongArray;
71#endif
72#endif
73
74#ifndef __CCertEncodeDateArray_FWD_DEFINED__
75#define __CCertEncodeDateArray_FWD_DEFINED__
76#ifdef __cplusplus
77typedef class CCertEncodeDateArray CCertEncodeDateArray;
78#else
79typedef struct CCertEncodeDateArray CCertEncodeDateArray;
80#endif
81#endif
82
83#ifndef __CCertEncodeCRLDistInfo_FWD_DEFINED__
84#define __CCertEncodeCRLDistInfo_FWD_DEFINED__
85#ifdef __cplusplus
86typedef class CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
87#else
88typedef struct CCertEncodeCRLDistInfo CCertEncodeCRLDistInfo;
89#endif
90#endif
91
92#ifndef __CCertEncodeAltName_FWD_DEFINED__
93#define __CCertEncodeAltName_FWD_DEFINED__
94#ifdef __cplusplus
95typedef class CCertEncodeAltName CCertEncodeAltName;
96#else
97typedef struct CCertEncodeAltName CCertEncodeAltName;
98#endif
99#endif
100
101#ifndef __CCertEncodeBitString_FWD_DEFINED__
102#define __CCertEncodeBitString_FWD_DEFINED__
103#ifdef __cplusplus
104typedef class CCertEncodeBitString CCertEncodeBitString;
105#else
106typedef struct CCertEncodeBitString CCertEncodeBitString;
107#endif
108#endif
109
110#include "wtypes.h"
111#include "oaidl.h"
112
113#ifdef __cplusplus
114extern "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