IOCTL_SMARTCARD_IS_PRESENT IOCTL (winsmcrd.h)
IOCTL_SMARTCARD_IS_PRESENT控制代码检测当前是否检测到智能卡。 如果存在卡,则会立即返回STATUS_SUCCESS。 如果未检测到智能卡,它将订阅智能卡到达事件并一直处于挂起状态。 关闭文件句柄可取消订阅事件。
主要代码
输入缓冲区
无。
输出缓冲区
无。
状态块
Irp->如果请求成功,IoStatus.Status 设置为 STATUS_SUCCESS 。 可能的错误代码包括:
返回代码 | 说明 |
---|---|
STATUS_PENDING | 如果操作正在等待智能卡接近无线电字段,则返回此代码。 |
STATUS_DEVICE_BUSY | 如果操作已在等待当前事件,则返回此代码。 |
STATUS_INVALID_DEVICE_STATE | 如果设备无法接受请求,则返回此代码。 |
STATUS_INVALID_PARAMETER | 当输入或输出缓冲区无效时,将返回此代码。 |
STATUS_DEVICE_POWERED_OFF | 当邻近感应无线电控制关闭时,将返回此代码。 |
注解
使用此 IOCTL 时,需要执行以下操作:
-
驱动程序必须支持此插入的 IOCTL 上的 CancelIo。
- 这是一个电源托管的请求。 插入的 IOCTL 将使驱动程序保持 D0 电源状态。
- 驱动程序必须仅针对受支持的类型返回STATUS_SUCCESS。
要求
要求 | 值 |
---|---|
Header | winsmcrd.h |