2 * ReactOS SmartCard API
3 * Copyright (C) 2004 ReactOS Team
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 * PROJECT: ReactOS SmartCard API
22 * FILE: lib/winscard/winscard.c
23 * PURPOSE: ReactOS SmartCard API
24 * PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
31 const SCARD_IO_REQUEST g_rgSCardT0Pci
;
32 const SCARD_IO_REQUEST g_rgSCardT1Pci
;
33 const SCARD_IO_REQUEST g_rgSCardRawPci
;
40 SCardAccessStartedEvent(VOID
)
43 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
53 SCardAddReaderToGroupA(SCARDCONTEXT hContext
,
58 return SCARD_F_UNKNOWN_ERROR
;
67 SCardAddReaderToGroupW(SCARDCONTEXT hContext
,
72 return SCARD_F_UNKNOWN_ERROR
;
81 SCardBeginTransaction(SCARDHANDLE hCard
)
84 return SCARD_F_UNKNOWN_ERROR
;
93 SCardCancel(SCARDCONTEXT hContext
)
96 return SCARD_F_UNKNOWN_ERROR
;
105 SCardConnectA(SCARDCONTEXT hContext
,
108 DWORD dwPreferredProtocols
,
109 LPSCARDHANDLE phCard
,
110 LPDWORD pdwActiveProtocol
)
113 return SCARD_F_UNKNOWN_ERROR
;
122 SCardConnectW(SCARDCONTEXT hContext
,
125 DWORD dwPreferredProtocols
,
126 LPSCARDHANDLE phCard
,
127 LPDWORD pdwActiveProtocol
)
130 return SCARD_F_UNKNOWN_ERROR
;
139 SCardControl(SCARDHANDLE hCard
,
144 DWORD nOutBufferSize
,
145 LPDWORD lpBytesReturned
)
148 return SCARD_F_UNKNOWN_ERROR
;
157 SCardDisconnect(SCARDHANDLE hCard
,
161 return SCARD_F_UNKNOWN_ERROR
;
170 SCardEndTransaction(SCARDHANDLE hCard
,
174 return SCARD_F_UNKNOWN_ERROR
;
183 SCardEstablishContext(DWORD dwScope
,
186 LPSCARDCONTEXT phContext
)
189 return SCARD_F_UNKNOWN_ERROR
;
198 SCardForgetCardTypeA(SCARDCONTEXT hContext
,
202 return SCARD_F_UNKNOWN_ERROR
;
211 SCardForgetCardTypeW(SCARDCONTEXT hContext
,
215 return SCARD_F_UNKNOWN_ERROR
;
224 SCardForgetReaderA(SCARDCONTEXT hContext
,
228 return SCARD_F_UNKNOWN_ERROR
;
237 SCardForgetReaderW(SCARDCONTEXT hContext
,
238 LPCWSTR szReaderName
)
241 return SCARD_F_UNKNOWN_ERROR
;
250 SCardForgetReaderGroupA(SCARDCONTEXT hContext
,
254 return SCARD_F_UNKNOWN_ERROR
;
263 SCardForgetReaderGroupW(SCARDCONTEXT hContext
,
267 return SCARD_F_UNKNOWN_ERROR
;
276 SCardFreeMemory(SCARDCONTEXT hContext
,
280 return SCARD_F_UNKNOWN_ERROR
;
289 SCardGetAttrib(SCARDHANDLE hCard
,
295 return SCARD_F_UNKNOWN_ERROR
;
304 SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext
,
308 LPDWORD pcchProvider
)
311 return SCARD_F_UNKNOWN_ERROR
;
320 SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext
,
324 LPDWORD pcchProvider
)
327 return SCARD_F_UNKNOWN_ERROR
;
336 SCardGetProviderIdA(SCARDCONTEXT hContext
,
338 LPGUID pguidProviderId
)
341 return SCARD_F_UNKNOWN_ERROR
;
350 SCardGetProviderIdW(SCARDCONTEXT hContext
,
352 LPGUID pguidProviderId
)
355 return SCARD_F_UNKNOWN_ERROR
;
364 SCardGetStatusChangeA(SCARDCONTEXT hContext
,
366 LPSCARD_READERSTATEA rgReaderState
,
370 return SCARD_F_UNKNOWN_ERROR
;
379 SCardGetStatusChangeW(SCARDCONTEXT hContext
,
381 LPSCARD_READERSTATEW rgReaderState
,
385 return SCARD_F_UNKNOWN_ERROR
;
394 SCardIntroduceCardTypeA(SCARDCONTEXT hContext
,
396 LPCGUID pguidPrimaryProvider
,
397 LPCGUID rgguidInterfaces
,
398 DWORD dwInterfaceCount
,
404 return SCARD_F_UNKNOWN_ERROR
;
413 SCardIntroduceCardTypeW(SCARDCONTEXT hContext
,
415 LPCGUID pguidPrimaryProvider
,
416 LPCGUID rgguidInterfaces
,
417 DWORD dwInterfaceCount
,
423 return SCARD_F_UNKNOWN_ERROR
;
432 SCardIntroduceReaderA(SCARDCONTEXT hContext
,
437 return SCARD_F_UNKNOWN_ERROR
;
446 SCardIntroduceReaderW(SCARDCONTEXT hContext
,
447 LPCWSTR szReaderName
,
448 LPCWSTR szDeviceName
)
451 return SCARD_F_UNKNOWN_ERROR
;
460 SCardIntroduceReaderGroupA(SCARDCONTEXT hContext
,
464 return SCARD_F_UNKNOWN_ERROR
;
473 SCardIntroduceReaderGroupW(SCARDCONTEXT hContext
,
477 return SCARD_F_UNKNOWN_ERROR
;
486 SCardIsValidContext(SCARDCONTEXT hContext
)
489 return SCARD_F_UNKNOWN_ERROR
;
498 SCardListCardsA(SCARDCONTEXT hContext
,
500 LPCGUID rgguidInterface
,
501 DWORD cguidInterfaceCount
,
506 return SCARD_F_UNKNOWN_ERROR
;
515 SCardListCardsW(SCARDCONTEXT hContext
,
517 LPCGUID rgguidInterface
,
518 DWORD cguidInterfaceCount
,
523 return SCARD_F_UNKNOWN_ERROR
;
532 SCardListInterfacesA(SCARDCONTEXT hContext
,
534 LPGUID pguidInterfaces
,
535 LPDWORD pcguidInteraces
)
538 return SCARD_F_UNKNOWN_ERROR
;
547 SCardListInterfacesW(SCARDCONTEXT hContext
,
549 LPGUID pguidInterfaces
,
550 LPDWORD pcguidInteraces
)
553 return SCARD_F_UNKNOWN_ERROR
;
562 SCardListReaderGroupsA(SCARDCONTEXT hContext
,
567 return SCARD_F_UNKNOWN_ERROR
;
576 SCardListReaderGroupsW(SCARDCONTEXT hContext
,
581 return SCARD_F_UNKNOWN_ERROR
;
590 SCardListReadersA(SCARDCONTEXT Context
,
596 return SCARD_F_UNKNOWN_ERROR
;
605 SCardListReadersW(SCARDCONTEXT Context
,
611 return SCARD_F_UNKNOWN_ERROR
;
620 SCardLocateCardsA(SCARDCONTEXT hContext
,
622 LPSCARD_READERSTATEA rgReaderStates
,
626 return SCARD_F_UNKNOWN_ERROR
;
635 SCardLocateCardsW(SCARDCONTEXT hContext
,
637 LPSCARD_READERSTATEW rgReaderStates
,
641 return SCARD_F_UNKNOWN_ERROR
;
650 SCardLocateCardsByATRA(SCARDCONTEXT hContext
,
651 LPSCARD_ATRMASK rgAtrMasks
,
653 LPSCARD_READERSTATEA rgReaderStates
,
657 return SCARD_F_UNKNOWN_ERROR
;
666 SCardLocateCardsByATRW(SCARDCONTEXT hContext
,
667 LPSCARD_ATRMASK rgAtrMasks
,
669 LPSCARD_READERSTATEW rgReaderStates
,
673 return SCARD_F_UNKNOWN_ERROR
;
682 SCardReconnect(SCARDHANDLE hCard
,
684 DWORD dwPreferredProtocols
,
685 DWORD dwInitialization
,
686 LPDWORD pdwActiveProtocol
)
689 return SCARD_F_UNKNOWN_ERROR
;
698 SCardReleaseContext(SCARDCONTEXT hContext
)
701 return SCARD_F_UNKNOWN_ERROR
;
710 SCardReleaseStartedEvent(HANDLE hStartedEventHandle
)
721 SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext
,
726 return SCARD_F_UNKNOWN_ERROR
;
735 SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext
,
736 LPCWSTR szReaderName
,
740 return SCARD_F_UNKNOWN_ERROR
;
749 SCardSetAttrib(SCARDHANDLE hCard
,
755 return SCARD_F_UNKNOWN_ERROR
;
764 SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext
,
770 return SCARD_F_UNKNOWN_ERROR
;
779 SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext
,
785 return SCARD_F_UNKNOWN_ERROR
;
794 SCardState(SCARDHANDLE hCard
,
801 return SCARD_F_UNKNOWN_ERROR
;
810 SCardStatusA(SCARDHANDLE hCard
,
812 LPDWORD pcchReaderLen
,
819 return SCARD_F_UNKNOWN_ERROR
;
828 SCardStatusW(SCARDHANDLE hCard
,
830 LPDWORD pcchReaderLen
,
837 return SCARD_F_UNKNOWN_ERROR
;
846 SCardTransmit(SCARDHANDLE hCard
,
847 LPCSCARD_IO_REQUEST pioSendPci
,
848 LPCBYTE pbSendBuffer
,
850 LPSCARD_IO_REQUEST pioRecvPci
,
852 LPDWORD pcbRecvLength
)
855 return SCARD_F_UNKNOWN_ERROR
;