FreeRDP
|
#include <freerdp/config.h>
#include <freerdp/freerdp.h>
#include <winpr/crt.h>
#include <winpr/wlog.h>
#include <winpr/file.h>
#include <winpr/path.h>
#include <winpr/library.h>
#include <winpr/smartcard.h>
#include <winpr/collections.h>
#include <winpr/crypto.h>
#include <freerdp/emulate/scard/smartcard_emulate.h>
#include "FreeRDP.ico.h"
#include "smartcard_virtual_gids.h"
Macros | |
#define | MAX_CACHE_ITEM_SIZE 4096 |
#define | MAX_CACHE_ITEM_VALUES 4096 |
#define | MAX_EMULATED_READERS 1 |
Functions | |
static char * | card_id_and_name_a (const UUID *CardIdentifier, LPCSTR LookupName) |
static char * | card_id_and_name_w (const UUID *CardIdentifier, LPCWSTR LookupName) |
static BOOL CALLBACK | g_ReaderNameWInit (PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context) |
static SCardHandle * | find_reader (SmartcardEmulationContext *smartcard, const void *szReader, BOOL unicode) |
static BOOL | scard_status_transition (SCardContext *context) |
static UINT32 | scard_copy_strings (SCardContext *ctx, void *dst, UINT32 dstSize, const void *src, UINT32 srcSize) |
static void | scard_context_free (void *context) |
static SCardContext * | scard_context_new (void) |
static void | scard_handle_free (void *handle) |
static SCardHandle * | scard_handle_new (SmartcardEmulationContext *smartcard, SCARDCONTEXT context, const void *name, BOOL unicode) |
static LONG | scard_handle_valid (SmartcardEmulationContext *smartcard, SCARDHANDLE handle) |
static LONG | scard_reader_name_valid_a (SmartcardEmulationContext *smartcard, SCARDCONTEXT context, const char *name) |
static LONG | scard_reader_name_valid_w (SmartcardEmulationContext *smartcard, SCARDCONTEXT context, const WCHAR *name) |
LONG WINAPI | Emulate_SCardEstablishContext (SmartcardEmulationContext *smartcard, DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext) |
LONG WINAPI | Emulate_SCardReleaseContext (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext) |
LONG WINAPI | Emulate_SCardIsValidContext (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext) |
LONG WINAPI | Emulate_SCardListReaderGroupsA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPSTR mszGroups, LPDWORD pcchGroups) |
LONG WINAPI | Emulate_SCardListReaderGroupsW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPWSTR mszGroups, LPDWORD pcchGroups) |
LONG WINAPI | Emulate_SCardListReadersA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR mszGroups, LPSTR mszReaders, LPDWORD pcchReaders) |
LONG WINAPI | Emulate_SCardListReadersW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR mszGroups, LPWSTR mszReaders, LPDWORD pcchReaders) |
LONG WINAPI | Emulate_SCardListCardsA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCBYTE pbAtr, LPCGUID rgquidInterfaces, DWORD cguidInterfaceCount, CHAR *mszCards, LPDWORD pcchCards) |
LONG WINAPI | Emulate_SCardListCardsW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCBYTE pbAtr, LPCGUID rgquidInterfaces, DWORD cguidInterfaceCount, WCHAR *mszCards, LPDWORD pcchCards) |
LONG WINAPI | Emulate_SCardListInterfacesA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCard, LPGUID pguidInterfaces, LPDWORD pcguidInterfaces) |
LONG WINAPI | Emulate_SCardListInterfacesW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCard, LPGUID pguidInterfaces, LPDWORD pcguidInterfaces) |
LONG WINAPI | Emulate_SCardGetProviderIdA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCard, LPGUID pguidProviderId) |
LONG WINAPI | Emulate_SCardGetProviderIdW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCard, LPGUID pguidProviderId) |
LONG WINAPI | Emulate_SCardGetCardTypeProviderNameA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCardName, DWORD dwProviderId, CHAR *szProvider, LPDWORD pcchProvider) |
LONG WINAPI | Emulate_SCardGetCardTypeProviderNameW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName, DWORD dwProviderId, WCHAR *szProvider, LPDWORD pcchProvider) |
LONG WINAPI | Emulate_SCardIntroduceReaderGroupA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szGroupName) |
LONG WINAPI | Emulate_SCardIntroduceReaderGroupW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szGroupName) |
LONG WINAPI | Emulate_SCardForgetReaderGroupA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szGroupName) |
LONG WINAPI | Emulate_SCardForgetReaderGroupW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szGroupName) |
LONG WINAPI | Emulate_SCardIntroduceReaderA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPCSTR szDeviceName) |
LONG WINAPI | Emulate_SCardIntroduceReaderW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPCWSTR szDeviceName) |
LONG WINAPI | Emulate_SCardForgetReaderA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName) |
LONG WINAPI | Emulate_SCardForgetReaderW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName) |
LONG WINAPI | Emulate_SCardAddReaderToGroupA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPCSTR szGroupName) |
LONG WINAPI | Emulate_SCardAddReaderToGroupW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPCWSTR szGroupName) |
LONG WINAPI | Emulate_SCardRemoveReaderFromGroupA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPCSTR szGroupName) |
LONG WINAPI | Emulate_SCardRemoveReaderFromGroupW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPCWSTR szGroupName) |
LONG WINAPI | Emulate_SCardIntroduceCardTypeA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCardName, LPCGUID pguidPrimaryProvider, LPCGUID rgguidInterfaces, DWORD dwInterfaceCount, LPCBYTE pbAtr, LPCBYTE pbAtrMask, DWORD cbAtrLen) |
LONG WINAPI | Emulate_SCardIntroduceCardTypeW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName, LPCGUID pguidPrimaryProvider, LPCGUID rgguidInterfaces, DWORD dwInterfaceCount, LPCBYTE pbAtr, LPCBYTE pbAtrMask, DWORD cbAtrLen) |
LONG WINAPI | Emulate_SCardSetCardTypeProviderNameA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCardName, DWORD dwProviderId, LPCSTR szProvider) |
LONG WINAPI | Emulate_SCardSetCardTypeProviderNameW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName, DWORD dwProviderId, LPCWSTR szProvider) |
LONG WINAPI | Emulate_SCardForgetCardTypeA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szCardName) |
LONG WINAPI | Emulate_SCardForgetCardTypeW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szCardName) |
LONG WINAPI | Emulate_SCardFreeMemory (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPVOID pvMem) |
HANDLE WINAPI | Emulate_SCardAccessStartedEvent (SmartcardEmulationContext *smartcard) |
void WINAPI | Emulate_SCardReleaseStartedEvent (SmartcardEmulationContext *smartcard) |
LONG WINAPI | Emulate_SCardLocateCardsA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR mszCards, LPSCARD_READERSTATEA rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardLocateCardsW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR mszCards, LPSCARD_READERSTATEW rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardLocateCardsByATRA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPSCARD_ATRMASK rgAtrMasks, DWORD cAtrs, LPSCARD_READERSTATEA rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardLocateCardsByATRW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPSCARD_ATRMASK rgAtrMasks, DWORD cAtrs, LPSCARD_READERSTATEW rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardGetStatusChangeA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATEA rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardGetStatusChangeW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATEW rgReaderStates, DWORD cReaders) |
LONG WINAPI | Emulate_SCardCancel (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext) |
static SCardHandle * | reader2handle (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, const void *szReader, BOOL unicode, DWORD dwShareMode, SCARDHANDLE *phCard, DWORD dwPreferredProtocols, LPDWORD pdwActiveProtocol) |
LONG WINAPI | Emulate_SCardConnectA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol) |
LONG WINAPI | Emulate_SCardConnectW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol) |
LONG WINAPI | Emulate_SCardReconnect (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, LPDWORD pdwActiveProtocol) |
LONG WINAPI | Emulate_SCardDisconnect (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwDisposition) |
LONG WINAPI | Emulate_SCardBeginTransaction (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard) |
LONG WINAPI | Emulate_SCardEndTransaction (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwDisposition) |
LONG WINAPI | Emulate_SCardCancelTransaction (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard) |
LONG WINAPI | Emulate_SCardState (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen) |
LONG WINAPI | Emulate_SCardStatusA (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, LPSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen) |
LONG WINAPI | Emulate_SCardStatusW (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, LPWSTR mszReaderNames, LPDWORD pcchReaderLen, LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr, LPDWORD pcbAtrLen) |
LONG WINAPI | Emulate_SCardTransmit (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength) |
LONG WINAPI | Emulate_SCardGetTransmitCount (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, LPDWORD pcTransmitCount) |
LONG WINAPI | Emulate_SCardControl (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID lpInBuffer, DWORD cbInBufferSize, LPVOID lpOutBuffer, DWORD cbOutBufferSize, LPDWORD lpBytesReturned) |
LONG WINAPI | Emulate_SCardGetAttrib (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr, LPDWORD pcbAttrLen) |
LONG WINAPI | Emulate_SCardSetAttrib (SmartcardEmulationContext *smartcard, SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr, DWORD cbAttrLen) |
LONG WINAPI | Emulate_SCardUIDlgSelectCardA (SmartcardEmulationContext *smartcard, LPOPENCARDNAMEA_EX pDlgStruc) |
LONG WINAPI | Emulate_SCardUIDlgSelectCardW (SmartcardEmulationContext *smartcard, LPOPENCARDNAMEW_EX pDlgStruc) |
LONG WINAPI | Emulate_GetOpenCardNameA (SmartcardEmulationContext *smartcard, LPOPENCARDNAMEA pDlgStruc) |
LONG WINAPI | Emulate_GetOpenCardNameW (SmartcardEmulationContext *smartcard, LPOPENCARDNAMEW pDlgStruc) |
LONG WINAPI | Emulate_SCardDlgExtendedError (SmartcardEmulationContext *smartcard) |
LONG WINAPI | Emulate_SCardReadCacheA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, UUID *CardIdentifier, DWORD FreshnessCounter, LPSTR LookupName, PBYTE Data, DWORD *DataLen) |
LONG WINAPI | Emulate_SCardReadCacheW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, UUID *CardIdentifier, DWORD FreshnessCounter, LPWSTR LookupName, PBYTE Data, DWORD *DataLen) |
static LONG | insert_data (wHashTable *table, DWORD FreshnessCounter, const char *key, const PBYTE Data, DWORD DataLen) |
LONG WINAPI | Emulate_SCardWriteCacheA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, UUID *CardIdentifier, DWORD FreshnessCounter, LPSTR LookupName, PBYTE Data, DWORD DataLen) |
LONG WINAPI | Emulate_SCardWriteCacheW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, UUID *CardIdentifier, DWORD FreshnessCounter, LPWSTR LookupName, PBYTE Data, DWORD DataLen) |
LONG WINAPI | Emulate_SCardGetReaderIconA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPBYTE pbIcon, LPDWORD pcbIcon) |
LONG WINAPI | Emulate_SCardGetReaderIconW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPBYTE pbIcon, LPDWORD pcbIcon) |
LONG WINAPI | Emulate_SCardGetDeviceTypeIdA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPDWORD pdwDeviceTypeId) |
LONG WINAPI | Emulate_SCardGetDeviceTypeIdW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPDWORD pdwDeviceTypeId) |
LONG WINAPI | Emulate_SCardGetReaderDeviceInstanceIdA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szReaderName, LPSTR szDeviceInstanceId, LPDWORD pcchDeviceInstanceId) |
LONG WINAPI | Emulate_SCardGetReaderDeviceInstanceIdW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szReaderName, LPWSTR szDeviceInstanceId, LPDWORD pcchDeviceInstanceId) |
LONG WINAPI | Emulate_SCardListReadersWithDeviceInstanceIdA (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCSTR szDeviceInstanceId, LPSTR mszReaders, LPDWORD pcchReaders) |
LONG WINAPI | Emulate_SCardListReadersWithDeviceInstanceIdW (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, LPCWSTR szDeviceInstanceId, LPWSTR mszReaders, LPDWORD pcchReaders) |
LONG WINAPI | Emulate_SCardAudit (SmartcardEmulationContext *smartcard, SCARDCONTEXT hContext, DWORD dwEvent) |
static BOOL | context_equals (const void *pva, const void *pvb) |
static BOOL | handle_equals (const void *pva, const void *pvb) |
SmartcardEmulationContext * | Emulate_New (const rdpSettings *settings) |
void | Emulate_Free (SmartcardEmulationContext *context) |
BOOL | Emulate_IsConfigured (SmartcardEmulationContext *context) |
Variables | |
static CHAR | g_ReaderNameA [] |
static INIT_ONCE | g_ReaderNameWGuard = INIT_ONCE_STATIC_INIT |
static WCHAR | g_ReaderNameW [32] = { 0 } |
static size_t | g_ReaderNameWLen = 0 |
static const BYTE | ATR [] |
#define MAX_CACHE_ITEM_SIZE 4096 |
WinPR: Windows Portable Runtime Smart Card API emulation
Copyright 2021 Armin Novak armin Copyright 2021 Thincast Technologies GmbH .nov ak@th inca st.co m
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
#define MAX_CACHE_ITEM_VALUES 4096 |
#define MAX_EMULATED_READERS 1 |
|
static |
|
static |
|
static |
void Emulate_Free | ( | SmartcardEmulationContext * | context | ) |
LONG WINAPI Emulate_GetOpenCardNameA | ( | SmartcardEmulationContext * | smartcard, |
LPOPENCARDNAMEA | pDlgStruc | ||
) |
LONG WINAPI Emulate_GetOpenCardNameW | ( | SmartcardEmulationContext * | smartcard, |
LPOPENCARDNAMEW | pDlgStruc | ||
) |
BOOL Emulate_IsConfigured | ( | SmartcardEmulationContext * | context | ) |
SmartcardEmulationContext* Emulate_New | ( | const rdpSettings * | settings | ) |
HANDLE WINAPI Emulate_SCardAccessStartedEvent | ( | SmartcardEmulationContext * | smartcard | ) |
LONG WINAPI Emulate_SCardAddReaderToGroupA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPCSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardAddReaderToGroupW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPCWSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardAudit | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
DWORD | dwEvent | ||
) |
LONG WINAPI Emulate_SCardBeginTransaction | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard | ||
) |
LONG WINAPI Emulate_SCardCancel | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext | ||
) |
LONG WINAPI Emulate_SCardCancelTransaction | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard | ||
) |
LONG WINAPI Emulate_SCardConnectA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReader, | ||
DWORD | dwShareMode, | ||
DWORD | dwPreferredProtocols, | ||
LPSCARDHANDLE | phCard, | ||
LPDWORD | pdwActiveProtocol | ||
) |
LONG WINAPI Emulate_SCardConnectW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReader, | ||
DWORD | dwShareMode, | ||
DWORD | dwPreferredProtocols, | ||
LPSCARDHANDLE | phCard, | ||
LPDWORD | pdwActiveProtocol | ||
) |
LONG WINAPI Emulate_SCardControl | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwControlCode, | ||
LPCVOID | lpInBuffer, | ||
DWORD | cbInBufferSize, | ||
LPVOID | lpOutBuffer, | ||
DWORD | cbOutBufferSize, | ||
LPDWORD | lpBytesReturned | ||
) |
LONG WINAPI Emulate_SCardDisconnect | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwDisposition | ||
) |
LONG WINAPI Emulate_SCardDlgExtendedError | ( | SmartcardEmulationContext * | smartcard | ) |
LONG WINAPI Emulate_SCardEndTransaction | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwDisposition | ||
) |
LONG WINAPI Emulate_SCardEstablishContext | ( | SmartcardEmulationContext * | smartcard, |
DWORD | dwScope, | ||
LPCVOID | pvReserved1, | ||
LPCVOID | pvReserved2, | ||
LPSCARDCONTEXT | phContext | ||
) |
Standard Windows Smart Card API
LONG WINAPI Emulate_SCardForgetCardTypeA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCardName | ||
) |
LONG WINAPI Emulate_SCardForgetCardTypeW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCardName | ||
) |
LONG WINAPI Emulate_SCardForgetReaderA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName | ||
) |
LONG WINAPI Emulate_SCardForgetReaderGroupA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardForgetReaderGroupW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardForgetReaderW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName | ||
) |
LONG WINAPI Emulate_SCardFreeMemory | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPVOID | pvMem | ||
) |
LONG WINAPI Emulate_SCardGetAttrib | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwAttrId, | ||
LPBYTE | pbAttr, | ||
LPDWORD | pcbAttrLen | ||
) |
LONG WINAPI Emulate_SCardGetCardTypeProviderNameA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCardName, | ||
DWORD | dwProviderId, | ||
CHAR * | szProvider, | ||
LPDWORD | pcchProvider | ||
) |
LONG WINAPI Emulate_SCardGetCardTypeProviderNameW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCardName, | ||
DWORD | dwProviderId, | ||
WCHAR * | szProvider, | ||
LPDWORD | pcchProvider | ||
) |
LONG WINAPI Emulate_SCardGetDeviceTypeIdA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPDWORD | pdwDeviceTypeId | ||
) |
LONG WINAPI Emulate_SCardGetDeviceTypeIdW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPDWORD | pdwDeviceTypeId | ||
) |
LONG WINAPI Emulate_SCardGetProviderIdA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCard, | ||
LPGUID | pguidProviderId | ||
) |
LONG WINAPI Emulate_SCardGetProviderIdW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCard, | ||
LPGUID | pguidProviderId | ||
) |
LONG WINAPI Emulate_SCardGetReaderDeviceInstanceIdA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPSTR | szDeviceInstanceId, | ||
LPDWORD | pcchDeviceInstanceId | ||
) |
LONG WINAPI Emulate_SCardGetReaderDeviceInstanceIdW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPWSTR | szDeviceInstanceId, | ||
LPDWORD | pcchDeviceInstanceId | ||
) |
LONG WINAPI Emulate_SCardGetReaderIconA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPBYTE | pbIcon, | ||
LPDWORD | pcbIcon | ||
) |
LONG WINAPI Emulate_SCardGetReaderIconW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPBYTE | pbIcon, | ||
LPDWORD | pcbIcon | ||
) |
LONG WINAPI Emulate_SCardGetStatusChangeA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
DWORD | dwTimeout, | ||
LPSCARD_READERSTATEA | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardGetStatusChangeW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
DWORD | dwTimeout, | ||
LPSCARD_READERSTATEW | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardGetTransmitCount | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
LPDWORD | pcTransmitCount | ||
) |
LONG WINAPI Emulate_SCardIntroduceCardTypeA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCardName, | ||
LPCGUID | pguidPrimaryProvider, | ||
LPCGUID | rgguidInterfaces, | ||
DWORD | dwInterfaceCount, | ||
LPCBYTE | pbAtr, | ||
LPCBYTE | pbAtrMask, | ||
DWORD | cbAtrLen | ||
) |
LONG WINAPI Emulate_SCardIntroduceCardTypeW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCardName, | ||
LPCGUID | pguidPrimaryProvider, | ||
LPCGUID | rgguidInterfaces, | ||
DWORD | dwInterfaceCount, | ||
LPCBYTE | pbAtr, | ||
LPCBYTE | pbAtrMask, | ||
DWORD | cbAtrLen | ||
) |
LONG WINAPI Emulate_SCardIntroduceReaderA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPCSTR | szDeviceName | ||
) |
LONG WINAPI Emulate_SCardIntroduceReaderGroupA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardIntroduceReaderGroupW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardIntroduceReaderW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPCWSTR | szDeviceName | ||
) |
LONG WINAPI Emulate_SCardIsValidContext | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext | ||
) |
LONG WINAPI Emulate_SCardListCardsA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCBYTE | pbAtr, | ||
LPCGUID | rgquidInterfaces, | ||
DWORD | cguidInterfaceCount, | ||
CHAR * | mszCards, | ||
LPDWORD | pcchCards | ||
) |
LONG WINAPI Emulate_SCardListCardsW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCBYTE | pbAtr, | ||
LPCGUID | rgquidInterfaces, | ||
DWORD | cguidInterfaceCount, | ||
WCHAR * | mszCards, | ||
LPDWORD | pcchCards | ||
) |
LONG WINAPI Emulate_SCardListInterfacesA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCard, | ||
LPGUID | pguidInterfaces, | ||
LPDWORD | pcguidInterfaces | ||
) |
LONG WINAPI Emulate_SCardListInterfacesW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCard, | ||
LPGUID | pguidInterfaces, | ||
LPDWORD | pcguidInterfaces | ||
) |
LONG WINAPI Emulate_SCardListReaderGroupsA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPSTR | mszGroups, | ||
LPDWORD | pcchGroups | ||
) |
LONG WINAPI Emulate_SCardListReaderGroupsW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPWSTR | mszGroups, | ||
LPDWORD | pcchGroups | ||
) |
LONG WINAPI Emulate_SCardListReadersA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | mszGroups, | ||
LPSTR | mszReaders, | ||
LPDWORD | pcchReaders | ||
) |
LONG WINAPI Emulate_SCardListReadersW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | mszGroups, | ||
LPWSTR | mszReaders, | ||
LPDWORD | pcchReaders | ||
) |
LONG WINAPI Emulate_SCardListReadersWithDeviceInstanceIdA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szDeviceInstanceId, | ||
LPSTR | mszReaders, | ||
LPDWORD | pcchReaders | ||
) |
LONG WINAPI Emulate_SCardListReadersWithDeviceInstanceIdW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szDeviceInstanceId, | ||
LPWSTR | mszReaders, | ||
LPDWORD | pcchReaders | ||
) |
LONG WINAPI Emulate_SCardLocateCardsA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | mszCards, | ||
LPSCARD_READERSTATEA | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardLocateCardsByATRA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPSCARD_ATRMASK | rgAtrMasks, | ||
DWORD | cAtrs, | ||
LPSCARD_READERSTATEA | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardLocateCardsByATRW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPSCARD_ATRMASK | rgAtrMasks, | ||
DWORD | cAtrs, | ||
LPSCARD_READERSTATEW | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardLocateCardsW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | mszCards, | ||
LPSCARD_READERSTATEW | rgReaderStates, | ||
DWORD | cReaders | ||
) |
LONG WINAPI Emulate_SCardReadCacheA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
UUID * | CardIdentifier, | ||
DWORD | FreshnessCounter, | ||
LPSTR | LookupName, | ||
PBYTE | Data, | ||
DWORD * | DataLen | ||
) |
LONG WINAPI Emulate_SCardReadCacheW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
UUID * | CardIdentifier, | ||
DWORD | FreshnessCounter, | ||
LPWSTR | LookupName, | ||
PBYTE | Data, | ||
DWORD * | DataLen | ||
) |
LONG WINAPI Emulate_SCardReconnect | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwShareMode, | ||
DWORD | dwPreferredProtocols, | ||
DWORD | dwInitialization, | ||
LPDWORD | pdwActiveProtocol | ||
) |
LONG WINAPI Emulate_SCardReleaseContext | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext | ||
) |
void WINAPI Emulate_SCardReleaseStartedEvent | ( | SmartcardEmulationContext * | smartcard | ) |
LONG WINAPI Emulate_SCardRemoveReaderFromGroupA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szReaderName, | ||
LPCSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardRemoveReaderFromGroupW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szReaderName, | ||
LPCWSTR | szGroupName | ||
) |
LONG WINAPI Emulate_SCardSetAttrib | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
DWORD | dwAttrId, | ||
LPCBYTE | pbAttr, | ||
DWORD | cbAttrLen | ||
) |
LONG WINAPI Emulate_SCardSetCardTypeProviderNameA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCSTR | szCardName, | ||
DWORD | dwProviderId, | ||
LPCSTR | szProvider | ||
) |
LONG WINAPI Emulate_SCardSetCardTypeProviderNameW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
LPCWSTR | szCardName, | ||
DWORD | dwProviderId, | ||
LPCWSTR | szProvider | ||
) |
LONG WINAPI Emulate_SCardState | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
LPDWORD | pdwState, | ||
LPDWORD | pdwProtocol, | ||
LPBYTE | pbAtr, | ||
LPDWORD | pcbAtrLen | ||
) |
LONG WINAPI Emulate_SCardStatusA | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
LPSTR | mszReaderNames, | ||
LPDWORD | pcchReaderLen, | ||
LPDWORD | pdwState, | ||
LPDWORD | pdwProtocol, | ||
LPBYTE | pbAtr, | ||
LPDWORD | pcbAtrLen | ||
) |
LONG WINAPI Emulate_SCardStatusW | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
LPWSTR | mszReaderNames, | ||
LPDWORD | pcchReaderLen, | ||
LPDWORD | pdwState, | ||
LPDWORD | pdwProtocol, | ||
LPBYTE | pbAtr, | ||
LPDWORD | pcbAtrLen | ||
) |
LONG WINAPI Emulate_SCardTransmit | ( | SmartcardEmulationContext * | smartcard, |
SCARDHANDLE | hCard, | ||
LPCSCARD_IO_REQUEST | pioSendPci, | ||
LPCBYTE | pbSendBuffer, | ||
DWORD | cbSendLength, | ||
LPSCARD_IO_REQUEST | pioRecvPci, | ||
LPBYTE | pbRecvBuffer, | ||
LPDWORD | pcbRecvLength | ||
) |
LONG WINAPI Emulate_SCardUIDlgSelectCardA | ( | SmartcardEmulationContext * | smartcard, |
LPOPENCARDNAMEA_EX | pDlgStruc | ||
) |
LONG WINAPI Emulate_SCardUIDlgSelectCardW | ( | SmartcardEmulationContext * | smartcard, |
LPOPENCARDNAMEW_EX | pDlgStruc | ||
) |
LONG WINAPI Emulate_SCardWriteCacheA | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
UUID * | CardIdentifier, | ||
DWORD | FreshnessCounter, | ||
LPSTR | LookupName, | ||
PBYTE | Data, | ||
DWORD | DataLen | ||
) |
LONG WINAPI Emulate_SCardWriteCacheW | ( | SmartcardEmulationContext * | smartcard, |
SCARDCONTEXT | hContext, | ||
UUID * | CardIdentifier, | ||
DWORD | FreshnessCounter, | ||
LPWSTR | LookupName, | ||
PBYTE | Data, | ||
DWORD | DataLen | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |