структура 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) |