SMARTCARD_EXTENSION
The SMARTCARD_EXTENSION structure is used by both the reader driver and the smart card driver library to access all other smart card data structures. This structure is passed to all callback functions.
typedef struct _SMARTCARD_EXTENSION {
ULONG Version;
VENDOR_ATTR VendorAttr;
NTSTATUS (*ReaderFunction[16])(PSMARTCARD_EXTENSION);
SCARD_CARD_CAPABILITIES CardCapabilities;
ULONG LastError;
struct {
PULONG Information;
PUCHAR RequestBuffer;
ULONG RequestBufferLength;
PUCHAR ReplyBuffer;
ULONG ReplyBufferLength;
} IoRequest;
ULONG MajorIoControlCode;
ULONG MinorIoControlCode;
POS_DEP_DATA OsData;
SCARD_READER_CAPABILITIES ReaderCapabilities;
PREADER_EXTENSION ReaderExtension;
SMARTCARD_REPLY SmartcardReply;
SMARTCARD_REQUEST SmartcardRequest;
T0_DATA T0;
T1_DATA T1;
ULONG Reserved[25];
} SMARTCARD_EXTENSION, *PSMARTCARD_EXTENSION;
Members
- Version
- Indicates the version of this structure.
- VendorAttr
- Contains information that identifies the reader driver, such as the vendor name, unit number, and serial number.
- ReaderFunction
- Pointer to an array of callback reader functions.
- CardCapabilities
- Contains capabilities of the current inserted card.
- LastError
- Stores the last error of an overlapped operation. (Used only for Windows 9x VxDs.)
- IoRequest.Information
- Contains the number of bytes returned.
- IoRequest.RequestBuffer
- Pointer to the data of the user's I/O request to be sent to the card.
- IoRequest.RequestBufferLength
- Indicates the number of bytes to be sent to the card.
- IoRequest.ReplyBuffer
- Pointer to the buffer holding the data returned by the I/O request.
- IoRequest.ReplyBufferLength
- Indicates the number of bytes of the data returned by the I/O request.
- MajorIoControlCode
- Contains the major I/O control code.
- MinorIoControlCode
- Contains the minor I/O control code.
- OsData
- Contains information that is specific to the operating system and the driver type.
- ReaderCapabilities
- Contains the capabilities of the keyboard reader.
- ReadExtension
- Contains reader-specific data.
- SmartcardReply
- Contains data coming from the reader.
- SmartcardRequest
- Contains the current command and the data that will be sent to the smart card.
- T0
- Contains the data for use with the T = 0 protocol.
- T1
- Contains the data for use with the T = 1 protocol.
- Reserved
- Reserved for system use.
Headers
Declared in scmlib.h. Include scmlib.h.
See Also
SCARD_CARD_CAPABILITIES, SCARD_READER_CAPABILITIES, VENDOR_ATTR