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 Этот код возвращается, когда идентификатор атрибута SCARD_ATTR_DEVICE_IN_USE.
STATUS_DEVICE_BUSY Этот код возвращается, если операция уже ожидает отсутствующего события.
STATUS_INVALID_DEVICE_STATE Этот код возвращается, если устройство не может принять запрос.
STATUS_INVALID_PARAMETER Этот код возвращается, если входные или выходные буферы недопустимы.
STATUS_DEVICE_POWERED_OFF Этот код возвращается при отключении переключателя близкого взаимодействия.

Примечания

При использовании этого IOCTL требуются следующие действия:

  • Драйвер должен поддерживать CancelIo в этом защищенном IOCTL.

  • Это управляемый питанием запрос. Задумчивый IOCTL сохранит драйвер в состоянии питания D0.

Требования

   
Заголовок winsmcrd.h

См. также

Руководство по проектированию ближнего взаимодействия (NFC)

Руководство по проектированию смарт-карт