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


объединение 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 используется в качестве входных данных для методов WdfUsbTargetDeviceSendControlTransferSynchronously и WdfUsbTargetDeviceFormatRequestForControlTransfer .

Чтобы инициализировать структуру WDF_USB_CONTROL_SETUP_PACKET , драйвер должен вызвать одну из следующих функций:

Требования

Требование Значение
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfusb.h (включая Wdfusb.h)

См. также раздел

WDF_USB_BMREQUEST_DIRECTION

WDF_USB_BMREQUEST_RECIPIENT

WDF_USB_BMREQUEST_TYPE

WdfUsbTargetDeviceFormatRequestForControlTransfer

WdfUsbTargetDeviceSendControlTransferSynchronously