Получение сведений о запросе ввода-вывода
Перед обработкой запроса ввода-вывода драйвер должен определить тип запроса. Когда драйвер на основе платформы создает очереди ввода-вывода для устройства, он обычно настраивает очереди ввода-вывода и обработчики запросов таким образом, чтобы каждая очередь или обработчик запросов получали запросы определенного типа (чтение, запись или элемент управления вводом-выводом устройства).
После определения типа запроса драйвер должен получить входные и выходные буферы запроса, если они необходимы. Сведения о получении буферов запроса см. в разделе Доступ к буферам данных в Framework-Based Drivers.
Чтобы предоставить дополнительные сведения о запросе ввода-вывода, полученном драйвером, объект запроса платформы определяет следующие методы:
WdfRequestGetIoQueue, который возвращает дескриптор очереди ввода-вывода, из которой был доставлен запрос ввода-вывода.
WdfRequestGetRequestorMode, который возвращает режим доступа к процессору (пользователь или ядро) инициатора запроса.
WdfRequestGetFileObject, который возвращает дескриптор объекту файла платформы, связанному с запросом.
WdfRequestWdmGetIrp, который возвращает структуру WDM IRP , связанную с запросом.
WdfRequestGetParameters, который получает параметры запроса, отличные от IRP, в формате WDM.
После того как драйвер завершает запрос ввода-вывода, другие драйверы в стеке драйверов могут вызывать дополнительные методы объекта запроса для получения сведений о завершении запроса. Дополнительные сведения об этих дополнительных методах см. в разделе Завершение запросов ввода-вывода.