IOCTL_SMARTCARD_IS_ABSENT IOCTL (winsmcrd.h)

如果当前未检测到智能卡,IOCTL_SMARTCARD_IS_ABSENT 控制代码会立即返回STATUS_SUCCESS。 如果检测到智能卡,则 IOCTL 需要由驱动程序笔写,并且需要在卡离开时完成请求。 关闭文件句柄会自动取消订阅事件。

主要代码

IRP_MJ_DEVICE_CONTROL

输入缓冲区

没有。

输出缓冲区

没有。

状态块

Irp->IoStatus.Status 设置为 STATUS_SUCCESS(如果请求成功)。 可能的错误代码包括:

返回代码 描述
STATUS_PENDING 当属性 ID SCARD_ATTR_DEVICE_IN_USE时,将返回此代码。
STATUS_DEVICE_BUSY 如果作已在等待不存在事件,则返回此代码。
STATUS_INVALID_DEVICE_STATE 如果设备无法接受请求,则返回此代码。
STATUS_INVALID_PARAMETER 当输入或输出缓冲区无效时,将返回此代码。
STATUS_DEVICE_POWERED_OFF 当邻近无线电控制关闭时,将返回此代码。

言论

使用此 IOCTL 时,需要执行以下作:

  • 驱动程序必须支持此笔化 IOCTL 上的 CancelIo。

  • 这是一个电源管理的请求。 笔形 IOCTL 将使驱动程序保持 D0 电源状态。

要求

要求 价值
标头 winsmcrd.h

另请参阅

近场通信(NFC)设计指南

智能卡设计指南