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


Метод IQueueCallbackWrite::OnWrite (wudfddi.h)

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

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

Синтаксис

void OnWrite(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] SIZE_T        NumOfBytesToWrite
);

Параметры

[in] pWdfQueue

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

[in] pWdfRequest

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

[in] NumOfBytesToWrite

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

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

None

Remarks

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

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

Метод OnWrite получает каждый тип запроса на запись из очереди. (Тип запроса на запись определяется значением WdfRequestWrite типа перечисления WDF_REQUEST_TYPE для запроса.) Метод OnWrite должен обрабатывать каждый полученный запрос на запись. Дополнительные сведения о том, как драйверы UMDF обрабатывают запросы ввода-вывода, см. в разделе Обработка запросов ввода-вывода.

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

Требования

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

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

IQueueCallbackWrite

IWDFDevice::CreateIoQueue

IWDFIoQueue

IWDFIoRequest

WDF_REQUEST_TYPE