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


Метод IQueueCallbackDeviceIoControl::OnDeviceIoControl (wudfddi.h)

Предупреждение

UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2. Дополнительные сведения см. в разделе начало работы с помощью UMDF.

Метод OnDeviceIoControl вызывается для обработки запроса управления вводом-выводом устройства, когда приложение выполняет определенную операцию на устройстве с помощью функции Microsoft Win32 OnDeviceIoControl .

Синтаксис

void OnDeviceIoControl(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ControlCode,
       SIZE_T        InputBufferSizeInBytes,
       SIZE_T        OutputBufferSizeInBytes
);

Параметры

[in] pWdfQueue

Указатель на интерфейс IWDFIoQueue для объекта очереди ввода-вывода, из который поступает запрос.

[in] pWdfRequest

Указатель на интерфейс IWDFIoRequest , представляющий объект запроса платформы.

[in] ControlCode

Определяемый драйвером или системный код управления вводом-выводом (IOCTL), который определяет конкретную операцию, которая должна быть выполнена и связана с запросом.

InputBufferSizeInBytes

Размер (в байтах) входного буфера для запроса.

OutputBufferSizeInBytes

Размер (в байтах) выходного буфера для запроса.

Возвращаемое значение

None

Remarks

Драйвер регистрирует интерфейс IQueueCallbackDeviceIoControl , когда драйвер вызывает метод IWDFDevice::CreateIoQueue для создания очереди ввода-вывода или настройки очереди ввода-вывода по умолчанию.

Драйвер может реализовать один метод OnDeviceIoControl для всех очередей ввода-вывода или отдельные методы OnDeviceIoControl для каждой очереди ввода-вывода.

Метод OnDeviceIoControl получает каждый тип запроса элемента управления вводом-выводом устройства из очереди. (Тип запроса определяется значением WdfRequestDeviceIoControlWDF_REQUEST_TYPE типа перечисления для запроса.)

Дополнительные сведения о методах драйвера, связанных с очередями и вызываемые платформой, см. в разделе Функции обратного вызова событий очереди ввода-вывода. Метод OnDeviceIoControl должен обрабатывать каждый полученный запрос управления вводом-выводом устройства. Дополнительные сведения о том, как драйверы UMDF обрабатывают запросы ввода-вывода, см. в разделе Обработка запросов ввода-вывода.

Драйвер может вызывать методы IWDFIoRequest::GetDeviceIoControlParameters, IWDFIoRequest::GetInputMemory и IWDFIoRequest::GetOutputMemory для получения сведений о запросе, входных и выходных буферах.

Требования

Требование Значение
Целевая платформа Windows
Header wudfddi.h (включая Wudfddi.h)

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