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 с подвесной ручкой.
- Это управляемый с помощью power-управления запрос. IOCTL с подвесной ручкой будет поддерживать драйвер в состоянии питания D0.
- Драйвер должен возвращать STATUS_SUCCESS только для поддерживаемого типа.
Требования
Требование | Значение |
---|---|
Заголовок | winsmcrd.h |