共用方式為


_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

傳送的固定緩衝區指標,如果 TransferBufferMDL 中提供 MDL,則為 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