Поделиться через


IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL (nfcsedev.h)

Код элемента управления IOCTL_NFCSE_SET_CARD_EMULATION_MODE задает, предоставляется ли указанный безопасный элемент в режиме эмуляции карта. Когда безопасный элемент "предоставляется" как карта эмуляции, это означает, что когда устройство передано во внешнее средство чтения, защищенный элемент может получить доступ к нему. IOCTL выдается на дескрипторе файла, открытом с относительным именем файла SEManage. Драйвер ДОЛЖЕН предоставлять клиенту монопольный доступ для управления карта режиме эмуляции, то есть последующие вызовы для открытия дескриптора файла с относительным именем файла SEManage будут завершаться сбоем с STATUS_ACCESS_DENIED, пока клиент с монопольным доступом не закроет дескриптор файла.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO структура.

Выходной буфер

None

Блок состояния

Irp->IoStatus.Status имеет значение STATUS_SUCCESS , если запрос выполнен успешно. Возможные коды ошибок:

Код возврата Описание
STATUS_INVALID_PARAMETER Если идентификатор GUID безопасного элемента недопустим или выходной буфер не равен нулю.
STATUS_INVALID_DEVICE_STATE Если IOCTL отправляется на дескриптор, отличный от относительного имени "SEManage".

Комментарии

Ниже приведены требования, которым должен соответствовать драйвер.

  • Этот IOCTL должен вызываться для дескриптора с относительным именем файла SEEvents; В противном случае драйвер возвращает STATUS_INVALID_DEVICE_STATE.
  • Если карта режим эмуляции имеет значение EmulationOff для всех защищенных элементов, подключенных к контроллеру NFC, режим эмуляции цикла опроса должен быть отключен. Если функции близкого взаимодействия также отключены, драйвер должен перейти в режим низкого энергопотребления.
  • Если карта режим эмуляции имеет значение, отличное от EmulationOff, драйвер должен по-прежнему находиться в состоянии D0, а режим эмуляции цикла опроса должен быть включен (обнаруживаемый внешними средствами чтения).
  • При закрытии дескриптора открытого файла SEManage драйвер должен задать для параметров режима эмуляции карта для всех защищенных элементов значение EmulationOff, за исключением случаев, когда последний набор карта режиме эмуляции — EmulationOnPowerIndependent. Если последний набор карта режиме эмуляции — EmulationOnPowerIndependent, драйвер должен оставаться с параметром режима эмуляции карта значение Включено с параметром PbF для конкретных защищенных элементов.
  • Драйвер должен предоставить клиенту монопольный доступ для управления режимом эмуляции карта. Последующие вызовы для открытия дескриптора файла с использованием относительного имени файла SEManage завершаются сбоем с STATUS_ACCESS_DENIED, пока клиент с монопольным доступом не закроет дескриптор файла.

Требования

Требование Значение
Заголовок nfcsedev.h