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) |