IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL (nfcsedev.h)

Возвращает сведения о списке всех защищенных элементов, подключенных к контроллеру NFC. Обратите внимание, что вызывающий объект должен выделить выходной буфер, достаточно большой для хранения сведений обо всех защищенных элементах, которые были перечислены драйвером, т. е. общее количество SEs Enumerated x Size of the SE endpoint info (Размер сведений о конечной точке SE), в противном случае драйвер должен вернуть клиенту код ошибки STATUS_BUFFER_OVERFLOW с полем NumberOfEndpoints, содержащим количество перечисляемых защищенных элементов. ИДЕНТИФИКАТОР GUID, определяющий защищенный элемент, который, возможно, использовался для ссылки на определенный защищенный элемент.

Основной код

IRP_MJ_DEVICE_CONTROL

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

None

Длина входного буфера

None

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

SECURE_ELEMENT_ENDPOINT_LIST для каждого перечисленного устройства.

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

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

Код возврата Описание
STATUS_INVALID_PARAMETER Этот код возвращается, если выходной буфер не равен нулю.
STATUS_BUFFER_OVERFLOW Предоставленный буфер был слишком мал для получения конфигурации таблицы маршрутизации.

Комментарии

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

  • В случае интегрированного защищенного элемента GUID должен быть уникальным идентификатором, производным от серийного номера, и/или другой уникальной идентификации защищенного элемента.
  • Для внешних защищенных элементов GUID может быть фиксированной константой и определяет только "сокет", к которому подключен защищенный элемент.
  • Для защищенного элемента узла устройства драйвер должен перечислить его как конечную точку SE, только если он поддерживает эмуляцию карты узла. Идентификатор GUID, используемый для DH, может быть фиксированной константой, определенной драйвером.
  • Вызывающий объект должен выделить буфер вывода, достаточно большой для хранения сведений обо всех безопасных элементах, которые были перечислены драйвером. Буфер должен быть равен общему количеству SEs, перечисляемых драйвером, умноженным на размер сведений о конечной точке SE. Если соответствующий буфер не выделен, драйвер возвращает клиенту код ошибки STATUS_BUFFER_OVERFLOW с полем NumberOfEndpoints, содержащим количество перечисляемых безопасных элементов.

Требования

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