structure WDF_USB_REQUEST_COMPLETION_PARAMS (wdfusb.h)

[S’applique à KMDF et UMDF]

La structure WDF_USB_REQUEST_COMPLETION_PARAMS contient des paramètres associés à l’achèvement d’une demande d’E/S pour un périphérique USB.

Syntaxe

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;

Membres

UsbdStatus

Valeur status typée USBD_STATUS que la cible d’E/S a retournée.

Type

Valeurs de type WDF_USB_REQUEST_TYPE qui identifient le type de requête.

Parameters

Parameters.DeviceString

Parameters.DeviceString.Buffer

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForString, ce membre contient le handle fourni par le pilote à l’objet mémoire qui reçoit la chaîne Unicode.

Parameters.DeviceString.LangID

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForString, ce membre contient l’identificateur de langue fourni par le pilote.

Parameters.DeviceString.StringIndex

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForString, ce membre contient l’index de chaîne fourni par le pilote.

Parameters.DeviceString.RequiredSize

Si le pilote a appelé une méthode qui obtient les chaînes Unicode d’un appareil (à l’exception de WdfUsbTargetDeviceFormatRequestForUrb), ce membre contient la taille requise de la mémoire tampon spécifiée par Parameters.DeviceString.Buffer .

Si le pilote appelé WdfUsbTargetDeviceFormatRequestForUrb, il peut obtenir la valeur de taille requise à partir de l’URB dont le handle est dans Parameters.DeviceUrb.Buffer.

Parameters.DeviceControlTransfer

Parameters.DeviceControlTransfer.Buffer

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForControlTransfer, ce membre contient le handle fourni par le pilote à l’objet mémoire qui reçoit les données d’entrée ou de sortie.

Parameters.DeviceControlTransfer.SetupPacket

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForControlTransfer, ce membre contient l’adresse de la structure WDF_USB_CONTROL_SETUP_PACKET fournie par le pilote.

Parameters.DeviceControlTransfer.Length

Si le pilote a appelé une méthode qui envoie un transfert de contrôle (à l’exception de WdfUsbTargetDeviceFormatRequestForUrb), ce membre contient le nombre d’octets qui ont été envoyés ou reçus.

Si le pilote appelé WdfUsbTargetDeviceFormatRequestForUrb, il peut obtenir la valeur de longueur de l’URB dont le handle est dans Parameters.DeviceUrb.Buffer.

Parameters.DeviceUrb

Parameters.DeviceUrb.Buffer

Si le pilote a appelé WdfUsbTargetDeviceFormatRequestForUrb, ce membre contient le handle fourni par le pilote à l’objet mémoire qui contient une structure URB .

Parameters.PipeWrite

Parameters.PipeWrite.Buffer

Si le pilote a appelé WdfUsbTargetPipeFormatRequestForWrite, ce membre contient le handle fourni par le pilote pour l’objet de mémoire qui a été écrit dans le canal.

Parameters.PipeWrite.Length

Si le pilote a appelé une méthode qui écrit dans un canal (à l’exception de WdfUsbTargetDeviceFormatRequestForUrb), ce membre contient le nombre d’octets qui ont été envoyés.

Si le pilote appelé WdfUsbTargetDeviceFormatRequestForUrb, il peut obtenir la valeur de longueur de l’URB dont le handle est dans Parameters.PipeUrb.Buffer.

Parameters.PipeWrite.Offset

Si le pilote a appelé WdfUsbTargetPipeFormatRequestForWrite, ce membre contient le décalage de mémoire tampon fourni par le pilote.

Parameters.PipeRead

Parameters.PipeRead.Buffer

Si le pilote a appelé WdfUsbTargetPipeFormatRequestForRead, ce membre contient le handle fourni par le pilote à l’objet mémoire qui contient les données lues à partir du canal.

Parameters.PipeRead.Length

Si le pilote a appelé une méthode qui lit à partir d’un canal envoie un transfert de contrôle (à l’exception de WdfUsbTargetDeviceFormatRequestForUrb), ce membre contient le nombre d’octets reçus.

Si le pilote appelé WdfUsbTargetDeviceFormatRequestForUrb, il peut obtenir la valeur de longueur de l’URB dont le handle est dans Parameters.PipeUrb.Buffer.

Parameters.PipeRead.Offset

Si le pilote a appelé WdfUsbTargetPipeFormatRequestForRead, ce membre contient le décalage de mémoire tampon fourni par le pilote.

Parameters.PipeUrb

Parameters.PipeUrb.Buffer

Si le pilote a appelé WdfUsbTargetPipeFormatRequestForUrb, ce membre contient le handle fourni par le pilote à l’objet mémoire qui contient une structure URB .

Remarques

La structure WDF_USB_REQUEST_COMPLETION_PARAMS est membre de la structure WDF_REQUEST_COMPLETION_PARAMS .

Configuration requise

Condition requise Valeur
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfusb.h (inclure Wdfusb.h)

Voir aussi

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WdfRequestGetCompletionParams