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


структура WDF_USB_REQUEST_COMPLETION_PARAMS (wdfusb.h)

[Применимо к KMDF и UMDF]

Структура WDF_USB_REQUEST_COMPLETION_PARAMS содержит параметры, связанные с завершением запроса ввода-вывода для USB-устройства.

Синтаксис

typedef struct _WDF_USB_REQUEST_COMPLETION_PARAMS {
  USBD_STATUS          UsbdStatus;
  WDF_USB_REQUEST_TYPE Type;
  union {
    struct {
      WDFMEMORY Buffer;
      USHORT    LangID;
      UCHAR     StringIndex;
      UCHAR     RequiredSize;
    } DeviceString;
    struct {
      WDFMEMORY                    Buffer;
      WDF_USB_CONTROL_SETUP_PACKET SetupPacket;
      ULONG                        Length;
    } DeviceControlTransfer;
    struct {
      WDFMEMORY Buffer;
    } DeviceUrb;
    struct {
      WDFMEMORY Buffer;
      size_t    Length;
      size_t    Offset;
    } PipeWrite;
    struct {
      WDFMEMORY Buffer;
      size_t    Length;
      size_t    Offset;
    } PipeRead;
    struct {
      WDFMEMORY Buffer;
    } PipeUrb;
  } Parameters;
} WDF_USB_REQUEST_COMPLETION_PARAMS, *PWDF_USB_REQUEST_COMPLETION_PARAMS;

Члены

UsbdStatus

USBD_STATUS типизированное значение состояния, возвращаемое целевым объектом ввода-вывода.

Type

WDF_USB_REQUEST_TYPE тип значения, идентифицирующее тип запроса.

Parameters

Parameters.DeviceString

Parameters.DeviceString.Buffer

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForString, этот член содержит предоставленный драйвером дескриптор объекта памяти, который получает строку Юникода.

Parameters.DeviceString.LangID

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForString, этот элемент содержит предоставленный драйвером идентификатор языка.

Parameters.DeviceString.StringIndex

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForString, этот член содержит предоставленный драйвером строковый индекс.

Parameters.DeviceString.RequiredSize

Если драйвер вызвал любой метод, который получает строки Юникода устройства (за исключением WdfUsbTargetDeviceFormatRequestForUrb), этот элемент содержит требуемый размер буфера, который указывает Parameters.DeviceString.Buffer .

Если драйвер называется WdfUsbTargetDeviceFormatRequestForUrb, он может получить требуемое значение размера из URB, дескриптор которого находится в Parameters.DeviceUrb.Buffer.

Parameters.DeviceControlTransfer

Parameters.DeviceControlTransfer.Buffer

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForControlTransfer, этот элемент содержит предоставленный драйвером дескриптор объекта памяти, который получает входные или выходные данные.

Parameters.DeviceControlTransfer.SetupPacket

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForControlTransfer, этот элемент содержит адрес структуры WDF_USB_CONTROL_SETUP_PACKET , предоставленной драйвером.

Parameters.DeviceControlTransfer.Length

Если драйвер вызвал любой метод, отправляющий передачу элемента управления (за исключением WdfUsbTargetDeviceFormatRequestForUrb), этот элемент содержит количество отправленных или полученных байтов.

Если драйвер с именем WdfUsbTargetDeviceFormatRequestForUrb, он может получить значение длины из URB, дескриптор которого находится в Parameters.DeviceUrb.Buffer.

Parameters.DeviceUrb

Parameters.DeviceUrb.Buffer

Если драйвер вызвал WdfUsbTargetDeviceFormatRequestForUrb, этот элемент содержит предоставленный драйвером дескриптор объекта памяти, который содержит структуру URB .

Parameters.PipeWrite

Parameters.PipeWrite.Buffer

Если драйвер вызвал WdfUsbTargetPipeFormatRequestForWrite, этот член содержит предоставленный драйвером дескриптор объекта памяти, записанного в канал.

Parameters.PipeWrite.Length

Если драйвер вызвал любой метод , который выполняет запись в канал (за исключением WdfUsbTargetDeviceFormatRequestForUrb), этот элемент содержит количество отправленных байтов.

Если драйвер с именем WdfUsbTargetDeviceFormatRequestForUrb, он может получить значение длины из URB, дескриптор которого находится в Parameters.PipeUrb.Buffer.

Parameters.PipeWrite.Offset

Если драйвер вызвал WdfUsbTargetPipeFormatRequestForWrite, этот элемент содержит предоставленное драйвером смещение буфера.

Parameters.PipeRead

Parameters.PipeRead.Buffer

Если драйвер вызвал WdfUsbTargetPipeFormatRequestForRead, этот элемент содержит предоставленный драйвером дескриптор объекта памяти, который содержит данные, считанные из канала.

Parameters.PipeRead.Length

Если драйвер вызвал любой метод, который считывает данные из канала , отправляет передачу управления (за исключением WdfUsbTargetDeviceFormatRequestForUrb), этот элемент содержит количество полученных байтов.

Если драйвер с именем WdfUsbTargetDeviceFormatRequestForUrb, он может получить значение длины из URB, дескриптор которого находится в Parameters.PipeUrb.Buffer.

Parameters.PipeRead.Offset

Если драйвер вызвал WdfUsbTargetPipeFormatRequestForRead, этот элемент содержит предоставленное драйвером смещение буфера.

Parameters.PipeUrb

Parameters.PipeUrb.Buffer

Если драйвер вызвал WdfUsbTargetPipeFormatRequestForUrb, этот элемент содержит предоставленный драйвером дескриптор объекта памяти, который содержит структуру URB .

Комментарии

Структура WDF_USB_REQUEST_COMPLETION_PARAMS является членом структуры WDF_REQUEST_COMPLETION_PARAMS .

Требования

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

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

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WdfRequestGetCompletionParams