WDF_USB_CONTROL_SETUP_PACKET Union (wdfusb.h)

[Gilt für KMDF und UMDF]

Die WDF_USB_CONTROL_SETUP_PACKET-Struktur beschreibt ein Setuppaket für eine USB-Steuerungsübertragung.

Syntax

typedef union _WDF_USB_CONTROL_SETUP_PACKET {
  struct {
    union {
      struct {
        BYTE Recipient : 2;
        BYTE Reserved : 3;
        BYTE Type : 2;
        BYTE Dir : 1;
      } Request;
      BYTE   Byte;
    } bm;
    BYTE   bRequest;
    union {
      struct {
        BYTE LowByte;
        BYTE HiByte;
      } Bytes;
      USHORT Value;
    } wValue;
    union {
      struct {
        BYTE LowByte;
        BYTE HiByte;
      } Bytes;
      USHORT Value;
    } wIndex;
    USHORT wLength;
  } Packet;
  struct {
    BYTE Bytes[8];
  } Generic;
} WDF_USB_CONTROL_SETUP_PACKET, *PWDF_USB_CONTROL_SETUP_PACKET;

Member

Packet

Packet.bm

Packet.bm.Request

Packet.bm.Request.Recipient

Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_RECIPIENT typisierten Wert angegeben wird.

Packet.bm.Request.Reserved

Ein reserviertes Bitfeld. Verwenden Sie dieses Element nicht.

Packet.bm.Request.Type

Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_TYPE typisierten Wert angegeben wird.

Packet.bm.Request.Dir

Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_DIRECTION typisierten Wert angegeben wird.

Packet.bm.Byte

Eine Bitmap im Byteformat, die die Bitfelder Request.Recipient, Request.Reserved, Request.Type und Request.Dir enthält. Verwenden Sie dieses Element als Alternative zum Angeben der einzelnen Bitfelder.

Packet.bRequest

Ein Anforderungstyp. Anforderungstypkonstanten werden in Usb100.h definiert. Weitere Informationen zu Anforderungstypen finden Sie in der USB-Spezifikation.

Packet.wValue

Packet.wValue.Bytes

Packet.wValue.Bytes.LowByte

Das niedrige Byte eines anforderungsspezifischen 2-Byte-Werts. Weitere Informationen zum Angeben von wValue finden Sie in der USB-Spezifikation.

Packet.wValue.Bytes.HiByte

Das hohe Byte eines anforderungsspezifischen 2-Byte-Werts.

Packet.wValue.Value

Ein 2-Byte-Wert, der die Werte Bytes.LowByte und Bytes.HiByte enthält. Verwenden Sie diesen Member als Alternative zum Angeben einzelner Werte mit niedrigen und hohen Bytewerten.

Packet.wIndex

Packet.wIndex.Bytes

Packet.wIndex.Bytes.LowByte

Das niedrige Byte eines anforderungsspezifischen 2-Byte-Werts. Weitere Informationen zum Angeben von wValue finden Sie in der USB-Spezifikation.

Packet.wIndex.Bytes.HiByte

Das hohe Byte eines anforderungsspezifischen 2-Byte-Werts.

Packet.wIndex.Value

Ein 2-Byte-Wert, der die Werte Bytes.LowByte und Bytes.HiByte enthält. Verwenden Sie diesen Member als Alternative zum Angeben einzelner Werte mit niedrigen und hohen Bytewerten.

Packet.wLength

Die Anzahl der zu übertragenden Bytes, falls zutreffend. Weitere Informationen zu diesem Wert finden Sie in der USB-Spezifikation. Diesen Wert legt das Framework fest.

Generic

Generic.Bytes[8]

Ein 8-Byte-Wert, der das gesamte Setuppaket darstellt. Sie können dieses Element als Alternative zum Angeben einzelner Strukturmember verwenden.

Hinweise

Die WDF_USB_CONTROL_SETUP_PACKET-Struktur wird als Eingabe für die Methoden WdfUsbTargetDeviceSendControlTransferSynchronously und WdfUsbTargetDeviceFormatRequestForControlTransfer verwendet.

Um eine WDF_USB_CONTROL_SETUP_PACKET Struktur zu initialisieren, sollte der Treiber eine der folgenden Funktionen aufrufen:

Anforderungen

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

Weitere Informationen

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronly