функция обратного вызова EVT_WDF_IO_QUEUE_IO_WRITE (wdfio.h)
[Применимо к KMDF и UMDF]
Функция обратного вызова события EvtIoWrite драйвера обрабатывает указанный запрос на запись.
Синтаксис
EVT_WDF_IO_QUEUE_IO_WRITE EvtWdfIoQueueIoWrite;
void EvtWdfIoQueueIoWrite(
[in] WDFQUEUE Queue,
[in] WDFREQUEST Request,
[in] size_t Length
)
{...}
Параметры
[in] Queue
Дескриптор объекта очереди платформы, связанного с запросом ввода-вывода.
[in] Request
Дескриптор объекта запроса платформы.
[in] Length
Число записываемых байтов.
Возвращаемое значение
None
Remarks
Драйвер регистрирует функцию обратного вызова EvtIoWrite при вызове WdfIoQueueCreate. Дополнительные сведения о вызове WdfIoQueueCreate см. в разделе Создание очередей ввода-вывода.
Если драйвер зарегистрировал функцию обратного вызова EvtIoWrite для очереди ввода-вывода устройства, функция обратного вызова получает каждый запрос на запись из очереди. Дополнительные сведения см. в разделе Обработчики запросов.
Функция обратного вызова EvtIoWrite должна каким-то образом обрабатывать каждый полученный запрос ввода-вывода. Дополнительные сведения см. в разделе Обработка запросов ввода-вывода.
Для запросов на запись требуется входной буфер, содержащий данные, получаемые драйвером. Сведения о том, как драйвер может получить доступ к буферу запроса на запись, см. в статье Доступ к буферам данных в Framework-Based Drivers.
Эту функцию обратного вызова можно вызвать в IRQL <= DISPATCH_LEVEL, если для элемента ExecutionLevel устройства или структуры WDF_OBJECT_ATTRIBUTES драйвера не задано значение WdfExecutionLevelPassive.
Если IRQL PASSIVE_LEVEL, платформа вызывает функцию обратного вызова в критическом регионе.
Дополнительные сведения об уровнях IRQL для обработчиков запросов см. в разделе Использование автоматической синхронизации.
Функция обратного вызова EvtIoWrite драйвера не должна вызывать следующие методы объекта очереди:
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfio.h (включая Wdf.h) |
IRQL | <= DISPATCH_LEVEL (см. раздел "Примечания") |