共用方式為


WDF_USB_REQUEST_COMPLETION_PARAMS結構 (wdfusb.h)

[適用於 KMDF 和 UMDF]

WDF_USB_REQUEST_COMPLETION_PARAMS 結構包含與 USB 裝置 I/O 要求完成相關聯的參數。

語法

typedef struct _WDF_USB_REQUEST_COMPLETION_PARAMS {
  USBD_STATUS          UsbdStatus;
  WDF_USB_REQUEST_TYPE Type;
  union {
    struct {
      WDFMEMORY Buffer;
      USHORT    LangID;
      UCHAR     StringIndex;
      UCHAR     RequiredSize;
    } DeviceString;
    struct {
      WDFMEMORY                    Buffer;
      WDF_USB_CONTROL_SETUP_PACKET SetupPacket;
      ULONG                        Length;
    } DeviceControlTransfer;
    struct {
      WDFMEMORY Buffer;
    } DeviceUrb;
    struct {
      WDFMEMORY Buffer;
      size_t    Length;
      size_t    Offset;
    } PipeWrite;
    struct {
      WDFMEMORY Buffer;
      size_t    Length;
      size_t    Offset;
    } PipeRead;
    struct {
      WDFMEMORY Buffer;
    } PipeUrb;
  } Parameters;
} WDF_USB_REQUEST_COMPLETION_PARAMS, *PWDF_USB_REQUEST_COMPLETION_PARAMS;

成員

UsbdStatus

I/O 目標傳回 的USBD_STATUS型別狀態值。

Type

識別要求類型的 WDF_USB_REQUEST_TYPE型別值。

Parameters

Parameters.DeviceString

Parameters.DeviceString.Buffer

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForString,此成員會包含驅動程式提供的句柄給接收 Unicode 字元串的記憶體物件。

Parameters.DeviceString.LangID

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForString,此成員會包含驅動程式提供的語言標識碼。

Parameters.DeviceString.StringIndex

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForString,此成員會包含驅動程式提供的字串索引。

Parameters.DeviceString.RequiredSize

如果驅動程式已呼叫任何 取得裝置 Unicode 字串 的方法, (WdfUsbTargetDeviceFormatRequestForUrb) ,此成員會包含 Parameters.DeviceString.Buffer 所指定緩衝區的必要大小。

如果名為 WdfUsbTargetDeviceFormatRequestForUrb 的驅動程式,它可以從句柄位於 Parameters.DeviceUrb.Buffer 的 URB 取得所需的大小值。

Parameters.DeviceControlTransfer

Parameters.DeviceControlTransfer.Buffer

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForControlTransfer,此成員會包含驅動程式提供的句柄給接收輸入或輸出數據的記憶體物件。

Parameters.DeviceControlTransfer.SetupPacket

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForControlTransfer,此成員會包含驅動程式所提供的 WDF_USB_CONTROL_SETUP_PACKET 結構位址。

Parameters.DeviceControlTransfer.Length

如果驅動程式已呼叫任何 傳送控件傳輸 的方法, (WdfUsbTargetDeviceFormatRequestForUrb) 除外,此成員會包含已傳送或接收的位元組數目。

如果驅動程式稱為 WdfUsbTargetDeviceFormatRequestForUrb,它可以從句柄位於 Parameters.DeviceUrb.Buffer 的 URB 取得長度值。

Parameters.DeviceUrb

Parameters.DeviceUrb.Buffer

如果驅動程式已呼叫 WdfUsbTargetDeviceFormatRequestForUrb,此成員會包含驅動程式提供的句柄給包含 URB 結構的記憶體物件。

Parameters.PipeWrite

Parameters.PipeWrite.Buffer

如果驅動程式已呼叫 WdfUsbTargetPipeFormatRequestForWrite,此成員會包含驅動程式提供的句柄給寫入管道的記憶體物件。

Parameters.PipeWrite.Length

如果驅動程式已呼叫任何 寫入管道 (的方法, 但 WdfUsbTargetDeviceFormatRequestForUrb) 除外,此成員會包含已傳送的位元組數目。

如果驅動程式稱為 WdfUsbTargetDeviceFormatRequestForUrb,它可以從句柄位於 Parameters.PipeUrb.Buffer 的 URB 取得長度值。

Parameters.PipeWrite.Offset

如果驅動程式已呼叫 WdfUsbTargetPipeFormatRequestForWrite,此成員會包含驅動程式提供的緩衝區位移。

Parameters.PipeRead

Parameters.PipeRead.Buffer

如果驅動程式已呼叫 WdfUsbTargetPipeFormatRequestForRead,此成員會包含驅動程式提供給記憶體物件的句柄,其中包含從管道讀取的數據。

Parameters.PipeRead.Length

如果驅動程式已呼叫 任何從管道讀取 的方法,但 WdfUsbTargetDeviceFormatRequestForUrb) 除外,此成員會包含收到的位元組數目 (。

如果驅動程式稱為 WdfUsbTargetDeviceFormatRequestForUrb,它可以從句柄位於 Parameters.PipeUrb.Buffer 的 URB 取得長度值。

Parameters.PipeRead.Offset

如果驅動程式已呼叫 WdfUsbTargetPipeFormatRequestForRead,此成員會包含驅動程式提供的緩衝區位移。

Parameters.PipeUrb

Parameters.PipeUrb.Buffer

如果驅動程式已呼叫 WdfUsbTargetPipeFormatRequestForUrb,此成員會包含驅動程式提供的句柄給包含 URB 結構的記憶體物件。

備註

WDF_USB_REQUEST_COMPLETION_PARAMS 結構是WDF_REQUEST_COMPLETION_PARAMS結構的成員。

規格需求

需求
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfusb.h (包含 Wdfusb.h)

另請參閱

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WdfRequestGetCompletionParams