_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)

另请参阅

URB

USB 结构

_URB_HEADER