智能卡回调参数

对于除IOCTL_SMARTCARD_IS_ABSENTIOCTL_SMARTCARD_IS_PRESENT以外的所有 IOCTL 请求,SmartcardDeviceControl (WDM) 在调用回调例程之前初始化 SMARTCARD_EXTENSION 结构的 IoRequest 成员。 下表指示 SmartcardDeviceControl 执行的初始化的排序。

IoRequest 的成员 由 SmartcardDeviceControl 执行的初始化

IoRequest.RequestBuffer

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

IoRequest.RequestBufferLength

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

IoRequest.ReplyBuffer

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

IoRequest.ReplyBufferLength

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

IoRequest.Information

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

MajorIoControlCode

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

MinorIoControlCode

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

SmartcardExtension-OsData> 指向的结构设置如下表所述。

成员 说明

CurrentIrp

接收指向除 IOCTL_SMARTCARD_IS_ABSENT和IOCTL_SMARTCARD_IS_PRESENT 以外的每个控件请求的请求 IRP 指针。

NotificationIrp

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