IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL (nfcsedev.h)
Код элемента управления IOCTL_NFCSE_SET_CARD_EMULATION_MODE задает, предоставляется ли указанный безопасный элемент в режиме эмуляции карта. Когда безопасный элемент "предоставляется" как карта эмуляции, это означает, что когда устройство передано во внешнее средство чтения, защищенный элемент может получить доступ к нему. IOCTL выдается на дескрипторе файла, открытом с относительным именем файла SEManage. Драйвер ДОЛЖЕН предоставлять клиенту монопольный доступ для управления карта режиме эмуляции, то есть последующие вызовы для открытия дескриптора файла с относительным именем файла SEManage будут завершаться сбоем с STATUS_ACCESS_DENIED, пока клиент с монопольным доступом не закроет дескриптор файла.
Основной код
Входной буфер
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 |