_URB_CONTROL_FEATURE_REQUEST 结构 (usb.h)
USB 客户端驱动程序使用 _URB_CONTROL_FEATURE_REQUEST 结构来设置或清除设备、接口或终结点上的功能。
语法
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 标头信息的 _URB_HEADER 结构的指针。 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。
此结构的保留成员必须被视为不透明成员,并保留供系统使用。
当驱动程序使用IRP_MN_WAIT_WAKE请求支持 USB 设备进行远程唤醒时,USB 总线驱动程序会自动在设备上设置远程唤醒功能。 控件功能 URB 不是必需的。
同样,当驱动程序向管道发出函数类型为URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL的 URB 时,总线驱动程序将自动清除管道的终结点停止功能。 驱动程序不必将控制功能 URB 发送到管道即可清除终结点停止。
要求
要求 | 值 |
---|---|
Header | usb.h (包括 Usb.h) |