Поделиться через


Параметры обратного вызова смарт-карты

Для всех запросов IOCTL, кроме IOCTL_SMARTCARD_IS_ABSENT и IOCTL_SMARTCARD_IS_PRESENT, SmartcardDeviceControl (WDM) инициализирует элемент IoRequestструктуры SMARTCARD_EXTENSION перед вызовом процедуры обратного вызова. В следующей таблице указаны типы инициализации, которые выполняет SmartcardDeviceControl .

Член IoRequest Инициализация, выполненная SmartcardDeviceControl

IoRequest.RequestBuffer

Хранит пользовательские данные для отправки в карта в буфере, на который указывает этот элемент.

IoRequest.RequestBufferLength

Сохраняет длину буфера пользователя в этом элементе.

IoRequest.ReplyBuffer

Хранит данные, возвращаемые смарт-карта, в буфере, на который указывает этот элемент.

IoRequest.ReplyBufferLength

Сохраняет размер буфера ответов в этом элементе.

IoRequest.Information

Сохраняет количество байтов, фактически полученных от карта, в переменной, на которую указывает этот элемент.

MajorIoControlCode

Хранит основной код элемента управления вводом-выводом запроса IOCTL в этом элементе.

MinorIoControlCode

Сохраняет дополнительный код элемента управления вводом-выводом (при наличии) запроса IOCTL в этом элементе.

Структура, на которую указывает SmartcardExtension-OsData>, настроена, как описано в следующей таблице.

Член Описание

CurrentIrp

Получает указатель на запрашивающую IRP для каждого запроса элемента управления, кроме IOCTL_SMARTCARD_IS_ABSENT и IOCTL_SMARTCARD_IS_PRESENT.

NotificationIrp

Получает указатель на запрашивающую IRP для запроса IOCTL_SMARTCARD_IS_ABSENT или IOCTL_SMARTCARD_IS_PRESENT управления.