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


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 + Число маршрутов на основе протокола x 5. Вызывающий объект должен убедиться, что значения для технологических и протокольных маршрутов соответствуют спецификации NCI NFC с 6.3.2.

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

Никакой

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

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 или если используются повторяющиеся идентификаторы ИИ, или при использовании режима маршрутизации, который не поддерживается текущими возможностями контроллера 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 находится в состоянии обнаружения RF, драйвер должен поместить NFCC в состояние простоя RF, настроить таблицу маршрутизации и перезапустить обнаружение RF.

Требования

Требование Ценность
заголовка nfcsedev.h