You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xrdp-proprietary/sesman/chansrv/pcsc/wrapper/winscard-funcs.h

172 lines
7.8 KiB

#ifndef _WINSCARD_FUNCS_H
#define _WINSCARD_FUNCS_H
typedef LONG WINAPI
(*tSCardEstablishContext)(DWORD dwScope, LPCVOID pvReserved1,
LPCVOID pvReserved2, LPSCARDCONTEXT phContext);
typedef LONG WINAPI
(*tSCardReleaseContext)(SCARDCONTEXT hContext);
typedef LONG WINAPI
(*tSCardIsValidContext)(SCARDCONTEXT hContext);
typedef LONG WINAPI
(*tSCardListReaderGroupsA)(SCARDCONTEXT hContext, LPSTR mszGroups,
LPDWORD pcchGroups);
typedef LONG WINAPI
(*tSCardListReaderGroupsW)(SCARDCONTEXT hContext, LPWSTR mszGroups,
LPDWORD pcchGroups);
typedef LONG WINAPI
(*tSCardListReadersA)(SCARDCONTEXT hContext, LPCSTR mszGroups,
LPSTR mszReaders, LPDWORD pcchReaders);
typedef LONG WINAPI
(*tSCardListReadersW)(SCARDCONTEXT hContext, LPCWSTR mszGroups,
LPWSTR mszReaders, LPDWORD pcchReaders);
typedef LONG WINAPI
(*tSCardListCardsA)(SCARDCONTEXT hContext, LPCBYTE pbAtr,
LPCGUID rgquidInterfaces, DWORD cguidInterfaceCount,
LPSTR mszCards, LPDWORD pcchCards);
typedef LONG WINAPI
(*tSCardListCardsW)(SCARDCONTEXT hContext, LPCBYTE pbAtr,
LPCGUID rgquidInterfaces, DWORD cguidInterfaceCount,
LPWSTR mszCards, LPDWORD pcchCards);
typedef LONG WINAPI
(*tSCardListInterfacesA)(SCARDCONTEXT hContext, LPCSTR szCard,
LPGUID pguidInterfaces, LPDWORD pcguidInterfaces);
typedef LONG WINAPI
(*tSCardListInterfacesW)(SCARDCONTEXT hContext, LPCWSTR szCard,
LPGUID pguidInterfaces, LPDWORD pcguidInterfaces);
typedef LONG WINAPI
(*tSCardGetProviderIdA)(SCARDCONTEXT hContext, LPCSTR szCard,
LPGUID pguidProviderId);
typedef LONG WINAPI
(*tSCardGetProviderIdW)(SCARDCONTEXT hContext, LPCWSTR szCard,
LPGUID pguidProviderId);
typedef LONG WINAPI
(*tSCardGetCardTypeProviderNameA)(SCARDCONTEXT hContext, LPCSTR szCardName,
DWORD dwProviderId, LPSTR szProvider,
LPDWORD pcchProvider);
typedef LONG WINAPI
(*tSCardGetCardTypeProviderNameW)(SCARDCONTEXT hContext, LPCWSTR szCardName,
DWORD dwProviderId, LPWSTR szProvider,
LPDWORD pcchProvider);
typedef LONG WINAPI
(*tSCardIntroduceReaderGroupA)(SCARDCONTEXT hContext, LPCSTR szGroupName);
typedef LONG WINAPI
(*tSCardIntroduceReaderGroupW)(SCARDCONTEXT hContext, LPCWSTR szGroupName);
typedef LONG WINAPI
(*tSCardForgetReaderGroupA)(SCARDCONTEXT hContext, LPCSTR szGroupName);
typedef LONG WINAPI
(*tSCardForgetReaderGroupW)(SCARDCONTEXT hContext, LPCWSTR szGroupName);
typedef LONG WINAPI
(*tSCardIntroduceReaderA)(SCARDCONTEXT hContext, LPCSTR szReaderName,
LPCSTR szDeviceName);
typedef LONG WINAPI
(*tSCardIntroduceReaderW)(SCARDCONTEXT hContext, LPCWSTR szReaderName,
LPCWSTR szDeviceName);
typedef LONG WINAPI
(*tSCardForgetReaderA)(SCARDCONTEXT hContext, LPCSTR szReaderName);
typedef LONG WINAPI
(*tSCardForgetReaderW)(SCARDCONTEXT hContext, LPCWSTR szReaderName);
typedef LONG WINAPI
(*tSCardAddReaderToGroupA)(SCARDCONTEXT hContext, LPCSTR szReaderName,
LPCSTR szGroupName);
typedef LONG WINAPI
(*tSCardAddReaderToGroupW)(SCARDCONTEXT hContext, LPCWSTR szReaderName,
LPCWSTR szGroupName);
typedef LONG WINAPI
(*tSCardRemoveReaderFromGroupA)(SCARDCONTEXT hContext, LPCSTR szReaderName,
LPCSTR szGroupName);
typedef LONG WINAPI
(*tSCardRemoveReaderFromGroupW)(SCARDCONTEXT hContext, LPCWSTR szReaderName,
LPCWSTR szGroupName);
typedef LONG WINAPI
(*tSCardIntroduceCardTypeA)(SCARDCONTEXT hContext, LPCSTR szCardName,
LPCGUID pguidPrimaryProvider,
LPCGUID rgguidInterfaces,
DWORD dwInterfaceCount, LPCBYTE pbAtr,
LPCBYTE pbAtrMask, DWORD cbAtrLen);
typedef LONG WINAPI
(*tSCardIntroduceCardTypeW)(SCARDCONTEXT hContext, LPCWSTR szCardName,
LPCGUID pguidPrimaryProvider,
LPCGUID rgguidInterfaces,
DWORD dwInterfaceCount, LPCBYTE pbAtr,
LPCBYTE pbAtrMask, DWORD cbAtrLen);
typedef LONG WINAPI
(*tSCardSetCardTypeProviderNameA)(SCARDCONTEXT hContext, LPCSTR szCardName,
DWORD dwProviderId, LPCSTR szProvider);
typedef LONG WINAPI
(*tSCardSetCardTypeProviderNameW)(SCARDCONTEXT hContext, LPCWSTR szCardName,
DWORD dwProviderId, LPCWSTR szProvider);
typedef LONG WINAPI
(*tSCardForgetCardTypeA)(SCARDCONTEXT hContext, LPCSTR szCardName);
typedef LONG WINAPI
(*tSCardForgetCardTypeW)(SCARDCONTEXT hContext, LPCWSTR szCardName);
typedef LONG WINAPI
(*tSCardFreeMemory)(SCARDCONTEXT hContext, LPCVOID pvMem);
typedef LONG WINAPI
(*tSCardLocateCardsA)(SCARDCONTEXT hContext, LPCSTR mszCards,
LPSCARD_READERSTATEA rgReaderStates, DWORD cReaders);
typedef LONG WINAPI
(*tSCardLocateCardsW)(SCARDCONTEXT hContext, LPCWSTR mszCards,
LPSCARD_READERSTATEW rgReaderStates, DWORD cReaders);
typedef LONG WINAPI
(*tSCardGetStatusChangeA)(SCARDCONTEXT hContext, DWORD dwTimeout,
LPSCARD_READERSTATEA rgReaderStates,
DWORD cReaders);
typedef LONG WINAPI
(*tSCardGetStatusChangeW)(SCARDCONTEXT hContext, DWORD dwTimeout,
LPSCARD_READERSTATEW rgReaderStates,
DWORD cReaders);
typedef LONG WINAPI
(*tSCardCancel)(SCARDCONTEXT hContext);
typedef LONG WINAPI
(*tSCardConnectA)(SCARDCONTEXT hContext, LPCSTR szReader,
DWORD dwShareMode, DWORD dwPreferredProtocols,
LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
typedef LONG WINAPI
(*tSCardConnectW)(SCARDCONTEXT hContext, LPCWSTR szReader,
DWORD dwShareMode, DWORD dwPreferredProtocols,
LPSCARDHANDLE phCard, LPDWORD pdwActiveProtocol);
typedef LONG WINAPI
(*tSCardReconnect)(SCARDHANDLE hCard, DWORD dwShareMode,
DWORD dwPreferredProtocols, DWORD dwInitialization,
LPDWORD pdwActiveProtocol);
typedef LONG WINAPI
(*tSCardDisconnect)(SCARDHANDLE hCard, DWORD dwDisposition);
typedef LONG WINAPI
(*tSCardBeginTransaction)(SCARDHANDLE hCard);
typedef LONG WINAPI
(*tSCardEndTransaction)(SCARDHANDLE hCard, DWORD dwDisposition);
typedef LONG WINAPI
(*tSCardCancelTransaction)(SCARDHANDLE hCard);
typedef LONG WINAPI
(*tSCardState)(SCARDHANDLE hCard, LPDWORD pdwState, LPDWORD pdwProtocol,
LPBYTE pbAtr, LPDWORD pcbAtrLen);
typedef LONG WINAPI
(*tSCardStatusA)(SCARDHANDLE hCard, LPSTR szReaderName, LPDWORD pcchReaderLen,
LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr,
LPDWORD pcbAtrLen);
typedef LONG WINAPI
(*tSCardStatusW)(SCARDHANDLE hCard, LPWSTR szReaderName, LPDWORD pcchReaderLen,
LPDWORD pdwState, LPDWORD pdwProtocol, LPBYTE pbAtr,
LPDWORD pcbAtrLen);
typedef LONG WINAPI
(*tSCardTransmit)(SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci,
LPCBYTE pbSendBuffer, DWORD cbSendLength,
LPSCARD_IO_REQUEST pioRecvPci, LPBYTE pbRecvBuffer,
LPDWORD pcbRecvLength);
typedef LONG WINAPI
(*tSCardControl)(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID lpInBuffer,
DWORD nInBufferSize, LPVOID lpOutBuffer,
DWORD nOutBufferSize, LPDWORD lpBytesReturned);
typedef LONG WINAPI
(*tSCardGetAttrib)(SCARDHANDLE hCard, DWORD dwAttrId, LPBYTE pbAttr,
LPDWORD pcbAttrLen);
typedef LONG WINAPI
(*tSCardSetAttrib)(SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr,
DWORD cbAttrLen);
#endif