Smartcard device drivers

Overview of the Smartcard device drivers technology.

To develop Smartcard device drivers, you need these headers:

For the programming guide, see Smartcard device drivers.

Structures

Title Description
_CLOCK_RATE_CONVERSION structure The CLOCK_RATE_CONVERSION structure holds a value that determines the duration of a bit of data and the corresponding maximum operating frequency that accompanies the indicated bit length.
_OS_DEP_DATA structure The OS_DEP_DATA structure defines the data that is stored in the OsData member of the SMARTCARD_EXTENSION structure, which holds smart card information that is specific to the operating system.
_PTS_DATA structure The PTS_DATA structure is used for protocol type selection (PTS).
_SCARD_CARD_CAPABILITIES structure The SCARD_CARD_CAPABILITIES structure declaration defines the data that is stored in the CardCapabilites member of the SMARTCARD_EXTENSION structure and holds all information that is specific to the particular smart card that is currently used.
_SCARD_READER_CAPABILITIES structure The SCARD_READER_CAPABILITIES structure holds state information about the smart card reader.
_SMARTCARD_EXTENSION structure The SMARTCARD_EXTENSION structure is used by both the smart card reader driver and the smart card driver library to access all other smart card data structures.
_SMARTCARD_REPLY structure Describes the reply buffer received from the smart card.
_SMARTCARD_REQUEST structure Describes the request buffer that contains data to send to the card.
_T0_DATA structure The T0_DATA structure is used by the smart card driver library to process T0 I/O.
_T1_DATA structure The T1_DATA structure is used by the smart card driver library to process T1 I/O.
_VENDOR_ATTR structure The VENDOR_ATTR structure defines the data that is stored in the VendorAttr member of the SMARTCARD_EXTENSION structure. VENDOR_ATTR also holds information that identifies the smart card reader, such as the vendor name, unit number, and serial number.

IOCTLs

Title Description
IOCTL_SMARTCARD_EJECT The IOCTL_SMARTCARD_EJECT request ejects the currently inserted smart card from the smart card reader.
IOCTL_SMARTCARD_GET_LAST_ERROR The IOCTL_SMARTCARD_GET_LAST_ERROR request retrieves the error code of the most previous operation because there is no option to return an error code immediately after an overlapped operation is complete.
IOCTL_SMARTCARD_SWALLOW The IOCTL_SMARTCARD_SWALLOW request causes the smart card reader to swallow the card.

Functions

Title Description

Structures

Title Description
_CLOCK_RATE_CONVERSION The CLOCK_RATE_CONVERSION structure holds a value that determines the duration of a bit of data and the corresponding maximum operating frequency that accompanies the indicated bit length.
_PTS_DATA The PTS_DATA structure is used for protocol type selection (PTS).
_SCARD_CARD_CAPABILITIES The SCARD_CARD_CAPABILITIES structure declaration defines the data that is stored in the CardCapabilites member of the SMARTCARD_EXTENSION structure and holds all information that is specific to the particular smart card that is currently used.
_SCARD_READER_CAPABILITIES The SCARD_READER_CAPABILITIES structure holds state information about the smart card reader.
_SMARTCARD_EXTENSION The SMARTCARD_EXTENSION structure is used by both the smart card reader driver and the smart card driver library to access all other smart card data structures.
_SMARTCARD_REPLY Describes the reply buffer received from the smart card.
_SMARTCARD_REQUEST Describes the request buffer that contains data to send to the card.
_T0_DATA The T0_DATA structure is used by the smart card driver library to process T0 I/O.
_T1_DATA The T1_DATA structure is used by the smart card driver library to process T1 I/O.
_VENDOR_ATTR The VENDOR_ATTR structure defines the data that is stored in the VendorAttr member of the SMARTCARD_EXTENSION structure. VENDOR_ATTR also holds information that identifies the smart card reader, such as the vendor name, unit number, and serial number.
_OS_DEP_DATA The OS_DEP_DATA structure defines the data that is stored in the OsData member of the SMARTCARD_EXTENSION structure, which holds smart card information that is specific to the operating system.