ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/scardssp.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 74116 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
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 __scardssp_h__
23 #define __scardssp_h__
24
25 #ifndef __IByteBuffer_FWD_DEFINED__
26 #define __IByteBuffer_FWD_DEFINED__
27 typedef struct IByteBuffer IByteBuffer;
28 #endif
29
30 #ifndef __ISCardTypeConv_FWD_DEFINED__
31 #define __ISCardTypeConv_FWD_DEFINED__
32 typedef struct ISCardTypeConv ISCardTypeConv;
33 #endif
34
35 #ifndef __ISCardCmd_FWD_DEFINED__
36 #define __ISCardCmd_FWD_DEFINED__
37 typedef struct ISCardCmd ISCardCmd;
38 #endif
39
40 #ifndef __ISCardISO7816_FWD_DEFINED__
41 #define __ISCardISO7816_FWD_DEFINED__
42 typedef struct ISCardISO7816 ISCardISO7816;
43 #endif
44
45 #ifndef __ISCard_FWD_DEFINED__
46 #define __ISCard_FWD_DEFINED__
47 typedef struct ISCard ISCard;
48 #endif
49
50 #ifndef __ISCardDatabase_FWD_DEFINED__
51 #define __ISCardDatabase_FWD_DEFINED__
52 typedef struct ISCardDatabase ISCardDatabase;
53 #endif
54
55 #ifndef __ISCardLocate_FWD_DEFINED__
56 #define __ISCardLocate_FWD_DEFINED__
57 typedef struct ISCardLocate ISCardLocate;
58 #endif
59
60 #ifndef __CByteBuffer_FWD_DEFINED__
61 #define __CByteBuffer_FWD_DEFINED__
62 #ifdef __cplusplus
63 typedef class CByteBuffer CByteBuffer;
64 #else
65 typedef struct CByteBuffer CByteBuffer;
66 #endif
67 #endif
68
69 #ifndef __CSCardTypeConv_FWD_DEFINED__
70 #define __CSCardTypeConv_FWD_DEFINED__
71 #ifdef __cplusplus
72 typedef class CSCardTypeConv CSCardTypeConv;
73 #else
74 typedef struct CSCardTypeConv CSCardTypeConv;
75 #endif
76 #endif
77
78 #ifndef __CSCardCmd_FWD_DEFINED__
79 #define __CSCardCmd_FWD_DEFINED__
80 #ifdef __cplusplus
81 typedef class CSCardCmd CSCardCmd;
82 #else
83 typedef struct CSCardCmd CSCardCmd;
84 #endif
85 #endif
86
87 #ifndef __CSCardISO7816_FWD_DEFINED__
88 #define __CSCardISO7816_FWD_DEFINED__
89 #ifdef __cplusplus
90 typedef class CSCardISO7816 CSCardISO7816;
91 #else
92 typedef struct CSCardISO7816 CSCardISO7816;
93 #endif
94 #endif
95
96 #ifndef __CSCard_FWD_DEFINED__
97 #define __CSCard_FWD_DEFINED__
98 #ifdef __cplusplus
99 typedef class CSCard CSCard;
100 #else
101 typedef struct CSCard CSCard;
102 #endif
103 #endif
104
105 #ifndef __CSCardDatabase_FWD_DEFINED__
106 #define __CSCardDatabase_FWD_DEFINED__
107 #ifdef __cplusplus
108 typedef class CSCardDatabase CSCardDatabase;
109 #else
110 typedef struct CSCardDatabase CSCardDatabase;
111 #endif
112 #endif
113
114 #ifndef __CSCardLocate_FWD_DEFINED__
115 #define __CSCardLocate_FWD_DEFINED__
116 #ifdef __cplusplus
117 typedef class CSCardLocate CSCardLocate;
118 #else
119 typedef struct CSCardLocate CSCardLocate;
120 #endif
121 #endif
122
123 #include "oaidl.h"
124 #include "ocidl.h"
125
126 #ifdef __cplusplus
127 extern "C" {
128 #endif
129
130 #ifndef __MIDL_user_allocate_free_DEFINED__
131 #define __MIDL_user_allocate_free_DEFINED__
132 void *__RPC_API MIDL_user_allocate(size_t);
133 void __RPC_API MIDL_user_free(void *);
134 #endif
135
136 #ifndef _NULL_DEFINED
137 #define _NULL_DEFINED
138 #endif
139 #ifndef _BYTE_DEFINED
140 #define _BYTE_DEFINED
141 typedef unsigned char BYTE;
142 #endif
143 #ifndef _LPBYTE_DEFINED
144 #define _LPBYTE_DEFINED
145 typedef BYTE *LPBYTE;
146 #endif
147 #ifndef _LPCBYTE_DEFINED
148 #define _LPCBYTE_DEFINED
149 typedef const BYTE *LPCBYTE;
150 #endif
151 #ifndef _HSCARD_DEFINED
152 #define _HSCARD_DEFINED
153 typedef ULONG_PTR HSCARD;
154 #endif
155 #ifndef _LPHSCARD_DEFINED
156 #define _LPHSCARD_DEFINED
157 typedef HSCARD *PHSCARD;
158
159 typedef HSCARD *LPHSCARD;
160 #endif
161 #ifndef _HSCARDCONTEXT_DEFINED
162 #define _HSCARDCONTEXT_DEFINED
163 typedef ULONG_PTR HSCARDCONTEXT;
164 #endif
165 #ifndef _LPHSCARDCONTEXT_DEFINED
166 #define _LPHSCARDCONTEXT_DEFINED
167 typedef *PHSCARDCONTEXT;
168
169 typedef *LPHSCARDCONTEXT;
170 #endif
171 #ifndef _BYTEARRAY_DEFINED
172 #define _BYTEARRAY_DEFINED
173 typedef struct tagBYTEARRAY {
174 HGLOBAL hMem;
175 DWORD dwSize;
176 LPBYTE pbyData;
177 } BYTEARRAY;
178
179 #define _CB_BYTEARRAY_DEFINED
180 #define CB_BYTEARRAY (sizeof(BYTEARRAY))
181 #define _PBYTEARRAY_DEFINED
182 typedef BYTEARRAY *PBYTEARRAY;
183
184 #define _PCBYTEARRAY_DEFINED
185 typedef const BYTEARRAY *PCBYTEARRAY;
186
187 #define _LPBYTEARRAY_DEFINED
188 typedef BYTEARRAY *LPBYTEARRAY;
189
190 #define _LPCBYTEARRAY_DEFINED
191 typedef const BYTEARRAY *LPCBYTEARRAY;
192 #endif
193 #ifndef _STATSTRUCT
194 #define _STATSTRUCT
195 typedef struct tagSTATSTRUCT {
196 LONG type;
197 LONG cbSize;
198 LONG grfMode;
199 LONG grfLocksSupported;
200 LONG grfStateBits;
201 } STATSTRUCT;
202
203 #define _CB_STATSTRUCT_DEFINED
204 #define CB_STATSTRUCT (sizeof(STATSTRUCT))
205 #define _LPSTATSTRUCT_DEFINED
206 typedef STATSTRUCT *LPSTATSTRUCT;
207 #endif
208 #ifndef _ISO_APDU_TYPE
209 #define _ISO_APDU_TYPE
210 typedef enum tagISO_APDU_TYPE {
211 ISO_CASE_1 = 1,ISO_CASE_2 = 2,ISO_CASE_3 = 3,ISO_CASE_4 = 4
212 } ISO_APDU_TYPE;
213 #endif
214 #ifndef _SCARD_SHARE_MODES_DEFINED
215 #define _SCARD_SHARE_MODES_DEFINED
216 typedef enum tagSCARD_SHARE_MODES {
217 EXCLUSIVE = 1,SHARED = 2
218 } SCARD_SHARE_MODES;
219 #endif
220 #ifndef _SCARD_DISPOSITIONS_DEFINED
221 #define _SCARD_DISPOSITIONS_DEFINED
222 typedef enum tagSCARD_DISPOSITIONS {
223 LEAVE = 0,RESET = 1,UNPOWER = 2,EJECT = 3
224 } SCARD_DISPOSITIONS;
225 #endif
226 #ifndef _SCARD_STATES_DEFINED
227 #define _SCARD_STATES_DEFINED
228 typedef enum tagSCARD_STATES {
229 ABSENT = 1,PRESENT = 2,SWALLOWED = 3,POWERED = 4,NEGOTIABLEMODE = 5,SPECIFICMODE = 6
230 } SCARD_STATES;
231 #endif
232 #ifndef _SCARD_PROTOCOLS_DEFINED
233 #define _SCARD_PROTOCOLS_DEFINED
234 typedef enum tagSCARD_PROTOCOLS {
235 T0 = 0x1,T1 = 0x2,RAW = 0xff
236 } SCARD_PROTOCOLS;
237 #endif
238 #ifndef _SCARD_INFO
239 #define _SCARD_INFO
240 typedef struct tagSCARDINFO {
241 HSCARD hCard;
242 HSCARDCONTEXT hContext;
243 SCARD_PROTOCOLS ActiveProtocol;
244 SCARD_SHARE_MODES ShareMode;
245 LONG_PTR hwndOwner;
246 LONG_PTR lpfnConnectProc;
247 LONG_PTR lpfnCheckProc;
248 LONG_PTR lpfnDisconnectProc;
249 } SCARDINFO;
250
251 #define _LPSCARDINFO
252 typedef SCARDINFO *PSCARDINFO;
253 typedef SCARDINFO *LPSCARDINFO;
254 #endif
255
256 #ifndef _LPBYTEBUFFER_DEFINED
257 #define _LPBYTEBUFFER_DEFINED
258 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0000_v0_0_c_ifspec;
259 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0000_v0_0_s_ifspec;
260
261 #ifndef __IByteBuffer_INTERFACE_DEFINED__
262 #define __IByteBuffer_INTERFACE_DEFINED__
263 typedef IByteBuffer *LPBYTEBUFFER;
264 typedef const IByteBuffer *LPCBYTEBUFFER;
265
266 EXTERN_C const IID IID_IByteBuffer;
267 #if defined(__cplusplus) && !defined(CINTERFACE)
268 struct IByteBuffer : public IDispatch {
269 public:
270 virtual HRESULT WINAPI get_Stream(LPSTREAM *ppStream) = 0;
271 virtual HRESULT WINAPI put_Stream(LPSTREAM pStream) = 0;
272 virtual HRESULT WINAPI Clone(LPBYTEBUFFER *ppByteBuffer) = 0;
273 virtual HRESULT WINAPI Commit(LONG grfCommitFlags) = 0;
274 virtual HRESULT WINAPI CopyTo(LPBYTEBUFFER *ppByteBuffer,LONG cb,LONG *pcbRead = 0,LONG *pcbWritten = 0) = 0;
275 virtual HRESULT WINAPI Initialize(LONG lSize = 1,BYTE *pData = 0) = 0;
276 virtual HRESULT WINAPI LockRegion(LONG libOffset,LONG cb,LONG dwLockType) = 0;
277 virtual HRESULT WINAPI Read(BYTE *pByte,LONG cb,LONG *pcbRead = 0) = 0;
278 virtual HRESULT WINAPI Revert(void) = 0;
279 virtual HRESULT WINAPI Seek(LONG dLibMove,LONG dwOrigin,LONG *pLibnewPosition = 0) = 0;
280 virtual HRESULT WINAPI SetSize(LONG libNewSize) = 0;
281 virtual HRESULT WINAPI Stat(LPSTATSTRUCT pstatstg,LONG grfStatFlag) = 0;
282 virtual HRESULT WINAPI UnlockRegion(LONG libOffset,LONG cb,LONG dwLockType) = 0;
283 virtual HRESULT WINAPI Write(BYTE *pByte,LONG cb,LONG *pcbWritten) = 0;
284 };
285 #else
286 typedef struct IByteBufferVtbl {
287 BEGIN_INTERFACE
288 HRESULT (WINAPI *QueryInterface)(IByteBuffer *This,REFIID riid,void **ppvObject);
289 ULONG (WINAPI *AddRef)(IByteBuffer *This);
290 ULONG (WINAPI *Release)(IByteBuffer *This);
291 HRESULT (WINAPI *GetTypeInfoCount)(IByteBuffer *This,UINT *pctinfo);
292 HRESULT (WINAPI *GetTypeInfo)(IByteBuffer *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
293 HRESULT (WINAPI *GetIDsOfNames)(IByteBuffer *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
294 HRESULT (WINAPI *Invoke)(IByteBuffer *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
295 HRESULT (WINAPI *get_Stream)(IByteBuffer *This,LPSTREAM *ppStream);
296 HRESULT (WINAPI *put_Stream)(IByteBuffer *This,LPSTREAM pStream);
297 HRESULT (WINAPI *Clone)(IByteBuffer *This,LPBYTEBUFFER *ppByteBuffer);
298 HRESULT (WINAPI *Commit)(IByteBuffer *This,LONG grfCommitFlags);
299 HRESULT (WINAPI *CopyTo)(IByteBuffer *This,LPBYTEBUFFER *ppByteBuffer,LONG cb,LONG *pcbRead,LONG *pcbWritten);
300 HRESULT (WINAPI *Initialize)(IByteBuffer *This,LONG lSize,BYTE *pData);
301 HRESULT (WINAPI *LockRegion)(IByteBuffer *This,LONG libOffset,LONG cb,LONG dwLockType);
302 HRESULT (WINAPI *Read)(IByteBuffer *This,BYTE *pByte,LONG cb,LONG *pcbRead);
303 HRESULT (WINAPI *Revert)(IByteBuffer *This);
304 HRESULT (WINAPI *Seek)(IByteBuffer *This,LONG dLibMove,LONG dwOrigin,LONG *pLibnewPosition);
305 HRESULT (WINAPI *SetSize)(IByteBuffer *This,LONG libNewSize);
306 HRESULT (WINAPI *Stat)(IByteBuffer *This,LPSTATSTRUCT pstatstg,LONG grfStatFlag);
307 HRESULT (WINAPI *UnlockRegion)(IByteBuffer *This,LONG libOffset,LONG cb,LONG dwLockType);
308 HRESULT (WINAPI *Write)(IByteBuffer *This,BYTE *pByte,LONG cb,LONG *pcbWritten);
309 END_INTERFACE
310 } IByteBufferVtbl;
311 struct IByteBuffer {
312 CONST_VTBL struct IByteBufferVtbl *lpVtbl;
313 };
314 #ifdef COBJMACROS
315 #define IByteBuffer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
316 #define IByteBuffer_AddRef(This) (This)->lpVtbl->AddRef(This)
317 #define IByteBuffer_Release(This) (This)->lpVtbl->Release(This)
318 #define IByteBuffer_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
319 #define IByteBuffer_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
320 #define IByteBuffer_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
321 #define IByteBuffer_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
322 #define IByteBuffer_get_Stream(This,ppStream) (This)->lpVtbl->get_Stream(This,ppStream)
323 #define IByteBuffer_put_Stream(This,pStream) (This)->lpVtbl->put_Stream(This,pStream)
324 #define IByteBuffer_Clone(This,ppByteBuffer) (This)->lpVtbl->Clone(This,ppByteBuffer)
325 #define IByteBuffer_Commit(This,grfCommitFlags) (This)->lpVtbl->Commit(This,grfCommitFlags)
326 #define IByteBuffer_CopyTo(This,ppByteBuffer,cb,pcbRead,pcbWritten) (This)->lpVtbl->CopyTo(This,ppByteBuffer,cb,pcbRead,pcbWritten)
327 #define IByteBuffer_Initialize(This,lSize,pData) (This)->lpVtbl->Initialize(This,lSize,pData)
328 #define IByteBuffer_LockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->LockRegion(This,libOffset,cb,dwLockType)
329 #define IByteBuffer_Read(This,pByte,cb,pcbRead) (This)->lpVtbl->Read(This,pByte,cb,pcbRead)
330 #define IByteBuffer_Revert(This) (This)->lpVtbl->Revert(This)
331 #define IByteBuffer_Seek(This,dLibMove,dwOrigin,pLibnewPosition) (This)->lpVtbl->Seek(This,dLibMove,dwOrigin,pLibnewPosition)
332 #define IByteBuffer_SetSize(This,libNewSize) (This)->lpVtbl->SetSize(This,libNewSize)
333 #define IByteBuffer_Stat(This,pstatstg,grfStatFlag) (This)->lpVtbl->Stat(This,pstatstg,grfStatFlag)
334 #define IByteBuffer_UnlockRegion(This,libOffset,cb,dwLockType) (This)->lpVtbl->UnlockRegion(This,libOffset,cb,dwLockType)
335 #define IByteBuffer_Write(This,pByte,cb,pcbWritten) (This)->lpVtbl->Write(This,pByte,cb,pcbWritten)
336 #endif
337 #endif
338 HRESULT WINAPI IByteBuffer_get_Stream_Proxy(IByteBuffer *This,LPSTREAM *ppStream);
339 void __RPC_STUB IByteBuffer_get_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
340 HRESULT WINAPI IByteBuffer_put_Stream_Proxy(IByteBuffer *This,LPSTREAM pStream);
341 void __RPC_STUB IByteBuffer_put_Stream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
342 HRESULT WINAPI IByteBuffer_Clone_Proxy(IByteBuffer *This,LPBYTEBUFFER *ppByteBuffer);
343 void __RPC_STUB IByteBuffer_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
344 HRESULT WINAPI IByteBuffer_Commit_Proxy(IByteBuffer *This,LONG grfCommitFlags);
345 void __RPC_STUB IByteBuffer_Commit_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
346 HRESULT WINAPI IByteBuffer_CopyTo_Proxy(IByteBuffer *This,LPBYTEBUFFER *ppByteBuffer,LONG cb,LONG *pcbRead,LONG *pcbWritten);
347 void __RPC_STUB IByteBuffer_CopyTo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
348 HRESULT WINAPI IByteBuffer_Initialize_Proxy(IByteBuffer *This,LONG lSize,BYTE *pData);
349 void __RPC_STUB IByteBuffer_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
350 HRESULT WINAPI IByteBuffer_LockRegion_Proxy(IByteBuffer *This,LONG libOffset,LONG cb,LONG dwLockType);
351 void __RPC_STUB IByteBuffer_LockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
352 HRESULT WINAPI IByteBuffer_Read_Proxy(IByteBuffer *This,BYTE *pByte,LONG cb,LONG *pcbRead);
353 void __RPC_STUB IByteBuffer_Read_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
354 HRESULT WINAPI IByteBuffer_Revert_Proxy(IByteBuffer *This);
355 void __RPC_STUB IByteBuffer_Revert_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
356 HRESULT WINAPI IByteBuffer_Seek_Proxy(IByteBuffer *This,LONG dLibMove,LONG dwOrigin,LONG *pLibnewPosition);
357 void __RPC_STUB IByteBuffer_Seek_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
358 HRESULT WINAPI IByteBuffer_SetSize_Proxy(IByteBuffer *This,LONG libNewSize);
359 void __RPC_STUB IByteBuffer_SetSize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
360 HRESULT WINAPI IByteBuffer_Stat_Proxy(IByteBuffer *This,LPSTATSTRUCT pstatstg,LONG grfStatFlag);
361 void __RPC_STUB IByteBuffer_Stat_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
362 HRESULT WINAPI IByteBuffer_UnlockRegion_Proxy(IByteBuffer *This,LONG libOffset,LONG cb,LONG dwLockType);
363 void __RPC_STUB IByteBuffer_UnlockRegion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
364 HRESULT WINAPI IByteBuffer_Write_Proxy(IByteBuffer *This,BYTE *pByte,LONG cb,LONG *pcbWritten);
365 void __RPC_STUB IByteBuffer_Write_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
366 #endif
367 #endif
368
369 #ifndef _LPSCARDTYPECONV_DEFINED
370 #define _LPSCARDTYPECONV_DEFINED
371 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0244_v0_0_c_ifspec;
372 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0244_v0_0_s_ifspec;
373
374 #ifndef __ISCardTypeConv_INTERFACE_DEFINED__
375 #define __ISCardTypeConv_INTERFACE_DEFINED__
376 typedef ISCardTypeConv *LPSCARDTYPECONV;
377
378 EXTERN_C const IID IID_ISCardTypeConv;
379 #if defined(__cplusplus) && !defined(CINTERFACE)
380 struct ISCardTypeConv : public IDispatch {
381 public:
382 virtual HRESULT WINAPI ConvertByteArrayToByteBuffer(LPBYTE pbyArray,DWORD dwArraySize,LPBYTEBUFFER *ppbyBuffer) = 0;
383 virtual HRESULT WINAPI ConvertByteBufferToByteArray(LPBYTEBUFFER pbyBuffer,LPBYTEARRAY *ppArray) = 0;
384 virtual HRESULT WINAPI ConvertByteBufferToSafeArray(LPBYTEBUFFER pbyBuffer,LPSAFEARRAY *ppbyArray) = 0;
385 virtual HRESULT WINAPI ConvertSafeArrayToByteBuffer(LPSAFEARRAY pbyArray,LPBYTEBUFFER *ppbyBuff) = 0;
386 virtual HRESULT WINAPI CreateByteArray(DWORD dwAllocSize,LPBYTE *ppbyArray) = 0;
387 virtual HRESULT WINAPI CreateByteBuffer(DWORD dwAllocSize,LPBYTEBUFFER *ppbyBuff) = 0;
388 virtual HRESULT WINAPI CreateSafeArray(UINT nAllocSize,LPSAFEARRAY *ppArray) = 0;
389 virtual HRESULT WINAPI FreeIStreamMemoryPtr(LPSTREAM pStrm,LPBYTE pMem) = 0;
390 virtual HRESULT WINAPI GetAtIStreamMemory(LPSTREAM pStrm,LPBYTEARRAY *ppMem) = 0;
391 virtual HRESULT WINAPI SizeOfIStream(LPSTREAM pStrm,ULARGE_INTEGER *puliSize) = 0;
392 };
393 #else
394 typedef struct ISCardTypeConvVtbl {
395 BEGIN_INTERFACE
396 HRESULT (WINAPI *QueryInterface)(ISCardTypeConv *This,REFIID riid,void **ppvObject);
397 ULONG (WINAPI *AddRef)(ISCardTypeConv *This);
398 ULONG (WINAPI *Release)(ISCardTypeConv *This);
399 HRESULT (WINAPI *GetTypeInfoCount)(ISCardTypeConv *This,UINT *pctinfo);
400 HRESULT (WINAPI *GetTypeInfo)(ISCardTypeConv *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
401 HRESULT (WINAPI *GetIDsOfNames)(ISCardTypeConv *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
402 HRESULT (WINAPI *Invoke)(ISCardTypeConv *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
403 HRESULT (WINAPI *ConvertByteArrayToByteBuffer)(ISCardTypeConv *This,LPBYTE pbyArray,DWORD dwArraySize,LPBYTEBUFFER *ppbyBuffer);
404 HRESULT (WINAPI *ConvertByteBufferToByteArray)(ISCardTypeConv *This,LPBYTEBUFFER pbyBuffer,LPBYTEARRAY *ppArray);
405 HRESULT (WINAPI *ConvertByteBufferToSafeArray)(ISCardTypeConv *This,LPBYTEBUFFER pbyBuffer,LPSAFEARRAY *ppbyArray);
406 HRESULT (WINAPI *ConvertSafeArrayToByteBuffer)(ISCardTypeConv *This,LPSAFEARRAY pbyArray,LPBYTEBUFFER *ppbyBuff);
407 HRESULT (WINAPI *CreateByteArray)(ISCardTypeConv *This,DWORD dwAllocSize,LPBYTE *ppbyArray);
408 HRESULT (WINAPI *CreateByteBuffer)(ISCardTypeConv *This,DWORD dwAllocSize,LPBYTEBUFFER *ppbyBuff);
409 HRESULT (WINAPI *CreateSafeArray)(ISCardTypeConv *This,UINT nAllocSize,LPSAFEARRAY *ppArray);
410 HRESULT (WINAPI *FreeIStreamMemoryPtr)(ISCardTypeConv *This,LPSTREAM pStrm,LPBYTE pMem);
411 HRESULT (WINAPI *GetAtIStreamMemory)(ISCardTypeConv *This,LPSTREAM pStrm,LPBYTEARRAY *ppMem);
412 HRESULT (WINAPI *SizeOfIStream)(ISCardTypeConv *This,LPSTREAM pStrm,ULARGE_INTEGER *puliSize);
413 END_INTERFACE
414 } ISCardTypeConvVtbl;
415 struct ISCardTypeConv {
416 CONST_VTBL struct ISCardTypeConvVtbl *lpVtbl;
417 };
418 #ifdef COBJMACROS
419 #define ISCardTypeConv_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
420 #define ISCardTypeConv_AddRef(This) (This)->lpVtbl->AddRef(This)
421 #define ISCardTypeConv_Release(This) (This)->lpVtbl->Release(This)
422 #define ISCardTypeConv_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
423 #define ISCardTypeConv_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
424 #define ISCardTypeConv_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
425 #define ISCardTypeConv_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
426 #define ISCardTypeConv_ConvertByteArrayToByteBuffer(This,pbyArray,dwArraySize,ppbyBuffer) (This)->lpVtbl->ConvertByteArrayToByteBuffer(This,pbyArray,dwArraySize,ppbyBuffer)
427 #define ISCardTypeConv_ConvertByteBufferToByteArray(This,pbyBuffer,ppArray) (This)->lpVtbl->ConvertByteBufferToByteArray(This,pbyBuffer,ppArray)
428 #define ISCardTypeConv_ConvertByteBufferToSafeArray(This,pbyBuffer,ppbyArray) (This)->lpVtbl->ConvertByteBufferToSafeArray(This,pbyBuffer,ppbyArray)
429 #define ISCardTypeConv_ConvertSafeArrayToByteBuffer(This,pbyArray,ppbyBuff) (This)->lpVtbl->ConvertSafeArrayToByteBuffer(This,pbyArray,ppbyBuff)
430 #define ISCardTypeConv_CreateByteArray(This,dwAllocSize,ppbyArray) (This)->lpVtbl->CreateByteArray(This,dwAllocSize,ppbyArray)
431 #define ISCardTypeConv_CreateByteBuffer(This,dwAllocSize,ppbyBuff) (This)->lpVtbl->CreateByteBuffer(This,dwAllocSize,ppbyBuff)
432 #define ISCardTypeConv_CreateSafeArray(This,nAllocSize,ppArray) (This)->lpVtbl->CreateSafeArray(This,nAllocSize,ppArray)
433 #define ISCardTypeConv_FreeIStreamMemoryPtr(This,pStrm,pMem) (This)->lpVtbl->FreeIStreamMemoryPtr(This,pStrm,pMem)
434 #define ISCardTypeConv_GetAtIStreamMemory(This,pStrm,ppMem) (This)->lpVtbl->GetAtIStreamMemory(This,pStrm,ppMem)
435 #define ISCardTypeConv_SizeOfIStream(This,pStrm,puliSize) (This)->lpVtbl->SizeOfIStream(This,pStrm,puliSize)
436 #endif
437 #endif
438 HRESULT WINAPI ISCardTypeConv_ConvertByteArrayToByteBuffer_Proxy(ISCardTypeConv *This,LPBYTE pbyArray,DWORD dwArraySize,LPBYTEBUFFER *ppbyBuffer);
439 void __RPC_STUB ISCardTypeConv_ConvertByteArrayToByteBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
440 HRESULT WINAPI ISCardTypeConv_ConvertByteBufferToByteArray_Proxy(ISCardTypeConv *This,LPBYTEBUFFER pbyBuffer,LPBYTEARRAY *ppArray);
441 void __RPC_STUB ISCardTypeConv_ConvertByteBufferToByteArray_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
442 HRESULT WINAPI ISCardTypeConv_ConvertByteBufferToSafeArray_Proxy(ISCardTypeConv *This,LPBYTEBUFFER pbyBuffer,LPSAFEARRAY *ppbyArray);
443 void __RPC_STUB ISCardTypeConv_ConvertByteBufferToSafeArray_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
444 HRESULT WINAPI ISCardTypeConv_ConvertSafeArrayToByteBuffer_Proxy(ISCardTypeConv *This,LPSAFEARRAY pbyArray,LPBYTEBUFFER *ppbyBuff);
445 void __RPC_STUB ISCardTypeConv_ConvertSafeArrayToByteBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
446 HRESULT WINAPI ISCardTypeConv_CreateByteArray_Proxy(ISCardTypeConv *This,DWORD dwAllocSize,LPBYTE *ppbyArray);
447 void __RPC_STUB ISCardTypeConv_CreateByteArray_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
448 HRESULT WINAPI ISCardTypeConv_CreateByteBuffer_Proxy(ISCardTypeConv *This,DWORD dwAllocSize,LPBYTEBUFFER *ppbyBuff);
449 void __RPC_STUB ISCardTypeConv_CreateByteBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
450 HRESULT WINAPI ISCardTypeConv_CreateSafeArray_Proxy(ISCardTypeConv *This,UINT nAllocSize,LPSAFEARRAY *ppArray);
451 void __RPC_STUB ISCardTypeConv_CreateSafeArray_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
452 HRESULT WINAPI ISCardTypeConv_FreeIStreamMemoryPtr_Proxy(ISCardTypeConv *This,LPSTREAM pStrm,LPBYTE pMem);
453 void __RPC_STUB ISCardTypeConv_FreeIStreamMemoryPtr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
454 HRESULT WINAPI ISCardTypeConv_GetAtIStreamMemory_Proxy(ISCardTypeConv *This,LPSTREAM pStrm,LPBYTEARRAY *ppMem);
455 void __RPC_STUB ISCardTypeConv_GetAtIStreamMemory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
456 HRESULT WINAPI ISCardTypeConv_SizeOfIStream_Proxy(ISCardTypeConv *This,LPSTREAM pStrm,ULARGE_INTEGER *puliSize);
457 void __RPC_STUB ISCardTypeConv_SizeOfIStream_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
458 #endif
459 #endif
460
461 #ifndef _LPSCARDCMD_DEFINED
462 #define _LPSCARDCMD_DEFINED
463 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0245_v0_0_c_ifspec;
464 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0245_v0_0_s_ifspec;
465 #ifndef __ISCardCmd_INTERFACE_DEFINED__
466 #define __ISCardCmd_INTERFACE_DEFINED__
467 typedef ISCardCmd *LPSCARDCMD;
468
469 EXTERN_C const IID IID_ISCardCmd;
470 #if defined(__cplusplus) && !defined(CINTERFACE)
471 struct ISCardCmd : public IDispatch {
472 public:
473 virtual HRESULT WINAPI get_Apdu(LPBYTEBUFFER *ppApdu) = 0;
474 virtual HRESULT WINAPI put_Apdu(LPBYTEBUFFER pApdu) = 0;
475 virtual HRESULT WINAPI get_ApduLength(LONG *plSize) = 0;
476 virtual HRESULT WINAPI get_ApduReply(LPBYTEBUFFER *ppReplyApdu) = 0;
477 virtual HRESULT WINAPI put_ApduReply(LPBYTEBUFFER pReplyApdu) = 0;
478 virtual HRESULT WINAPI get_ApduReplyLength(LONG *plSize) = 0;
479 virtual HRESULT WINAPI put_ApduReplyLength(LONG lSize) = 0;
480 virtual HRESULT WINAPI get_ClassId(BYTE *pbyClass) = 0;
481 virtual HRESULT WINAPI put_ClassId(BYTE byClass = 0) = 0;
482 virtual HRESULT WINAPI get_Data(LPBYTEBUFFER *ppData) = 0;
483 virtual HRESULT WINAPI put_Data(LPBYTEBUFFER pData) = 0;
484 virtual HRESULT WINAPI get_InstructionId(BYTE *pbyIns) = 0;
485 virtual HRESULT WINAPI put_InstructionId(BYTE byIns) = 0;
486 virtual HRESULT WINAPI get_LeField(LONG *plSize) = 0;
487 virtual HRESULT WINAPI get_P1(BYTE *pbyP1) = 0;
488 virtual HRESULT WINAPI put_P1(BYTE byP1) = 0;
489 virtual HRESULT WINAPI get_P2(BYTE *pbyP2) = 0;
490 virtual HRESULT WINAPI put_P2(BYTE byP2) = 0;
491 virtual HRESULT WINAPI get_P3(BYTE *pbyP3) = 0;
492 virtual HRESULT WINAPI get_ReplyStatus(LPWORD pwStatus) = 0;
493 virtual HRESULT WINAPI put_ReplyStatus(WORD wStatus) = 0;
494 virtual HRESULT WINAPI get_ReplyStatusSW1(BYTE *pbySW1) = 0;
495 virtual HRESULT WINAPI get_ReplyStatusSW2(BYTE *pbySW2) = 0;
496 virtual HRESULT WINAPI get_Type(ISO_APDU_TYPE *pType) = 0;
497 virtual HRESULT WINAPI get_Nad(BYTE *pbNad) = 0;
498 virtual HRESULT WINAPI put_Nad(BYTE bNad) = 0;
499 virtual HRESULT WINAPI get_ReplyNad(BYTE *pbNad) = 0;
500 virtual HRESULT WINAPI put_ReplyNad(BYTE bNad) = 0;
501 virtual HRESULT WINAPI BuildCmd(BYTE byClassId,BYTE byInsId,BYTE byP1 = 0,BYTE byP2 = 0,LPBYTEBUFFER pbyData = 0,LONG *plLe = 0) = 0;
502 virtual HRESULT WINAPI Clear(void) = 0;
503 virtual HRESULT WINAPI Encapsulate(LPBYTEBUFFER pApdu,ISO_APDU_TYPE ApduType) = 0;
504 virtual HRESULT WINAPI get_AlternateClassId(BYTE *pbyClass) = 0;
505 virtual HRESULT WINAPI put_AlternateClassId(BYTE byClass) = 0;
506 };
507 #else
508 typedef struct ISCardCmdVtbl {
509 BEGIN_INTERFACE
510 HRESULT (WINAPI *QueryInterface)(ISCardCmd *This,REFIID riid,void **ppvObject);
511 ULONG (WINAPI *AddRef)(ISCardCmd *This);
512 ULONG (WINAPI *Release)(ISCardCmd *This);
513 HRESULT (WINAPI *GetTypeInfoCount)(ISCardCmd *This,UINT *pctinfo);
514 HRESULT (WINAPI *GetTypeInfo)(ISCardCmd *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
515 HRESULT (WINAPI *GetIDsOfNames)(ISCardCmd *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
516 HRESULT (WINAPI *Invoke)(ISCardCmd *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
517 HRESULT (WINAPI *get_Apdu)(ISCardCmd *This,LPBYTEBUFFER *ppApdu);
518 HRESULT (WINAPI *put_Apdu)(ISCardCmd *This,LPBYTEBUFFER pApdu);
519 HRESULT (WINAPI *get_ApduLength)(ISCardCmd *This,LONG *plSize);
520 HRESULT (WINAPI *get_ApduReply)(ISCardCmd *This,LPBYTEBUFFER *ppReplyApdu);
521 HRESULT (WINAPI *put_ApduReply)(ISCardCmd *This,LPBYTEBUFFER pReplyApdu);
522 HRESULT (WINAPI *get_ApduReplyLength)(ISCardCmd *This,LONG *plSize);
523 HRESULT (WINAPI *put_ApduReplyLength)(ISCardCmd *This,LONG lSize);
524 HRESULT (WINAPI *get_ClassId)(ISCardCmd *This,BYTE *pbyClass);
525 HRESULT (WINAPI *put_ClassId)(ISCardCmd *This,BYTE byClass);
526 HRESULT (WINAPI *get_Data)(ISCardCmd *This,LPBYTEBUFFER *ppData);
527 HRESULT (WINAPI *put_Data)(ISCardCmd *This,LPBYTEBUFFER pData);
528 HRESULT (WINAPI *get_InstructionId)(ISCardCmd *This,BYTE *pbyIns);
529 HRESULT (WINAPI *put_InstructionId)(ISCardCmd *This,BYTE byIns);
530 HRESULT (WINAPI *get_LeField)(ISCardCmd *This,LONG *plSize);
531 HRESULT (WINAPI *get_P1)(ISCardCmd *This,BYTE *pbyP1);
532 HRESULT (WINAPI *put_P1)(ISCardCmd *This,BYTE byP1);
533 HRESULT (WINAPI *get_P2)(ISCardCmd *This,BYTE *pbyP2);
534 HRESULT (WINAPI *put_P2)(ISCardCmd *This,BYTE byP2);
535 HRESULT (WINAPI *get_P3)(ISCardCmd *This,BYTE *pbyP3);
536 HRESULT (WINAPI *get_ReplyStatus)(ISCardCmd *This,LPWORD pwStatus);
537 HRESULT (WINAPI *put_ReplyStatus)(ISCardCmd *This,WORD wStatus);
538 HRESULT (WINAPI *get_ReplyStatusSW1)(ISCardCmd *This,BYTE *pbySW1);
539 HRESULT (WINAPI *get_ReplyStatusSW2)(ISCardCmd *This,BYTE *pbySW2);
540 HRESULT (WINAPI *get_Type)(ISCardCmd *This,ISO_APDU_TYPE *pType);
541 HRESULT (WINAPI *get_Nad)(ISCardCmd *This,BYTE *pbNad);
542 HRESULT (WINAPI *put_Nad)(ISCardCmd *This,BYTE bNad);
543 HRESULT (WINAPI *get_ReplyNad)(ISCardCmd *This,BYTE *pbNad);
544 HRESULT (WINAPI *put_ReplyNad)(ISCardCmd *This,BYTE bNad);
545 HRESULT (WINAPI *BuildCmd)(ISCardCmd *This,BYTE byClassId,BYTE byInsId,BYTE byP1,BYTE byP2,LPBYTEBUFFER pbyData,LONG *plLe);
546 HRESULT (WINAPI *Clear)(ISCardCmd *This);
547 HRESULT (WINAPI *Encapsulate)(ISCardCmd *This,LPBYTEBUFFER pApdu,ISO_APDU_TYPE ApduType);
548 HRESULT (WINAPI *get_AlternateClassId)(ISCardCmd *This,BYTE *pbyClass);
549 HRESULT (WINAPI *put_AlternateClassId)(ISCardCmd *This,BYTE byClass);
550 END_INTERFACE
551 } ISCardCmdVtbl;
552 struct ISCardCmd {
553 CONST_VTBL struct ISCardCmdVtbl *lpVtbl;
554 };
555 #ifdef COBJMACROS
556 #define ISCardCmd_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
557 #define ISCardCmd_AddRef(This) (This)->lpVtbl->AddRef(This)
558 #define ISCardCmd_Release(This) (This)->lpVtbl->Release(This)
559 #define ISCardCmd_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
560 #define ISCardCmd_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
561 #define ISCardCmd_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
562 #define ISCardCmd_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
563 #define ISCardCmd_get_Apdu(This,ppApdu) (This)->lpVtbl->get_Apdu(This,ppApdu)
564 #define ISCardCmd_put_Apdu(This,pApdu) (This)->lpVtbl->put_Apdu(This,pApdu)
565 #define ISCardCmd_get_ApduLength(This,plSize) (This)->lpVtbl->get_ApduLength(This,plSize)
566 #define ISCardCmd_get_ApduReply(This,ppReplyApdu) (This)->lpVtbl->get_ApduReply(This,ppReplyApdu)
567 #define ISCardCmd_put_ApduReply(This,pReplyApdu) (This)->lpVtbl->put_ApduReply(This,pReplyApdu)
568 #define ISCardCmd_get_ApduReplyLength(This,plSize) (This)->lpVtbl->get_ApduReplyLength(This,plSize)
569 #define ISCardCmd_put_ApduReplyLength(This,lSize) (This)->lpVtbl->put_ApduReplyLength(This,lSize)
570 #define ISCardCmd_get_ClassId(This,pbyClass) (This)->lpVtbl->get_ClassId(This,pbyClass)
571 #define ISCardCmd_put_ClassId(This,byClass) (This)->lpVtbl->put_ClassId(This,byClass)
572 #define ISCardCmd_get_Data(This,ppData) (This)->lpVtbl->get_Data(This,ppData)
573 #define ISCardCmd_put_Data(This,pData) (This)->lpVtbl->put_Data(This,pData)
574 #define ISCardCmd_get_InstructionId(This,pbyIns) (This)->lpVtbl->get_InstructionId(This,pbyIns)
575 #define ISCardCmd_put_InstructionId(This,byIns) (This)->lpVtbl->put_InstructionId(This,byIns)
576 #define ISCardCmd_get_LeField(This,plSize) (This)->lpVtbl->get_LeField(This,plSize)
577 #define ISCardCmd_get_P1(This,pbyP1) (This)->lpVtbl->get_P1(This,pbyP1)
578 #define ISCardCmd_put_P1(This,byP1) (This)->lpVtbl->put_P1(This,byP1)
579 #define ISCardCmd_get_P2(This,pbyP2) (This)->lpVtbl->get_P2(This,pbyP2)
580 #define ISCardCmd_put_P2(This,byP2) (This)->lpVtbl->put_P2(This,byP2)
581 #define ISCardCmd_get_P3(This,pbyP3) (This)->lpVtbl->get_P3(This,pbyP3)
582 #define ISCardCmd_get_ReplyStatus(This,pwStatus) (This)->lpVtbl->get_ReplyStatus(This,pwStatus)
583 #define ISCardCmd_put_ReplyStatus(This,wStatus) (This)->lpVtbl->put_ReplyStatus(This,wStatus)
584 #define ISCardCmd_get_ReplyStatusSW1(This,pbySW1) (This)->lpVtbl->get_ReplyStatusSW1(This,pbySW1)
585 #define ISCardCmd_get_ReplyStatusSW2(This,pbySW2) (This)->lpVtbl->get_ReplyStatusSW2(This,pbySW2)
586 #define ISCardCmd_get_Type(This,pType) (This)->lpVtbl->get_Type(This,pType)
587 #define ISCardCmd_get_Nad(This,pbNad) (This)->lpVtbl->get_Nad(This,pbNad)
588 #define ISCardCmd_put_Nad(This,bNad) (This)->lpVtbl->put_Nad(This,bNad)
589 #define ISCardCmd_get_ReplyNad(This,pbNad) (This)->lpVtbl->get_ReplyNad(This,pbNad)
590 #define ISCardCmd_put_ReplyNad(This,bNad) (This)->lpVtbl->put_ReplyNad(This,bNad)
591 #define ISCardCmd_BuildCmd(This,byClassId,byInsId,byP1,byP2,pbyData,plLe) (This)->lpVtbl->BuildCmd(This,byClassId,byInsId,byP1,byP2,pbyData,plLe)
592 #define ISCardCmd_Clear(This) (This)->lpVtbl->Clear(This)
593 #define ISCardCmd_Encapsulate(This,pApdu,ApduType) (This)->lpVtbl->Encapsulate(This,pApdu,ApduType)
594 #define ISCardCmd_get_AlternateClassId(This,pbyClass) (This)->lpVtbl->get_AlternateClassId(This,pbyClass)
595 #define ISCardCmd_put_AlternateClassId(This,byClass) (This)->lpVtbl->put_AlternateClassId(This,byClass)
596 #endif
597 #endif
598 HRESULT WINAPI ISCardCmd_get_Apdu_Proxy(ISCardCmd *This,LPBYTEBUFFER *ppApdu);
599 void __RPC_STUB ISCardCmd_get_Apdu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
600 HRESULT WINAPI ISCardCmd_put_Apdu_Proxy(ISCardCmd *This,LPBYTEBUFFER pApdu);
601 void __RPC_STUB ISCardCmd_put_Apdu_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
602 HRESULT WINAPI ISCardCmd_get_ApduLength_Proxy(ISCardCmd *This,LONG *plSize);
603 void __RPC_STUB ISCardCmd_get_ApduLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
604 HRESULT WINAPI ISCardCmd_get_ApduReply_Proxy(ISCardCmd *This,LPBYTEBUFFER *ppReplyApdu);
605 void __RPC_STUB ISCardCmd_get_ApduReply_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
606 HRESULT WINAPI ISCardCmd_put_ApduReply_Proxy(ISCardCmd *This,LPBYTEBUFFER pReplyApdu);
607 void __RPC_STUB ISCardCmd_put_ApduReply_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
608 HRESULT WINAPI ISCardCmd_get_ApduReplyLength_Proxy(ISCardCmd *This,LONG *plSize);
609 void __RPC_STUB ISCardCmd_get_ApduReplyLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
610 HRESULT WINAPI ISCardCmd_put_ApduReplyLength_Proxy(ISCardCmd *This,LONG lSize);
611 void __RPC_STUB ISCardCmd_put_ApduReplyLength_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
612 HRESULT WINAPI ISCardCmd_get_ClassId_Proxy(ISCardCmd *This,BYTE *pbyClass);
613 void __RPC_STUB ISCardCmd_get_ClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
614 HRESULT WINAPI ISCardCmd_put_ClassId_Proxy(ISCardCmd *This,BYTE byClass);
615 void __RPC_STUB ISCardCmd_put_ClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
616 HRESULT WINAPI ISCardCmd_get_Data_Proxy(ISCardCmd *This,LPBYTEBUFFER *ppData);
617 void __RPC_STUB ISCardCmd_get_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
618 HRESULT WINAPI ISCardCmd_put_Data_Proxy(ISCardCmd *This,LPBYTEBUFFER pData);
619 void __RPC_STUB ISCardCmd_put_Data_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
620 HRESULT WINAPI ISCardCmd_get_InstructionId_Proxy(ISCardCmd *This,BYTE *pbyIns);
621 void __RPC_STUB ISCardCmd_get_InstructionId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
622 HRESULT WINAPI ISCardCmd_put_InstructionId_Proxy(ISCardCmd *This,BYTE byIns);
623 void __RPC_STUB ISCardCmd_put_InstructionId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
624 HRESULT WINAPI ISCardCmd_get_LeField_Proxy(ISCardCmd *This,LONG *plSize);
625 void __RPC_STUB ISCardCmd_get_LeField_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
626 HRESULT WINAPI ISCardCmd_get_P1_Proxy(ISCardCmd *This,BYTE *pbyP1);
627 void __RPC_STUB ISCardCmd_get_P1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
628 HRESULT WINAPI ISCardCmd_put_P1_Proxy(ISCardCmd *This,BYTE byP1);
629 void __RPC_STUB ISCardCmd_put_P1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
630 HRESULT WINAPI ISCardCmd_get_P2_Proxy(ISCardCmd *This,BYTE *pbyP2);
631 void __RPC_STUB ISCardCmd_get_P2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
632 HRESULT WINAPI ISCardCmd_put_P2_Proxy(ISCardCmd *This,BYTE byP2);
633 void __RPC_STUB ISCardCmd_put_P2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
634 HRESULT WINAPI ISCardCmd_get_P3_Proxy(ISCardCmd *This,BYTE *pbyP3);
635 void __RPC_STUB ISCardCmd_get_P3_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
636 HRESULT WINAPI ISCardCmd_get_ReplyStatus_Proxy(ISCardCmd *This,LPWORD pwStatus);
637 void __RPC_STUB ISCardCmd_get_ReplyStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
638 HRESULT WINAPI ISCardCmd_put_ReplyStatus_Proxy(ISCardCmd *This,WORD wStatus);
639 void __RPC_STUB ISCardCmd_put_ReplyStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
640 HRESULT WINAPI ISCardCmd_get_ReplyStatusSW1_Proxy(ISCardCmd *This,BYTE *pbySW1);
641 void __RPC_STUB ISCardCmd_get_ReplyStatusSW1_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
642 HRESULT WINAPI ISCardCmd_get_ReplyStatusSW2_Proxy(ISCardCmd *This,BYTE *pbySW2);
643 void __RPC_STUB ISCardCmd_get_ReplyStatusSW2_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
644 HRESULT WINAPI ISCardCmd_get_Type_Proxy(ISCardCmd *This,ISO_APDU_TYPE *pType);
645 void __RPC_STUB ISCardCmd_get_Type_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
646 HRESULT WINAPI ISCardCmd_get_Nad_Proxy(ISCardCmd *This,BYTE *pbNad);
647 void __RPC_STUB ISCardCmd_get_Nad_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
648 HRESULT WINAPI ISCardCmd_put_Nad_Proxy(ISCardCmd *This,BYTE bNad);
649 void __RPC_STUB ISCardCmd_put_Nad_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
650 HRESULT WINAPI ISCardCmd_get_ReplyNad_Proxy(ISCardCmd *This,BYTE *pbNad);
651 void __RPC_STUB ISCardCmd_get_ReplyNad_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
652 HRESULT WINAPI ISCardCmd_put_ReplyNad_Proxy(ISCardCmd *This,BYTE bNad);
653 void __RPC_STUB ISCardCmd_put_ReplyNad_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
654 HRESULT WINAPI ISCardCmd_BuildCmd_Proxy(ISCardCmd *This,BYTE byClassId,BYTE byInsId,BYTE byP1,BYTE byP2,LPBYTEBUFFER pbyData,LONG *plLe);
655 void __RPC_STUB ISCardCmd_BuildCmd_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
656 HRESULT WINAPI ISCardCmd_Clear_Proxy(ISCardCmd *This);
657 void __RPC_STUB ISCardCmd_Clear_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
658 HRESULT WINAPI ISCardCmd_Encapsulate_Proxy(ISCardCmd *This,LPBYTEBUFFER pApdu,ISO_APDU_TYPE ApduType);
659 void __RPC_STUB ISCardCmd_Encapsulate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
660 HRESULT WINAPI ISCardCmd_get_AlternateClassId_Proxy(ISCardCmd *This,BYTE *pbyClass);
661 void __RPC_STUB ISCardCmd_get_AlternateClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
662 HRESULT WINAPI ISCardCmd_put_AlternateClassId_Proxy(ISCardCmd *This,BYTE byClass);
663 void __RPC_STUB ISCardCmd_put_AlternateClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
664 #endif
665 #endif
666
667 #ifndef _LPSCARDISO7816_DEFINED
668 #define _LPSCARDISO7816_DEFINED
669 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0246_v0_0_c_ifspec;
670 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0246_v0_0_s_ifspec;
671 #ifndef __ISCardISO7816_INTERFACE_DEFINED__
672 #define __ISCardISO7816_INTERFACE_DEFINED__
673 typedef ISCardISO7816 *LPSCARDISO;
674 typedef LPSCARDISO LPSCARDISO7816;
675
676 EXTERN_C const IID IID_ISCardISO7816;
677 #if defined(__cplusplus) && !defined(CINTERFACE)
678 struct ISCardISO7816 : public IDispatch {
679 public:
680 virtual HRESULT WINAPI AppendRecord(BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
681 virtual HRESULT WINAPI EraseBinary(BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
682 virtual HRESULT WINAPI ExternalAuthenticate(BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LPSCARDCMD *ppCmd) = 0;
683 virtual HRESULT WINAPI GetChallenge(LONG lBytesExpected,LPSCARDCMD *ppCmd) = 0;
684 virtual HRESULT WINAPI GetData(BYTE byP1,BYTE byP2,LONG lBytesToGet,LPSCARDCMD *ppCmd) = 0;
685 virtual HRESULT WINAPI GetResponse(BYTE byP1,BYTE byP2,LONG lDataLength,LPSCARDCMD *ppCmd) = 0;
686 virtual HRESULT WINAPI InternalAuthenticate(BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LONG lReplyBytes,LPSCARDCMD *ppCmd) = 0;
687 virtual HRESULT WINAPI ManageChannel(BYTE byChannelState,BYTE byChannel,LPSCARDCMD *ppCmd) = 0;
688 virtual HRESULT WINAPI PutData(BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
689 virtual HRESULT WINAPI ReadBinary(BYTE byP1,BYTE byP2,LONG lBytesToRead,LPSCARDCMD *ppCmd) = 0;
690 virtual HRESULT WINAPI ReadRecord(BYTE byRecordId,BYTE byRefCtrl,LONG lBytesToRead,LPSCARDCMD *ppCmd) = 0;
691 virtual HRESULT WINAPI SelectFile(BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LONG lBytesToRead,LPSCARDCMD *ppCmd) = 0;
692 virtual HRESULT WINAPI SetDefaultClassId(BYTE byClass) = 0;
693 virtual HRESULT WINAPI UpdateBinary(BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
694 virtual HRESULT WINAPI UpdateRecord(BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
695 virtual HRESULT WINAPI Verify(BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
696 virtual HRESULT WINAPI WriteBinary(BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
697 virtual HRESULT WINAPI WriteRecord(BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd) = 0;
698 };
699 #else
700 typedef struct ISCardISO7816Vtbl {
701 BEGIN_INTERFACE
702 HRESULT (WINAPI *QueryInterface)(ISCardISO7816 *This,REFIID riid,void **ppvObject);
703 ULONG (WINAPI *AddRef)(ISCardISO7816 *This);
704 ULONG (WINAPI *Release)(ISCardISO7816 *This);
705 HRESULT (WINAPI *GetTypeInfoCount)(ISCardISO7816 *This,UINT *pctinfo);
706 HRESULT (WINAPI *GetTypeInfo)(ISCardISO7816 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
707 HRESULT (WINAPI *GetIDsOfNames)(ISCardISO7816 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
708 HRESULT (WINAPI *Invoke)(ISCardISO7816 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
709 HRESULT (WINAPI *AppendRecord)(ISCardISO7816 *This,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
710 HRESULT (WINAPI *EraseBinary)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
711 HRESULT (WINAPI *ExternalAuthenticate)(ISCardISO7816 *This,BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LPSCARDCMD *ppCmd);
712 HRESULT (WINAPI *GetChallenge)(ISCardISO7816 *This,LONG lBytesExpected,LPSCARDCMD *ppCmd);
713 HRESULT (WINAPI *GetData)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lBytesToGet,LPSCARDCMD *ppCmd);
714 HRESULT (WINAPI *GetResponse)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lDataLength,LPSCARDCMD *ppCmd);
715 HRESULT (WINAPI *InternalAuthenticate)(ISCardISO7816 *This,BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LONG lReplyBytes,LPSCARDCMD *ppCmd);
716 HRESULT (WINAPI *ManageChannel)(ISCardISO7816 *This,BYTE byChannelState,BYTE byChannel,LPSCARDCMD *ppCmd);
717 HRESULT (WINAPI *PutData)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
718 HRESULT (WINAPI *ReadBinary)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lBytesToRead,LPSCARDCMD *ppCmd);
719 HRESULT (WINAPI *ReadRecord)(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LONG lBytesToRead,LPSCARDCMD *ppCmd);
720 HRESULT (WINAPI *SelectFile)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LONG lBytesToRead,LPSCARDCMD *ppCmd);
721 HRESULT (WINAPI *SetDefaultClassId)(ISCardISO7816 *This,BYTE byClass);
722 HRESULT (WINAPI *UpdateBinary)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
723 HRESULT (WINAPI *UpdateRecord)(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
724 HRESULT (WINAPI *Verify)(ISCardISO7816 *This,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
725 HRESULT (WINAPI *WriteBinary)(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
726 HRESULT (WINAPI *WriteRecord)(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
727 END_INTERFACE
728 } ISCardISO7816Vtbl;
729 struct ISCardISO7816 {
730 CONST_VTBL struct ISCardISO7816Vtbl *lpVtbl;
731 };
732 #ifdef COBJMACROS
733 #define ISCardISO7816_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
734 #define ISCardISO7816_AddRef(This) (This)->lpVtbl->AddRef(This)
735 #define ISCardISO7816_Release(This) (This)->lpVtbl->Release(This)
736 #define ISCardISO7816_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
737 #define ISCardISO7816_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
738 #define ISCardISO7816_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
739 #define ISCardISO7816_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
740 #define ISCardISO7816_AppendRecord(This,byRefCtrl,pData,ppCmd) (This)->lpVtbl->AppendRecord(This,byRefCtrl,pData,ppCmd)
741 #define ISCardISO7816_EraseBinary(This,byP1,byP2,pData,ppCmd) (This)->lpVtbl->EraseBinary(This,byP1,byP2,pData,ppCmd)
742 #define ISCardISO7816_ExternalAuthenticate(This,byAlgorithmRef,bySecretRef,pChallenge,ppCmd) (This)->lpVtbl->ExternalAuthenticate(This,byAlgorithmRef,bySecretRef,pChallenge,ppCmd)
743 #define ISCardISO7816_GetChallenge(This,lBytesExpected,ppCmd) (This)->lpVtbl->GetChallenge(This,lBytesExpected,ppCmd)
744 #define ISCardISO7816_GetData(This,byP1,byP2,lBytesToGet,ppCmd) (This)->lpVtbl->GetData(This,byP1,byP2,lBytesToGet,ppCmd)
745 #define ISCardISO7816_GetResponse(This,byP1,byP2,lDataLength,ppCmd) (This)->lpVtbl->GetResponse(This,byP1,byP2,lDataLength,ppCmd)
746 #define ISCardISO7816_InternalAuthenticate(This,byAlgorithmRef,bySecretRef,pChallenge,lReplyBytes,ppCmd) (This)->lpVtbl->InternalAuthenticate(This,byAlgorithmRef,bySecretRef,pChallenge,lReplyBytes,ppCmd)
747 #define ISCardISO7816_ManageChannel(This,byChannelState,byChannel,ppCmd) (This)->lpVtbl->ManageChannel(This,byChannelState,byChannel,ppCmd)
748 #define ISCardISO7816_PutData(This,byP1,byP2,pData,ppCmd) (This)->lpVtbl->PutData(This,byP1,byP2,pData,ppCmd)
749 #define ISCardISO7816_ReadBinary(This,byP1,byP2,lBytesToRead,ppCmd) (This)->lpVtbl->ReadBinary(This,byP1,byP2,lBytesToRead,ppCmd)
750 #define ISCardISO7816_ReadRecord(This,byRecordId,byRefCtrl,lBytesToRead,ppCmd) (This)->lpVtbl->ReadRecord(This,byRecordId,byRefCtrl,lBytesToRead,ppCmd)
751 #define ISCardISO7816_SelectFile(This,byP1,byP2,pData,lBytesToRead,ppCmd) (This)->lpVtbl->SelectFile(This,byP1,byP2,pData,lBytesToRead,ppCmd)
752 #define ISCardISO7816_SetDefaultClassId(This,byClass) (This)->lpVtbl->SetDefaultClassId(This,byClass)
753 #define ISCardISO7816_UpdateBinary(This,byP1,byP2,pData,ppCmd) (This)->lpVtbl->UpdateBinary(This,byP1,byP2,pData,ppCmd)
754 #define ISCardISO7816_UpdateRecord(This,byRecordId,byRefCtrl,pData,ppCmd) (This)->lpVtbl->UpdateRecord(This,byRecordId,byRefCtrl,pData,ppCmd)
755 #define ISCardISO7816_Verify(This,byRefCtrl,pData,ppCmd) (This)->lpVtbl->Verify(This,byRefCtrl,pData,ppCmd)
756 #define ISCardISO7816_WriteBinary(This,byP1,byP2,pData,ppCmd) (This)->lpVtbl->WriteBinary(This,byP1,byP2,pData,ppCmd)
757 #define ISCardISO7816_WriteRecord(This,byRecordId,byRefCtrl,pData,ppCmd) (This)->lpVtbl->WriteRecord(This,byRecordId,byRefCtrl,pData,ppCmd)
758 #endif
759 #endif
760 HRESULT WINAPI ISCardISO7816_AppendRecord_Proxy(ISCardISO7816 *This,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
761 void __RPC_STUB ISCardISO7816_AppendRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
762 HRESULT WINAPI ISCardISO7816_EraseBinary_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
763 void __RPC_STUB ISCardISO7816_EraseBinary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
764 HRESULT WINAPI ISCardISO7816_ExternalAuthenticate_Proxy(ISCardISO7816 *This,BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LPSCARDCMD *ppCmd);
765 void __RPC_STUB ISCardISO7816_ExternalAuthenticate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
766 HRESULT WINAPI ISCardISO7816_GetChallenge_Proxy(ISCardISO7816 *This,LONG lBytesExpected,LPSCARDCMD *ppCmd);
767 void __RPC_STUB ISCardISO7816_GetChallenge_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
768 HRESULT WINAPI ISCardISO7816_GetData_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lBytesToGet,LPSCARDCMD *ppCmd);
769 void __RPC_STUB ISCardISO7816_GetData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
770 HRESULT WINAPI ISCardISO7816_GetResponse_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lDataLength,LPSCARDCMD *ppCmd);
771 void __RPC_STUB ISCardISO7816_GetResponse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
772 HRESULT WINAPI ISCardISO7816_InternalAuthenticate_Proxy(ISCardISO7816 *This,BYTE byAlgorithmRef,BYTE bySecretRef,LPBYTEBUFFER pChallenge,LONG lReplyBytes,LPSCARDCMD *ppCmd);
773 void __RPC_STUB ISCardISO7816_InternalAuthenticate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
774 HRESULT WINAPI ISCardISO7816_ManageChannel_Proxy(ISCardISO7816 *This,BYTE byChannelState,BYTE byChannel,LPSCARDCMD *ppCmd);
775 void __RPC_STUB ISCardISO7816_ManageChannel_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
776 HRESULT WINAPI ISCardISO7816_PutData_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
777 void __RPC_STUB ISCardISO7816_PutData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
778 HRESULT WINAPI ISCardISO7816_ReadBinary_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LONG lBytesToRead,LPSCARDCMD *ppCmd);
779 void __RPC_STUB ISCardISO7816_ReadBinary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
780 HRESULT WINAPI ISCardISO7816_ReadRecord_Proxy(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LONG lBytesToRead,LPSCARDCMD *ppCmd);
781 void __RPC_STUB ISCardISO7816_ReadRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
782 HRESULT WINAPI ISCardISO7816_SelectFile_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LONG lBytesToRead,LPSCARDCMD *ppCmd);
783 void __RPC_STUB ISCardISO7816_SelectFile_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
784 HRESULT WINAPI ISCardISO7816_SetDefaultClassId_Proxy(ISCardISO7816 *This,BYTE byClass);
785 void __RPC_STUB ISCardISO7816_SetDefaultClassId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
786 HRESULT WINAPI ISCardISO7816_UpdateBinary_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
787 void __RPC_STUB ISCardISO7816_UpdateBinary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
788 HRESULT WINAPI ISCardISO7816_UpdateRecord_Proxy(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
789 void __RPC_STUB ISCardISO7816_UpdateRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
790 HRESULT WINAPI ISCardISO7816_Verify_Proxy(ISCardISO7816 *This,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
791 void __RPC_STUB ISCardISO7816_Verify_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
792 HRESULT WINAPI ISCardISO7816_WriteBinary_Proxy(ISCardISO7816 *This,BYTE byP1,BYTE byP2,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
793 void __RPC_STUB ISCardISO7816_WriteBinary_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
794 HRESULT WINAPI ISCardISO7816_WriteRecord_Proxy(ISCardISO7816 *This,BYTE byRecordId,BYTE byRefCtrl,LPBYTEBUFFER pData,LPSCARDCMD *ppCmd);
795 void __RPC_STUB ISCardISO7816_WriteRecord_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
796 #endif
797 #endif
798
799 #ifndef _LPSCARD_DEFINED
800 #define _LPSCARD_DEFINED
801 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0247_v0_0_c_ifspec;
802 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0247_v0_0_s_ifspec;
803 #ifndef __ISCard_INTERFACE_DEFINED__
804 #define __ISCard_INTERFACE_DEFINED__
805 typedef ISCard *LPSCARD;
806 typedef LPSCARD LPSMARTCARD;
807
808 EXTERN_C const IID IID_ISCard;
809 #if defined(__cplusplus) && !defined(CINTERFACE)
810 struct ISCard : public IDispatch {
811 public:
812 virtual HRESULT WINAPI get_Atr(LPBYTEBUFFER *ppAtr) = 0;
813 virtual HRESULT WINAPI get_CardHandle(HSCARD *pHandle) = 0;
814 virtual HRESULT WINAPI get_Context(HSCARDCONTEXT *pContext) = 0;
815 virtual HRESULT WINAPI get_Protocol(SCARD_PROTOCOLS *pProtocol) = 0;
816 virtual HRESULT WINAPI get_Status(SCARD_STATES *pStatus) = 0;
817 virtual HRESULT WINAPI AttachByHandle(HSCARD hCard) = 0;
818 virtual HRESULT WINAPI AttachByReader(BSTR bstrReaderName,SCARD_SHARE_MODES ShareMode = EXCLUSIVE,SCARD_PROTOCOLS PrefProtocol = T0) = 0;
819 virtual HRESULT WINAPI Detach(SCARD_DISPOSITIONS Disposition = LEAVE) = 0;
820 virtual HRESULT WINAPI LockSCard(void) = 0;
821 virtual HRESULT WINAPI ReAttach(SCARD_SHARE_MODES ShareMode = EXCLUSIVE,SCARD_DISPOSITIONS InitState = LEAVE) = 0;
822 virtual HRESULT WINAPI Transaction(LPSCARDCMD *ppCmd) = 0;
823 virtual HRESULT WINAPI UnlockSCard(SCARD_DISPOSITIONS Disposition = LEAVE) = 0;
824 };
825 #else
826 typedef struct ISCardVtbl {
827 BEGIN_INTERFACE
828 HRESULT (WINAPI *QueryInterface)(ISCard *This,REFIID riid,void **ppvObject);
829 ULONG (WINAPI *AddRef)(ISCard *This);
830 ULONG (WINAPI *Release)(ISCard *This);
831 HRESULT (WINAPI *GetTypeInfoCount)(ISCard *This,UINT *pctinfo);
832 HRESULT (WINAPI *GetTypeInfo)(ISCard *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
833 HRESULT (WINAPI *GetIDsOfNames)(ISCard *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
834 HRESULT (WINAPI *Invoke)(ISCard *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
835 HRESULT (WINAPI *get_Atr)(ISCard *This,LPBYTEBUFFER *ppAtr);
836 HRESULT (WINAPI *get_CardHandle)(ISCard *This,HSCARD *pHandle);
837 HRESULT (WINAPI *get_Context)(ISCard *This,HSCARDCONTEXT *pContext);
838 HRESULT (WINAPI *get_Protocol)(ISCard *This,SCARD_PROTOCOLS *pProtocol);
839 HRESULT (WINAPI *get_Status)(ISCard *This,SCARD_STATES *pStatus);
840 HRESULT (WINAPI *AttachByHandle)(ISCard *This,HSCARD hCard);
841 HRESULT (WINAPI *AttachByReader)(ISCard *This,BSTR bstrReaderName,SCARD_SHARE_MODES ShareMode,SCARD_PROTOCOLS PrefProtocol);
842 HRESULT (WINAPI *Detach)(ISCard *This,SCARD_DISPOSITIONS Disposition);
843 HRESULT (WINAPI *LockSCard)(ISCard *This);
844 HRESULT (WINAPI *ReAttach)(ISCard *This,SCARD_SHARE_MODES ShareMode,SCARD_DISPOSITIONS InitState);
845 HRESULT (WINAPI *Transaction)(ISCard *This,LPSCARDCMD *ppCmd);
846 HRESULT (WINAPI *UnlockSCard)(ISCard *This,SCARD_DISPOSITIONS Disposition);
847 END_INTERFACE
848 } ISCardVtbl;
849 struct ISCard {
850 CONST_VTBL struct ISCardVtbl *lpVtbl;
851 };
852 #ifdef COBJMACROS
853 #define ISCard_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
854 #define ISCard_AddRef(This) (This)->lpVtbl->AddRef(This)
855 #define ISCard_Release(This) (This)->lpVtbl->Release(This)
856 #define ISCard_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
857 #define ISCard_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
858 #define ISCard_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
859 #define ISCard_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
860 #define ISCard_get_Atr(This,ppAtr) (This)->lpVtbl->get_Atr(This,ppAtr)
861 #define ISCard_get_CardHandle(This,pHandle) (This)->lpVtbl->get_CardHandle(This,pHandle)
862 #define ISCard_get_Context(This,pContext) (This)->lpVtbl->get_Context(This,pContext)
863 #define ISCard_get_Protocol(This,pProtocol) (This)->lpVtbl->get_Protocol(This,pProtocol)
864 #define ISCard_get_Status(This,pStatus) (This)->lpVtbl->get_Status(This,pStatus)
865 #define ISCard_AttachByHandle(This,hCard) (This)->lpVtbl->AttachByHandle(This,hCard)
866 #define ISCard_AttachByReader(This,bstrReaderName,ShareMode,PrefProtocol) (This)->lpVtbl->AttachByReader(This,bstrReaderName,ShareMode,PrefProtocol)
867 #define ISCard_Detach(This,Disposition) (This)->lpVtbl->Detach(This,Disposition)
868 #define ISCard_LockSCard(This) (This)->lpVtbl->LockSCard(This)
869 #define ISCard_ReAttach(This,ShareMode,InitState) (This)->lpVtbl->ReAttach(This,ShareMode,InitState)
870 #define ISCard_Transaction(This,ppCmd) (This)->lpVtbl->Transaction(This,ppCmd)
871 #define ISCard_UnlockSCard(This,Disposition) (This)->lpVtbl->UnlockSCard(This,Disposition)
872 #endif
873 #endif
874 HRESULT WINAPI ISCard_get_Atr_Proxy(ISCard *This,LPBYTEBUFFER *ppAtr);
875 void __RPC_STUB ISCard_get_Atr_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
876 HRESULT WINAPI ISCard_get_CardHandle_Proxy(ISCard *This,HSCARD *pHandle);
877 void __RPC_STUB ISCard_get_CardHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
878 HRESULT WINAPI ISCard_get_Context_Proxy(ISCard *This,HSCARDCONTEXT *pContext);
879 void __RPC_STUB ISCard_get_Context_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
880 HRESULT WINAPI ISCard_get_Protocol_Proxy(ISCard *This,SCARD_PROTOCOLS *pProtocol);
881 void __RPC_STUB ISCard_get_Protocol_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
882 HRESULT WINAPI ISCard_get_Status_Proxy(ISCard *This,SCARD_STATES *pStatus);
883 void __RPC_STUB ISCard_get_Status_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
884 HRESULT WINAPI ISCard_AttachByHandle_Proxy(ISCard *This,HSCARD hCard);
885 void __RPC_STUB ISCard_AttachByHandle_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
886 HRESULT WINAPI ISCard_AttachByReader_Proxy(ISCard *This,BSTR bstrReaderName,SCARD_SHARE_MODES ShareMode,SCARD_PROTOCOLS PrefProtocol);
887 void __RPC_STUB ISCard_AttachByReader_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
888 HRESULT WINAPI ISCard_Detach_Proxy(ISCard *This,SCARD_DISPOSITIONS Disposition);
889 void __RPC_STUB ISCard_Detach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
890 HRESULT WINAPI ISCard_LockSCard_Proxy(ISCard *This);
891 void __RPC_STUB ISCard_LockSCard_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
892 HRESULT WINAPI ISCard_ReAttach_Proxy(ISCard *This,SCARD_SHARE_MODES ShareMode,SCARD_DISPOSITIONS InitState);
893 void __RPC_STUB ISCard_ReAttach_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
894 HRESULT WINAPI ISCard_Transaction_Proxy(ISCard *This,LPSCARDCMD *ppCmd);
895 void __RPC_STUB ISCard_Transaction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
896 HRESULT WINAPI ISCard_UnlockSCard_Proxy(ISCard *This,SCARD_DISPOSITIONS Disposition);
897 void __RPC_STUB ISCard_UnlockSCard_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
898 #endif
899 #endif
900
901 #ifndef _LPSCARDDATABASE_DEFINED
902 #define _LPSCARDDATABASE_DEFINED
903 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0248_v0_0_c_ifspec;
904 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0248_v0_0_s_ifspec;
905 #ifndef __ISCardDatabase_INTERFACE_DEFINED__
906 #define __ISCardDatabase_INTERFACE_DEFINED__
907 typedef ISCardDatabase *LPSCARDDATABASE;
908
909 EXTERN_C const IID IID_ISCardDatabase;
910 #if defined(__cplusplus) && !defined(CINTERFACE)
911 struct ISCardDatabase : public IDispatch {
912 public:
913 virtual HRESULT WINAPI GetProviderCardId(BSTR bstrCardName,LPGUID *ppguidProviderId) = 0;
914 virtual HRESULT WINAPI ListCardInterfaces(BSTR bstrCardName,LPSAFEARRAY *ppInterfaceGuids) = 0;
915 virtual HRESULT WINAPI ListCards(LPBYTEBUFFER pAtr,LPSAFEARRAY pInterfaceGuids,__LONG32 localeId,LPSAFEARRAY *ppCardNames) = 0;
916 virtual HRESULT WINAPI ListReaderGroups(__LONG32 localeId,LPSAFEARRAY *ppReaderGroups) = 0;
917 virtual HRESULT WINAPI ListReaders(__LONG32 localeId,LPSAFEARRAY *ppReaders) = 0;
918 };
919 #else
920 typedef struct ISCardDatabaseVtbl {
921 BEGIN_INTERFACE
922 HRESULT (WINAPI *QueryInterface)(ISCardDatabase *This,REFIID riid,void **ppvObject);
923 ULONG (WINAPI *AddRef)(ISCardDatabase *This);
924 ULONG (WINAPI *Release)(ISCardDatabase *This);
925 HRESULT (WINAPI *GetTypeInfoCount)(ISCardDatabase *This,UINT *pctinfo);
926 HRESULT (WINAPI *GetTypeInfo)(ISCardDatabase *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
927 HRESULT (WINAPI *GetIDsOfNames)(ISCardDatabase *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
928 HRESULT (WINAPI *Invoke)(ISCardDatabase *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
929 HRESULT (WINAPI *GetProviderCardId)(ISCardDatabase *This,BSTR bstrCardName,LPGUID *ppguidProviderId);
930 HRESULT (WINAPI *ListCardInterfaces)(ISCardDatabase *This,BSTR bstrCardName,LPSAFEARRAY *ppInterfaceGuids);
931 HRESULT (WINAPI *ListCards)(ISCardDatabase *This,LPBYTEBUFFER pAtr,LPSAFEARRAY pInterfaceGuids,__LONG32 localeId,LPSAFEARRAY *ppCardNames);
932 HRESULT (WINAPI *ListReaderGroups)(ISCardDatabase *This,__LONG32 localeId,LPSAFEARRAY *ppReaderGroups);
933 HRESULT (WINAPI *ListReaders)(ISCardDatabase *This,__LONG32 localeId,LPSAFEARRAY *ppReaders);
934 END_INTERFACE
935 } ISCardDatabaseVtbl;
936 struct ISCardDatabase {
937 CONST_VTBL struct ISCardDatabaseVtbl *lpVtbl;
938 };
939 #ifdef COBJMACROS
940 #define ISCardDatabase_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
941 #define ISCardDatabase_AddRef(This) (This)->lpVtbl->AddRef(This)
942 #define ISCardDatabase_Release(This) (This)->lpVtbl->Release(This)
943 #define ISCardDatabase_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
944 #define ISCardDatabase_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
945 #define ISCardDatabase_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
946 #define ISCardDatabase_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
947 #define ISCardDatabase_GetProviderCardId(This,bstrCardName,ppguidProviderId) (This)->lpVtbl->GetProviderCardId(This,bstrCardName,ppguidProviderId)
948 #define ISCardDatabase_ListCardInterfaces(This,bstrCardName,ppInterfaceGuids) (This)->lpVtbl->ListCardInterfaces(This,bstrCardName,ppInterfaceGuids)
949 #define ISCardDatabase_ListCards(This,pAtr,pInterfaceGuids,localeId,ppCardNames) (This)->lpVtbl->ListCards(This,pAtr,pInterfaceGuids,localeId,ppCardNames)
950 #define ISCardDatabase_ListReaderGroups(This,localeId,ppReaderGroups) (This)->lpVtbl->ListReaderGroups(This,localeId,ppReaderGroups)
951 #define ISCardDatabase_ListReaders(This,localeId,ppReaders) (This)->lpVtbl->ListReaders(This,localeId,ppReaders)
952 #endif
953 #endif
954 HRESULT WINAPI ISCardDatabase_GetProviderCardId_Proxy(ISCardDatabase *This,BSTR bstrCardName,LPGUID *ppguidProviderId);
955 void __RPC_STUB ISCardDatabase_GetProviderCardId_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
956 HRESULT WINAPI ISCardDatabase_ListCardInterfaces_Proxy(ISCardDatabase *This,BSTR bstrCardName,LPSAFEARRAY *ppInterfaceGuids);
957 void __RPC_STUB ISCardDatabase_ListCardInterfaces_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
958 HRESULT WINAPI ISCardDatabase_ListCards_Proxy(ISCardDatabase *This,LPBYTEBUFFER pAtr,LPSAFEARRAY pInterfaceGuids,__LONG32 localeId,LPSAFEARRAY *ppCardNames);
959 void __RPC_STUB ISCardDatabase_ListCards_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
960 HRESULT WINAPI ISCardDatabase_ListReaderGroups_Proxy(ISCardDatabase *This,__LONG32 localeId,LPSAFEARRAY *ppReaderGroups);
961 void __RPC_STUB ISCardDatabase_ListReaderGroups_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
962 HRESULT WINAPI ISCardDatabase_ListReaders_Proxy(ISCardDatabase *This,__LONG32 localeId,LPSAFEARRAY *ppReaders);
963 void __RPC_STUB ISCardDatabase_ListReaders_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
964 #endif
965 #endif
966
967 #ifndef _LPSCARDLOCATE_DEFINED
968 #define _LPSCARDLOCATE_DEFINED
969 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0249_v0_0_c_ifspec;
970 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0249_v0_0_s_ifspec;
971 #ifndef __ISCardLocate_INTERFACE_DEFINED__
972 #define __ISCardLocate_INTERFACE_DEFINED__
973 typedef ISCardLocate *LPSCARDLOCATE;
974 typedef LPSCARDLOCATE LPSCARDLOC;
975
976 EXTERN_C const IID IID_ISCardLocate;
977 #if defined(__cplusplus) && !defined(CINTERFACE)
978 struct ISCardLocate : public IDispatch {
979 public:
980 virtual HRESULT WINAPI ConfigureCardGuidSearch(LPSAFEARRAY pCardGuids,LPSAFEARRAY pGroupNames = 0,BSTR bstrTitle = L"",LONG lFlags = 1) = 0;
981 virtual HRESULT WINAPI ConfigureCardNameSearch(LPSAFEARRAY pCardNames,LPSAFEARRAY pGroupNames = 0,BSTR bstrTitle = L"",LONG lFlags = 1) = 0;
982 virtual HRESULT WINAPI FindCard(SCARD_SHARE_MODES ShareMode,SCARD_PROTOCOLS Protocols,LONG lFlags,LPSCARDINFO *ppCardInfo) = 0;
983 };
984 #else
985 typedef struct ISCardLocateVtbl {
986 BEGIN_INTERFACE
987 HRESULT (WINAPI *QueryInterface)(ISCardLocate *This,REFIID riid,void **ppvObject);
988 ULONG (WINAPI *AddRef)(ISCardLocate *This);
989 ULONG (WINAPI *Release)(ISCardLocate *This);
990 HRESULT (WINAPI *GetTypeInfoCount)(ISCardLocate *This,UINT *pctinfo);
991 HRESULT (WINAPI *GetTypeInfo)(ISCardLocate *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
992 HRESULT (WINAPI *GetIDsOfNames)(ISCardLocate *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
993 HRESULT (WINAPI *Invoke)(ISCardLocate *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
994 HRESULT (WINAPI *ConfigureCardGuidSearch)(ISCardLocate *This,LPSAFEARRAY pCardGuids,LPSAFEARRAY pGroupNames,BSTR bstrTitle,LONG lFlags);
995 HRESULT (WINAPI *ConfigureCardNameSearch)(ISCardLocate *This,LPSAFEARRAY pCardNames,LPSAFEARRAY pGroupNames,BSTR bstrTitle,LONG lFlags);
996 HRESULT (WINAPI *FindCard)(ISCardLocate *This,SCARD_SHARE_MODES ShareMode,SCARD_PROTOCOLS Protocols,LONG lFlags,LPSCARDINFO *ppCardInfo);
997 END_INTERFACE
998 } ISCardLocateVtbl;
999 struct ISCardLocate {
1000 CONST_VTBL struct ISCardLocateVtbl *lpVtbl;
1001 };
1002 #ifdef COBJMACROS
1003 #define ISCardLocate_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1004 #define ISCardLocate_AddRef(This) (This)->lpVtbl->AddRef(This)
1005 #define ISCardLocate_Release(This) (This)->lpVtbl->Release(This)
1006 #define ISCardLocate_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
1007 #define ISCardLocate_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
1008 #define ISCardLocate_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
1009 #define ISCardLocate_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
1010 #define ISCardLocate_ConfigureCardGuidSearch(This,pCardGuids,pGroupNames,bstrTitle,lFlags) (This)->lpVtbl->ConfigureCardGuidSearch(This,pCardGuids,pGroupNames,bstrTitle,lFlags)
1011 #define ISCardLocate_ConfigureCardNameSearch(This,pCardNames,pGroupNames,bstrTitle,lFlags) (This)->lpVtbl->ConfigureCardNameSearch(This,pCardNames,pGroupNames,bstrTitle,lFlags)
1012 #define ISCardLocate_FindCard(This,ShareMode,Protocols,lFlags,ppCardInfo) (This)->lpVtbl->FindCard(This,ShareMode,Protocols,lFlags,ppCardInfo)
1013 #endif
1014 #endif
1015 HRESULT WINAPI ISCardLocate_ConfigureCardGuidSearch_Proxy(ISCardLocate *This,LPSAFEARRAY pCardGuids,LPSAFEARRAY pGroupNames,BSTR bstrTitle,LONG lFlags);
1016 void __RPC_STUB ISCardLocate_ConfigureCardGuidSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1017 HRESULT WINAPI ISCardLocate_ConfigureCardNameSearch_Proxy(ISCardLocate *This,LPSAFEARRAY pCardNames,LPSAFEARRAY pGroupNames,BSTR bstrTitle,LONG lFlags);
1018 void __RPC_STUB ISCardLocate_ConfigureCardNameSearch_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1019 HRESULT WINAPI ISCardLocate_FindCard_Proxy(ISCardLocate *This,SCARD_SHARE_MODES ShareMode,SCARD_PROTOCOLS Protocols,LONG lFlags,LPSCARDINFO *ppCardInfo);
1020 void __RPC_STUB ISCardLocate_FindCard_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
1021 #endif
1022 #endif
1023
1024 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0250_v0_0_c_ifspec;
1025 extern RPC_IF_HANDLE __MIDL_itf_scardssp_0250_v0_0_s_ifspec;
1026 #ifndef __SCARDSSPLib_LIBRARY_DEFINED__
1027 #define __SCARDSSPLib_LIBRARY_DEFINED__
1028 EXTERN_C const IID LIBID_SCARDSSPLib;
1029 EXTERN_C const CLSID CLSID_CByteBuffer;
1030 #ifdef __cplusplus
1031 class CByteBuffer;
1032 #endif
1033 EXTERN_C const CLSID CLSID_CSCardTypeConv;
1034 #ifdef __cplusplus
1035 class CSCardTypeConv;
1036 #endif
1037 EXTERN_C const CLSID CLSID_CSCardCmd;
1038 #ifdef __cplusplus
1039 class CSCardCmd;
1040 #endif
1041 EXTERN_C const CLSID CLSID_CSCardISO7816;
1042 #ifdef __cplusplus
1043 class CSCardISO7816;
1044 #endif
1045 EXTERN_C const CLSID CLSID_CSCard;
1046 #ifdef __cplusplus
1047 class CSCard;
1048 #endif
1049 EXTERN_C const CLSID CLSID_CSCardDatabase;
1050 #ifdef __cplusplus
1051 class CSCardDatabase;
1052 #endif
1053 EXTERN_C const CLSID CLSID_CSCardLocate;
1054 #ifdef __cplusplus
1055 class CSCardLocate;
1056 #endif
1057 #endif
1058
1059 ULONG __RPC_API BSTR_UserSize(ULONG *,ULONG,BSTR *);
1060 unsigned char *__RPC_API BSTR_UserMarshal(ULONG *,unsigned char *,BSTR *);
1061 unsigned char *__RPC_API BSTR_UserUnmarshal(ULONG *,unsigned char *,BSTR *);
1062 void __RPC_API BSTR_UserFree(ULONG *,BSTR *);
1063 ULONG __RPC_API HGLOBAL_UserSize(ULONG *,ULONG,HGLOBAL *);
1064 unsigned char *__RPC_API HGLOBAL_UserMarshal(ULONG *,unsigned char *,HGLOBAL *);
1065 unsigned char *__RPC_API HGLOBAL_UserUnmarshal(ULONG *,unsigned char *,HGLOBAL *);
1066 void __RPC_API HGLOBAL_UserFree(ULONG *,HGLOBAL *);
1067 ULONG __RPC_API LPSAFEARRAY_UserSize(ULONG *,ULONG,LPSAFEARRAY *);
1068 unsigned char *__RPC_API LPSAFEARRAY_UserMarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
1069 unsigned char *__RPC_API LPSAFEARRAY_UserUnmarshal(ULONG *,unsigned char *,LPSAFEARRAY *);
1070 void __RPC_API LPSAFEARRAY_UserFree(ULONG *,LPSAFEARRAY *);
1071
1072 #ifdef __cplusplus
1073 }
1074 #endif
1075 #endif