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


структура 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 (include Wdfusb.h)

См. также

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WdfRequestGetCompletionParams