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 требуются следующие действия:
-
Драйвер должен поддерживать CancelIo в этом заготовленном IOCTL.
- Это управляемый питанием запрос. Заготовленный IOCTL будет хранить драйвер в состоянии питания D0.
- Драйвер должен возвращать STATUS_SUCCESS только для поддерживаемого типа.
Требования
Требование | Ценность |
---|---|
заголовка | winsmcrd.h |
См. также
руководство по проектированию для связи с полями (NFC)