функция обратного вызова EVT_WDF_IO_QUEUE_IO_READ (wdfio.h)
[Применимо к KMDF и UMDF]
Функция обратного вызова события драйвера EvtIoRead обрабатывает указанный запрос на чтение.
Синтаксис
EVT_WDF_IO_QUEUE_IO_READ EvtWdfIoQueueIoRead;
void EvtWdfIoQueueIoRead(
[in] WDFQUEUE Queue,
[in] WDFREQUEST Request,
[in] size_t Length
)
{...}
Параметры
[in] Queue
Дескриптор объекта очереди платформы, связанный с запросом ввода-вывода.
[in] Request
Дескриптор объекта запроса платформы.
[in] Length
Число байтов для чтения.
Возвращаемое значение
Нет
Замечания
Драйвер регистрирует функцию обратного вызова EvtIoRead при вызове WdfIoQueueCreate. Дополнительные сведения о вызове WdfIoQueueCreateсм. в создании очередей ввода-вывода.
Если драйвер зарегистрировал функцию обратного вызова EvtIoRead для очереди ввода-вывода устройства, функция обратного вызова получает каждый запрос на чтение из очереди. Дополнительные сведения см. в разделе Обработчики запросов.
Функция обратного вызова EvtIoRead должна обрабатывать каждый полученный запрос ввода-вывода каким-то образом. Дополнительные сведения см. в запросов ввода-вывода.
Для чтения запросов требуется выходной буфер, который получает данные, которые предоставляет драйвер. Сведения о том, как драйвер может получить доступ к буферу запроса на чтение, см. в разделе Доступ к буферам данных в Framework-Based драйверах.
Эта функция обратного вызова может вызываться в IRQL <= DISPATCH_LEVEL, если только ExecutionLevel член WDF_OBJECT_ATTRIBUTES устройства или WDF_OBJECT_ATTRIBUTES драйвера имеет значение WdfExecutionLevelPassive.
Если irQL PASSIVE_LEVEL, платформа вызывает функцию обратного вызова в критическом регионе.
Дополнительные сведения об уровнях IRQL для обработчиков запросов см. в использование автоматической синхронизации.
Функция обратного вызова драйвера EvtIoRead не должна вызывать следующие методы объекта очереди:
Требования
Требование | Ценность |
---|---|
целевая платформа | универсальный |
минимальная версия KMDF | 1.0 |
минимальная версия UMDF | 2.0 |
Заголовок | wdfio.h (include Wdf.h) |
IRQL | <= DISPATCH_LEVEL (см. раздел "Примечания") |