Freigeben über


WDF_USB_REQUEST_COMPLETION_PARAMS-Struktur (wdfusb.h)

[Gilt für KMDF und UMDF]

Die WDF_USB_REQUEST_COMPLETION_PARAMS-Struktur enthält Parameter, die dem Abschluss einer E/A-Anforderung für ein USB-Gerät zugeordnet sind.

Syntax

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;

Member

UsbdStatus

Der USBD_STATUS typisierte status Wert, den das E/A-Ziel zurückgegeben hat.

Type

Ein WDF_USB_REQUEST_TYPE typisierte Werte, der den Anforderungstyp identifiziert.

Parameters

Parameters.DeviceString

Parameters.DeviceString.Buffer

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForString aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das die Unicode-Zeichenfolge empfängt.

Parameters.DeviceString.LangID

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForString aufgerufen hat, enthält dieses Element den vom Treiber bereitgestellten Sprachbezeichner.

Parameters.DeviceString.StringIndex

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForString aufgerufen hat, enthält dieses Element den vom Treiber bereitgestellten Zeichenfolgenindex.

Parameters.DeviceString.RequiredSize

Wenn der Treiber eine Methode aufgerufen hat, die die Unicode-Zeichenfolgen eines Geräts abruft (mit Ausnahme von WdfUsbTargetDeviceFormatRequestForUrb), enthält dieses Element die erforderliche Größe des Puffers, den Parameters.DeviceString.Buffer angibt.

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForUrb heißt, kann er den erforderlichen Größenwert aus der URB abrufen, deren Handle in Parameters.DeviceUrb.Buffer ist.

Parameters.DeviceControlTransfer

Parameters.DeviceControlTransfer.Buffer

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForControlTransfer aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das Eingabe- oder Ausgabedaten empfängt.

Parameters.DeviceControlTransfer.SetupPacket

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForControlTransfer aufgerufen hat, enthält dieses Element die Adresse der WDF_USB_CONTROL_SETUP_PACKET Struktur, die der Treiber bereitgestellt hat.

Parameters.DeviceControlTransfer.Length

Wenn der Treiber eine Methode aufgerufen hat, die eine Steuerelementübertragung sendet (außer WdfUsbTargetDeviceFormatRequestForUrb), enthält dieses Element die Anzahl der gesendeten oder empfangenen Bytes.

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForUrb heißt, kann er den Längenwert von der URB abrufen, deren Handle in Parameters.DeviceUrb.Buffer ist.

Parameters.DeviceUrb

Parameters.DeviceUrb.Buffer

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForUrb aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das eine URB-Struktur enthält.

Parameters.PipeWrite

Parameters.PipeWrite.Buffer

Wenn der Treiber WdfUsbTargetPipeFormatRequestForWrite aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das in die Pipe geschrieben wurde.

Parameters.PipeWrite.Length

Wenn der Treiber eine Beliebige Methode aufgerufen hat , die in eine Pipe schreibt (mit Ausnahme von WdfUsbTargetDeviceFormatRequestForUrb), enthält dieses Element die Anzahl der gesendeten Bytes.

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForUrb heißt, kann er den Längenwert aus der URB abrufen, deren Handle in Parameters.PipeUrb.Buffer ist.

Parameters.PipeWrite.Offset

Wenn der Treiber WdfUsbTargetPipeFormatRequestForWrite aufgerufen hat, enthält dieses Element den vom Treiber bereitgestellten Pufferoffset.

Parameters.PipeRead

Parameters.PipeRead.Buffer

Wenn der Treiber WdfUsbTargetPipeFormatRequestForRead aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das Daten enthält, die aus der Pipe gelesen wurden.

Parameters.PipeRead.Length

Wenn der Treiber eine Beliebige Methode aufgerufen hat, die aus einer Pipe liest , die eine Steuerelementübertragung sendet (mit Ausnahme von WdfUsbTargetDeviceFormatRequestForUrb), enthält dieses Element die Anzahl der empfangenen Bytes.

Wenn der Treiber WdfUsbTargetDeviceFormatRequestForUrb heißt, kann er den Längenwert aus der URB abrufen, deren Handle in Parameters.PipeUrb.Buffer ist.

Parameters.PipeRead.Offset

Wenn der Treiber WdfUsbTargetPipeFormatRequestForRead aufgerufen hat, enthält dieses Element den vom Treiber bereitgestellten Pufferoffset.

Parameters.PipeUrb

Parameters.PipeUrb.Buffer

Wenn der Treiber WdfUsbTargetPipeFormatRequestForUrb aufgerufen hat, enthält dieses Element das vom Treiber bereitgestellte Handle für das Speicherobjekt, das eine URB-Struktur enthält.

Hinweise

Die WDF_USB_REQUEST_COMPLETION_PARAMS-Struktur ist ein Element der WDF_REQUEST_COMPLETION_PARAMS-Struktur .

Anforderungen

Anforderung Wert
KMDF-Mindestversion 1.0
UMDF-Mindestversion 2.0
Kopfzeile wdfusb.h (einschließlich Wdfusb.h)

Weitere Informationen

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WdfRequestGetCompletionParams