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
20 * PROJECT: ReactOS SmartCard API
21 * FILE: lib/winscard/winscard.c
22 * PURPOSE: ReactOS SmartCard API
23 * PROGRAMMER: Thomas Weidenmueller <w3seek@reactos.com>
30 const SCARD_IO_REQUEST g_rgSCardT0Pci
;
31 const SCARD_IO_REQUEST g_rgSCardT1Pci
;
32 const SCARD_IO_REQUEST g_rgSCardRawPci
;
39 SCardAccessStartedEvent(VOID
)
42 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
52 SCardAddReaderToGroupA(SCARDCONTEXT hContext
,
57 return SCARD_F_UNKNOWN_ERROR
;
66 SCardAddReaderToGroupW(SCARDCONTEXT hContext
,
71 return SCARD_F_UNKNOWN_ERROR
;
80 SCardBeginTransaction(SCARDHANDLE hCard
)
83 return SCARD_F_UNKNOWN_ERROR
;
92 SCardCancel(SCARDCONTEXT hContext
)
95 return SCARD_F_UNKNOWN_ERROR
;
104 SCardConnectA(SCARDCONTEXT hContext
,
107 DWORD dwPreferredProtocols
,
108 LPSCARDHANDLE phCard
,
109 LPDWORD pdwActiveProtocol
)
112 return SCARD_F_UNKNOWN_ERROR
;
121 SCardConnectW(SCARDCONTEXT hContext
,
124 DWORD dwPreferredProtocols
,
125 LPSCARDHANDLE phCard
,
126 LPDWORD pdwActiveProtocol
)
129 return SCARD_F_UNKNOWN_ERROR
;
138 SCardControl(SCARDHANDLE hCard
,
143 DWORD nOutBufferSize
,
144 LPDWORD lpBytesReturned
)
147 return SCARD_F_UNKNOWN_ERROR
;
156 SCardDisconnect(SCARDHANDLE hCard
,
160 return SCARD_F_UNKNOWN_ERROR
;
169 SCardEndTransaction(SCARDHANDLE hCard
,
173 return SCARD_F_UNKNOWN_ERROR
;
182 SCardEstablishContext(DWORD dwScope
,
185 LPSCARDCONTEXT phContext
)
188 return SCARD_F_UNKNOWN_ERROR
;
197 SCardForgetCardTypeA(SCARDCONTEXT hContext
,
201 return SCARD_F_UNKNOWN_ERROR
;
210 SCardForgetCardTypeW(SCARDCONTEXT hContext
,
214 return SCARD_F_UNKNOWN_ERROR
;
223 SCardForgetReaderA(SCARDCONTEXT hContext
,
227 return SCARD_F_UNKNOWN_ERROR
;
236 SCardForgetReaderW(SCARDCONTEXT hContext
,
237 LPCWSTR szReaderName
)
240 return SCARD_F_UNKNOWN_ERROR
;
249 SCardForgetReaderGroupA(SCARDCONTEXT hContext
,
253 return SCARD_F_UNKNOWN_ERROR
;
262 SCardForgetReaderGroupW(SCARDCONTEXT hContext
,
266 return SCARD_F_UNKNOWN_ERROR
;
275 SCardFreeMemory(SCARDCONTEXT hContext
,
279 return SCARD_F_UNKNOWN_ERROR
;
288 SCardGetAttrib(SCARDHANDLE hCard
,
294 return SCARD_F_UNKNOWN_ERROR
;
303 SCardGetCardTypeProviderNameA(SCARDCONTEXT hContext
,
307 LPDWORD pcchProvider
)
310 return SCARD_F_UNKNOWN_ERROR
;
319 SCardGetCardTypeProviderNameW(SCARDCONTEXT hContext
,
323 LPDWORD pcchProvider
)
326 return SCARD_F_UNKNOWN_ERROR
;
335 SCardGetProviderIdA(SCARDCONTEXT hContext
,
337 LPGUID pguidProviderId
)
340 return SCARD_F_UNKNOWN_ERROR
;
349 SCardGetProviderIdW(SCARDCONTEXT hContext
,
351 LPGUID pguidProviderId
)
354 return SCARD_F_UNKNOWN_ERROR
;
363 SCardGetStatusChangeA(SCARDCONTEXT hContext
,
365 LPSCARD_READERSTATEA rgReaderState
,
369 return SCARD_F_UNKNOWN_ERROR
;
378 SCardGetStatusChangeW(SCARDCONTEXT hContext
,
380 LPSCARD_READERSTATEW rgReaderState
,
384 return SCARD_F_UNKNOWN_ERROR
;
393 SCardIntroduceCardTypeA(SCARDCONTEXT hContext
,
395 LPCGUID pguidPrimaryProvider
,
396 LPCGUID rgguidInterfaces
,
397 DWORD dwInterfaceCount
,
403 return SCARD_F_UNKNOWN_ERROR
;
412 SCardIntroduceCardTypeW(SCARDCONTEXT hContext
,
414 LPCGUID pguidPrimaryProvider
,
415 LPCGUID rgguidInterfaces
,
416 DWORD dwInterfaceCount
,
422 return SCARD_F_UNKNOWN_ERROR
;
431 SCardIntroduceReaderA(SCARDCONTEXT hContext
,
436 return SCARD_F_UNKNOWN_ERROR
;
445 SCardIntroduceReaderW(SCARDCONTEXT hContext
,
446 LPCWSTR szReaderName
,
447 LPCWSTR szDeviceName
)
450 return SCARD_F_UNKNOWN_ERROR
;
459 SCardIntroduceReaderGroupA(SCARDCONTEXT hContext
,
463 return SCARD_F_UNKNOWN_ERROR
;
472 SCardIntroduceReaderGroupW(SCARDCONTEXT hContext
,
476 return SCARD_F_UNKNOWN_ERROR
;
485 SCardIsValidContext(SCARDCONTEXT hContext
)
488 return SCARD_F_UNKNOWN_ERROR
;
497 SCardListCardsA(SCARDCONTEXT hContext
,
499 LPCGUID rgguidInterface
,
500 DWORD cguidInterfaceCount
,
505 return SCARD_F_UNKNOWN_ERROR
;
514 SCardListCardsW(SCARDCONTEXT hContext
,
516 LPCGUID rgguidInterface
,
517 DWORD cguidInterfaceCount
,
522 return SCARD_F_UNKNOWN_ERROR
;
531 SCardListInterfacesA(SCARDCONTEXT hContext
,
533 LPGUID pguidInterfaces
,
534 LPDWORD pcguidInteraces
)
537 return SCARD_F_UNKNOWN_ERROR
;
546 SCardListInterfacesW(SCARDCONTEXT hContext
,
548 LPGUID pguidInterfaces
,
549 LPDWORD pcguidInteraces
)
552 return SCARD_F_UNKNOWN_ERROR
;
561 SCardListReaderGroupsA(SCARDCONTEXT hContext
,
566 return SCARD_F_UNKNOWN_ERROR
;
575 SCardListReaderGroupsW(SCARDCONTEXT hContext
,
580 return SCARD_F_UNKNOWN_ERROR
;
589 SCardListReadersA(SCARDCONTEXT Context
,
595 return SCARD_F_UNKNOWN_ERROR
;
604 SCardListReadersW(SCARDCONTEXT Context
,
610 return SCARD_F_UNKNOWN_ERROR
;
619 SCardLocateCardsA(SCARDCONTEXT hContext
,
621 LPSCARD_READERSTATEA rgReaderStates
,
625 return SCARD_F_UNKNOWN_ERROR
;
634 SCardLocateCardsW(SCARDCONTEXT hContext
,
636 LPSCARD_READERSTATEW rgReaderStates
,
640 return SCARD_F_UNKNOWN_ERROR
;
649 SCardLocateCardsByATRA(SCARDCONTEXT hContext
,
650 LPSCARD_ATRMASK rgAtrMasks
,
652 LPSCARD_READERSTATEA rgReaderStates
,
656 return SCARD_F_UNKNOWN_ERROR
;
665 SCardLocateCardsByATRW(SCARDCONTEXT hContext
,
666 LPSCARD_ATRMASK rgAtrMasks
,
668 LPSCARD_READERSTATEW rgReaderStates
,
672 return SCARD_F_UNKNOWN_ERROR
;
681 SCardReconnect(SCARDHANDLE hCard
,
683 DWORD dwPreferredProtocols
,
684 DWORD dwInitialization
,
685 LPDWORD pdwActiveProtocol
)
688 return SCARD_F_UNKNOWN_ERROR
;
697 SCardReleaseContext(SCARDCONTEXT hContext
)
700 return SCARD_F_UNKNOWN_ERROR
;
709 SCardReleaseStartedEvent(HANDLE hStartedEventHandle
)
720 SCardRemoveReaderFromGroupA(SCARDCONTEXT hContext
,
725 return SCARD_F_UNKNOWN_ERROR
;
734 SCardRemoveReaderFromGroupW(SCARDCONTEXT hContext
,
735 LPCWSTR szReaderName
,
739 return SCARD_F_UNKNOWN_ERROR
;
748 SCardSetAttrib(SCARDHANDLE hCard
,
754 return SCARD_F_UNKNOWN_ERROR
;
763 SCardSetCardTypeProviderNameA(SCARDCONTEXT hContext
,
769 return SCARD_F_UNKNOWN_ERROR
;
778 SCardSetCardTypeProviderNameW(SCARDCONTEXT hContext
,
784 return SCARD_F_UNKNOWN_ERROR
;
793 SCardState(SCARDHANDLE hCard
,
800 return SCARD_F_UNKNOWN_ERROR
;
809 SCardStatusA(SCARDHANDLE hCard
,
811 LPDWORD pcchReaderLen
,
818 return SCARD_F_UNKNOWN_ERROR
;
827 SCardStatusW(SCARDHANDLE hCard
,
829 LPDWORD pcchReaderLen
,
836 return SCARD_F_UNKNOWN_ERROR
;
845 SCardTransmit(SCARDHANDLE hCard
,
846 LPCSCARD_IO_REQUEST pioSendPci
,
847 LPCBYTE pbSendBuffer
,
849 LPSCARD_IO_REQUEST pioRecvPci
,
851 LPDWORD pcbRecvLength
)
854 return SCARD_F_UNKNOWN_ERROR
;