Поделиться через


объединение 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)

См. также

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronous