智能卡回调参数

For all IOCTL requests except IOCTL_SMARTCARD_IS_ABSENT and IOCTL_SMARTCARD_IS_PRESENT, SmartcardDeviceControl (WDM) initializes the IoRequest member of the SMARTCARD_EXTENSION structure before it calls a callback routine. The following table indicates the sorts of initialization that SmartcardDeviceControl performs.

IoRequest 的成员 SmartcardDeviceControl 执行的初始化

IoRequest.RequestBuffer

存储要发送到此成员指向的缓冲区中的卡片的用户数据。

IoRequest.RequestBufferLength

将用户缓冲区的长度存储在此成员中。

IoRequest.ReplyBuffer

将智能卡返回的数据存储在此成员指向的缓冲区中。

IoRequest.ReplyBufferLength

在此成员中存储回复缓冲区的大小。

IoRequest.Information

存储从此成员指向的变量中实际从卡接收的字节数。

MajorIoControlCode

在此成员中存储 IOCTL 请求的主要 I/O 控制代码。

MinorIoControlCode

在此成员中存储 IOCTL 请求的次要 I/O 控制代码(如果有)。

The structure pointed to by SmartcardExtension->OsData is set up as described in the following table.

Member Description

CurrentIrp

Receives a pointer to the requesting IRP for every control request except IOCTL_SMARTCARD_IS_ABSENT and IOCTL_SMARTCARD_IS_PRESENT.

NotificationIrp

接收指向IOCTL_SMARTCARD_IS_ABSENT或IOCTL_SMARTCARD_IS_PRESENT控制请求的请求 IRP 的指针。