共用方式為


_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 傳送至管道,即可清除端點停滯。

要求

要求 價值
標頭 usb.h (包括 Usb.h)

另請參閱

URB

USB 結構

_URB_HEADER