структура _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
Указывает определяемый устройством индекс, возвращаемый успешным запросом конфигурации, если запрос предназначен для конечной точки или интерфейса. В противном случае индекса должно быть равно нулю. Драйвер шины копирует значение в элементе индекса в поле 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) |