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


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

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

Синтаксис

struct _URB_CONTROL_FEATURE_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved2;
  ULONG                Reserved3;
  PVOID                Reserved4;
  PMDL                 Reserved5;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  USHORT               Reserved0;
  USHORT               FeatureSelector;
  USHORT               Index;
  USHORT               Reserved1;
};

Члены

Hdr

Указатель на структуру _URB_HEADER , указывающую сведения о заголовке URB. Hdr.Function указывает на операцию набора или функции, выполняемую на устройстве, интерфейсе, конечной точке или другом нестандартном компоненте. Hdr.Function должен иметь одно из следующих значений:

Hdr.Length должен быть равен sizeof(_URB_CONTROL_FEATURE_REQUEST).

Reserved

Зарезервировано. Не используется.

Reserved2

Зарезервировано. Не используется.

Reserved3

Зарезервировано. Не используется.

Reserved4

Зарезервировано. Не используется.

Reserved5

Зарезервировано. Не используется.

UrbLink

Зарезервировано. Не используется.

hca

Зарезервировано. Не используется.

Reserved0

Зарезервировано. Не используется.

FeatureSelector

Указывает код компонента, определяемый USB, который необходимо очистить или задать. Использование недопустимого кода компонента, который не может быть задан или не может быть очищен, приведет к остановке целевого объекта. Драйвер шины копирует значение элемента FeatureSelector в поле wValue пакета установки.

Index

Указывает определяемый устройством индекс, возвращаемый успешным запросом конфигурации, если запрос предназначен для конечной точки или интерфейса. В противном случае значение Index должно быть равно нулю. Драйвер шины копирует значение элемента Index в поле wIndex пакета установки.

Reserved1

Зарезервировано. Не используется.

Комментарии

Драйверы могут использовать подпрограмму службы UsbBuildFeatureRequest для форматирования этого URB.

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

Когда драйвер вооружит USB-устройство для удаленного пробуждения с помощью запроса IRP_MN_WAIT_WAKE, драйвер USB-шины автоматически устанавливает функцию удаленного пробуждения на устройстве. Функция управления URB не требуется.

Аналогичным образом, когда водитель выдает URB с типом функции URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL в канал, водитель автобуса автоматически очищает функцию остановки конечной точки канала. Драйверу не нужно отправлять функцию управления URB в канал, чтобы очистить конечную точку от останова.

Требования

Требование Значение
Заголовок usb.h (включая Usb.h)

См. также раздел

URB

Структуры USB

_URB_HEADER