_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 成员中的值复制到设置数据包的 wIndex 字段中。

Reserved1

保留。 请勿使用。

言论

驱动程序可以使用 UsbBuildFeatureRequest 服务例程来设置此 URB 的格式。

此结构的保留成员必须被视为不透明,并保留供系统使用。

当驱动程序使用IRP_MN_WAIT_WAKE请求为 USB 设备提供远程唤醒时,USB 总线驱动程序会自动在设备上设置远程唤醒功能。 不需要控件功能 URB。

同样,当驱动程序向管道发出函数类型为URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL的 URB 时,总线驱动程序将自动清除管道的终结点停止功能。 驱动程序不必将控制功能 URB 发送到管道以清除终结点停止。

要求

要求 价值
标头 usb.h (包括 Usb.h)

另请参阅

URB

USB 结构

_URB_HEADER