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


IOCTL_NFCSE_SET_ROUTING_TABLE IOCTL (nfcsedev.h)

Настраивает таблицу маршрутизации режима прослушивания nfc-контроллера. Обратите внимание, что вызывающий должен отправлять сведения о маршрутизации в режиме прослушивания в одном вызове. Вызывающий объект должен убедиться, что таблица маршрутизации меньше значения cbMaxRoutingTableSize, определенного в 4.2.5.1. Общий размер вычисляется в соответствии со стандартом NFC NCI с 6.3.2 и равен Числу маршрутов на основе AID x 4 + сумма cbAid + Количество маршрутов на основе технологии x 5 + Количество маршрутов на основе протокола x 5. Вызывающий должен убедиться, что значения для маршрутов на основе технологий и протоколов соответствуют спецификации NCI NFC сек 6.3.2.

Основной код

IRP_MJ_DEVICE_CONTROL

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

SECURE_ELEMENT_ROUTING_TABLE , содержащий все настроенные в настоящее время записи маршрутизации.

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

None

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

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

Код возврата Описание
STATUS_INVALID_BUFFER_SIZE Предоставленный буфер был больше, чем nfc-контроллер MAX_ROUTING_TABLE_SIZE.
STATUS_FEATURE_NOT_SUPPORTED NFCC не поддерживает конфигурацию маршрутизации в режиме прослушивания.
STATUS_INVALID_PARAMETER Это состояние возвращается, если выходной буфер не равен нулю или значения, используемые для технологии или протокола, соответствуют спецификации NFC NCI 6.3.2, если используются повторяющиеся идентификаторы AID или при использовании режима маршрутизации, который не поддерживается текущими возможностями контроллера NFC.
STATUS_INVALID_DEVICE_STATE Этот код возвращается, если IOCTL отправляется на дескриптор, отличный от относительного имени SEManage.

Комментарии

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

  • Этот IOCTL отправляется на дескриптор с относительным именем файла "SEManage", в противном случае драйвер должен завершить его с помощью STATUS_INVALID_DEVICE_STATE.
  • Драйвер должен иметь начальные записи таблицы маршрутизации режима прослушивания по умолчанию, которые направляют rf технологии A, B и F и /или ISO-DEP, перенаправленные в UICC SE, если они имеются. Позже эти записи маршрутизации могут быть переопределены новой конфигурацией таблицы маршрутизации режима прослушивания, инициированной узлом устройства.
  • Драйвер должен убедиться, что протокол NFC-DEP всегда сопоставляется с узлом устройства. Даже если вызывающий объект не указывает это, драйвер должен добавить это правило неявно.
  • Если этот IOCTL выдается, когда NFCC находится в состоянии радиочастотного обнаружения, драйвер должен переключить NFCC в состояние бездействия, настроить таблицу маршрутизации и перезапустить обнаружение RF.

Требования

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