структура _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) |