智能卡回调参数
对于除IOCTL_SMARTCARD_IS_ABSENT和IOCTL_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 的指针。 |