| 1 |
List of SCardControl() commands supported by the CCID driver
|
| 2 |
============================================================
|
| 3 |
|
| 4 |
PC/SC provides the SCardControl() function to send commands to the
|
| 5 |
driver and/or reader. Here is the list of supported commands by the CCID
|
| 6 |
driver.
|
| 7 |
|
| 8 |
|
| 9 |
PC/SC function prototype
|
| 10 |
"""""""""""""""""""""""""
|
| 11 |
|
| 12 |
LONG SCardControl(
|
| 13 |
SCARDHANDLE hCard,
|
| 14 |
DWORD dwControlCode,
|
| 15 |
LPCVOID pbSendBuffer,
|
| 16 |
DWORD cbSendLength,
|
| 17 |
LPVOID pbRecvBuffer,
|
| 18 |
DWORD cbRecvLength,
|
| 19 |
LPDWORD lpBytesReturned
|
| 20 |
)
|
| 21 |
|
| 22 |
Parameters:
|
| 23 |
|
| 24 |
[in] hCard Connection made from SCardConnect().
|
| 25 |
[in] dwControlCode Control code for the operation.
|
| 26 |
[in] pbSendBuffer Command to send to the reader.
|
| 27 |
[in] cbSendLength Length of the command.
|
| 28 |
[out] pbRecvBuffer Response from the reader.
|
| 29 |
[in] cbRecvLength Length of the response buffer.
|
| 30 |
[out] lpBytesReturned Length of the response.
|
| 31 |
|
| 32 |
If the dwControlCode is not supported the application receives the error
|
| 33 |
SCARD_E_UNSUPPORTED_FEATURE or SCARD_E_NOT_TRANSACTED as a general error
|
| 34 |
code.
|
| 35 |
|
| 36 |
|
| 37 |
supported ControlCode
|
| 38 |
"""""""""""""""""""""
|
| 39 |
|
| 40 |
IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE
|
| 41 |
defined as SCARD_CTL_CODE(1)
|
| 42 |
|
| 43 |
The pbSendBuffer[] buffer is sent as a PC_to_RDR_Escape CCID command
|
| 44 |
For security possible problems this command in possible in the
|
| 45 |
following cases only:
|
| 46 |
- the reader is a Gemalto (ex Gemplus) reader and the command is:
|
| 47 |
. get firmware version
|
| 48 |
. switch interface on a ProxDU
|
| 49 |
- the ifdDriverOptions (in the Info.plist file) has the bit
|
| 50 |
DRIVER_OPTION_CCID_EXCHANGE_AUTHORIZED set
|
| 51 |
|
| 52 |
CM_IOCTL_GET_FEATURE_REQUEST
|
| 53 |
defined as SCARD_CTL_CODE(3400)
|
| 54 |
|
| 55 |
Implements the PC/SC v2.02.08 Part 10 IOCTL mechanism
|
| 56 |
|
| 57 |
IOCTL_FEATURE_VERIFY_PIN_DIRECT
|
| 58 |
IOCTL_FEATURE_MODIFY_PIN_DIRECT
|
| 59 |
IOCTL_FEATURE_IFD_PIN_PROPERTIES
|
| 60 |
IOCTL_FEATURE_MCT_READERDIRECT
|
| 61 |
IOCTL_FEATURE_GET_TLV_PROPERTIES
|
| 62 |
See PC/SC v2.02.08 Part 10
|
| 63 |
|