共用方式為


_URB_OS_FEATURE_DESCRIPTOR_REQUEST結構 (usb.h)

USB 中樞驅動程式會使用 _URB_OS_FEATURE_DESCRIPTOR_REQUEST 結構,從 USB 裝置或 USB 裝置上的介面擷取Microsoft OS 功能描述項。

語法

struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Recipient : 5;
  UCHAR                Reserved1 : 3;
  UCHAR                Reserved2;
  UCHAR                InterfaceNumber;
  UCHAR                MS_PageIndex;
  USHORT               MS_FeatureDescriptorIndex;
  USHORT               Reserved3;
};

成員

Hdr

指定 URB 標頭資訊的 _URB_HEADER 結構的指標。 Hdr.Function 必須URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR。 Hdr.Length 必須 sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST)

Reserved

Reserved0

TransferBufferLength

指定 TransferBuffer 中指定的緩衝區長度,以位元組為單位,或 TransferBufferMDL中所述。 主機控制器驅動程式會傳回這個成員中讀取的位元組數目。 此函式目前的實作會將 MS OS 功能描述元大小上限限製為 4 KB。

TransferBuffer

傳送的常駐緩衝區指標,如果 MDL 是在 transferBufferMDL中提供,則為 NULL

TransferBufferMDL

描述常駐緩衝區的 MDL 指標,如果 TransferBuffer中提供緩衝區,則為 NULL。 此 MDL 必須從非分頁集區配置。

UrbLink

保留。 請勿使用。

hca

Recipient

指定收件者是 USB 裝置或 USB 裝置上的介面。 必須指定下列其中一個值:

  • 0 表示 USB 裝置是要求的收件者。
  • 1 表示 USB 介面是要求的收件者。
  • 2 表示 USB 端點是要求的收件者。

Reserved1

Reserved2

InterfaceNumber

如果 Recipient 成員值為 1,則表示要求收件者的介面編號。 如果USB裝置是收件者,則必須設定為0。

MS_PageIndex

必須設定為 0。 要傳回之 MS OS 功能描述元之 64K 頁面的頁面索引。 目前的實作僅支援 4K 的最大描述元大小。

MS_FeatureDescriptorIndex

要求 MS OS 功能描述元的索引。

Reserved3

言論

此結構的保留成員必須視為不透明,並保留供系統使用。

要求

要求 價值
最低支援的用戶端 可在 Windows XP 和更新版本的作系統中使用。
標頭 usb.h (包括 Usb.h)

另請參閱

URB

_URB_HEADER