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;
Angehörige
Packet
Packet.bm
Packet.bm.Request
Packet.bm.Request.Recipient
Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_RECIPIENT-typed-Wert angegeben wird.
Packet.bm.Request.Reserved
Ein reserviertes Bitfeld. Verwenden Sie dieses Mitglied nicht.
Packet.bm.Request.Type
Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_TYPE-typed-Wert angegeben wird.
Packet.bm.Request.Dir
Ein Bitfeld, das durch einen WDF_USB_BMREQUEST_DIRECTION-typed-Wert angegeben wird.
Packet.bm.Byte
Eine Bitmap mit Bytegröße, die die Request.Recipient, Request.Reserved, Request.Typeund Request.Dir Bitfelder enthält. Verwenden Sie dieses Element als Alternative zum Angeben der einzelnen Bitfelder.
Packet.bRequest
Ein Anforderungstyp. Anforderungstypkonstanten werden in usb100.hdefiniert. Weitere Informationen zu Anforderungstypen finden Sie in der USB-Spezifikation.
Packet.wValue
Packet.wValue.Bytes
Packet.wValue.Bytes.LowByte
Das niedrige Byte eines 2-Byte-Werts, der anforderungsspezifisch ist. Weitere Informationen zum Angeben von wValuefinden Sie in der USB-Spezifikation.
Packet.wValue.Bytes.HiByte
Das hohe Byte eines 2-Byte-Werts, der anforderungsspezifisch ist.
Packet.wValue.Value
Ein 2-Byte-Wert, der die werte Bytes.LowByte und Bytes.HiByte- enthält. Verwenden Sie dieses Element als Alternative zum Angeben einzelner Byte- und Bytewerte mit geringem Bytewert.
Packet.wIndex
Packet.wIndex.Bytes
Packet.wIndex.Bytes.LowByte
Das niedrige Byte eines 2-Byte-Werts, der anforderungsspezifisch ist. Weitere Informationen zum Angeben von wValuefinden Sie in der USB-Spezifikation.
Packet.wIndex.Bytes.HiByte
Das hohe Byte eines 2-Byte-Werts, der anforderungsspezifisch ist.
Packet.wIndex.Value
Ein 2-Byte-Wert, der die werte Bytes.LowByte und Bytes.HiByte- enthält. Verwenden Sie dieses Element als Alternative zum Angeben einzelner Byte- und Bytewerte mit geringem Bytewert.
Packet.wLength
Die Anzahl der zu übertragenden Bytes, falls zutreffend. Weitere Informationen zu diesem Wert finden Sie in der USB-Spezifikation. Das Framework legt diesen Wert 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.
Bemerkungen
Die WDF_USB_CONTROL_SETUP_PACKET-Struktur wird als Eingabe für die WdfUsbTargetDeviceSendControlTransferSynchronously und WdfUsbTargetDeviceFormatRequestForControlTransfer Methoden verwendet.
Um eine WDF_USB_CONTROL_SETUP_PACKET Struktur zu initialisieren, sollte der Treiber eine der folgenden Funktionen aufrufen:
Anforderungen
Anforderung | Wert |
---|---|
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdfusb.h (include Wdfusb.h) |