объединение WDF_USB_CONTROL_SETUP_PACKET (wdfusb.h)
[Применимо к KMDF и UMDF]
Структура WDF_USB_CONTROL_SETUP_PACKET описывает пакет установки для передачи USB-элемента управления.
Синтаксис
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;
Члены
Packet
Packet.bm
Packet.bm.Request
Packet.bm.Request.Recipient
Битовое поле, указанное WDF_USB_BMREQUEST_RECIPIENTтипизированным значением.
Packet.bm.Request.Reserved
Зарезервированное битовое поле. Не используйте этот элемент.
Packet.bm.Request.Type
Битовое поле, указанное WDF_USB_BMREQUEST_TYPEтипизированным значением.
Packet.bm.Request.Dir
Битовое поле, указанное WDF_USB_BMREQUEST_DIRECTIONтипизированным значением.
Packet.bm.Byte
Битовое изображение размером байтов, содержащее Request.Recipient, Request.Reserved, Request.Typeи битовые поля Request.Dir. Используйте этот элемент в качестве альтернативы указанию отдельных битов.
Packet.bRequest
Тип запроса. Константы типов запросов определяются в usb100.h. Дополнительные сведения о типах запросов см. в спецификации USB.
Packet.wValue
Packet.wValue.Bytes
Packet.wValue.Bytes.LowByte
Низкий байт 2-байтового значения, зависящее от запроса. Дополнительные сведения об указании wValueсм. в спецификации USB.
Packet.wValue.Bytes.HiByte
Высокий байт 2-байтового значения для конкретного запроса.
Packet.wValue.Value
2-байтовое значение, содержащее значения Bytes.LowByte и Bytes.HiByte. Используйте этот элемент в качестве альтернативы указанию отдельных байтовых и высокобайтовых значений.
Packet.wIndex
Packet.wIndex.Bytes
Packet.wIndex.Bytes.LowByte
Низкий байт 2-байтового значения, зависящее от запроса. Дополнительные сведения об указании wValueсм. в спецификации USB.
Packet.wIndex.Bytes.HiByte
Высокий байт 2-байтового значения для конкретного запроса.
Packet.wIndex.Value
2-байтовое значение, содержащее значения Bytes.LowByte и Bytes.HiByte. Используйте этот элемент в качестве альтернативы указанию отдельных байтовых и высокобайтовых значений.
Packet.wLength
Количество байтов для передачи, если применимо. Дополнительные сведения об этом значении см. в спецификации USB. Платформа задает это значение.
Generic
Generic.Bytes[8]
8-байтовое значение, представляющее весь пакет установки. Этот элемент можно использовать в качестве альтернативы указанию отдельных элементов структуры.
Замечания
Структура WDF_USB_CONTROL_SETUP_PACKET используется в качестве входных данных для методов WdfUsbTargetDeviceSendControlTransferSynchronous и WdfUsbTargetDeviceFormatRequestForControlTransfer.
Чтобы инициализировать структуру WDF_USB_CONTROL_SETUP_PACKET, драйвер должен вызвать одну из следующих функций:
Требования
Требование | Ценность |
---|---|
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
заголовка | wdfusb.h (include Wdfusb.h) |