структура _URB_OS_FEATURE_DESCRIPTOR_REQUEST (usb.h)

Структура _URB_OS_FEATURE_DESCRIPTOR_REQUEST используется драйвером USB-концентратора для получения дескрипторов компонентов ОС Майкрософт из USB-устройства или интерфейса на USB-устройстве.

Синтаксис

struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Recipient : 5;
  UCHAR                Reserved1 : 3;
  UCHAR                Reserved2;
  UCHAR                InterfaceNumber;
  UCHAR                MS_PageIndex;
  USHORT               MS_FeatureDescriptorIndex;
  USHORT               Reserved3;
};

Члены

Hdr

Указатель на структуру _URB_HEADER, указывающую сведения о заголовке URB. hdr.Function должен URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR. hdr.Length должен быть sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST).

Reserved

Reserved0

TransferBufferLength

Указывает длину буфера, указанного в TransferBuffer или описанном в TransferBufferMDL. Драйвер контроллера узла возвращает количество байтов, считываемых в этом элементе. Текущая реализация этой функции ограничивает максимальный размер дескриптора компонентов ОС MS до 4 Килобайт.

TransferBuffer

Указатель на буфер резидента для передачи или null, если MDL предоставляется в TransferBufferMDL.

TransferBufferMDL

Указатель на MDL, описывающий буфер резидента или значение NULL, если буфер предоставляется в TransferBuffer. Этот MDL-файл должен быть выделен из непагрегированного пула.

UrbLink

Скрытный. Не используйте.

hca

Recipient

Указывает, является ли получатель USB-устройством или интерфейсом на USB-устройстве. Необходимо указать одно из следующих значений:

  • 0 указывает, что USB-устройство является получателем запроса.
  • 1 указывает, что USB-интерфейс является получателем запроса.
  • 2 указывает, что USB-конечная точка является получателем запроса.

Reserved1

Reserved2

InterfaceNumber

Указывает номер интерфейса, который является получателем запроса, если значение члена получателя равно 1. Необходимо задать значение 0, если USB-устройство является получателем.

MS_PageIndex

Должно быть задано значение 0. Индекс страницы страницы 64K для возвращаемого дескриптора компонентов ОС MS. Текущая реализация поддерживает только максимальный размер дескриптора 4K.

MS_FeatureDescriptorIndex

Индекс для дескриптора компонента MS OS, который требуется запросить.

Reserved3

Замечания

Зарезервированные элементы этой структуры должны рассматриваться как непрозрачные и зарезервированы для использования системы.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows XP и более поздних операционных системах.
заголовка usb.h (включая usb.h)

См. также

URB

_URB_HEADER