Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В разделах этого раздела описывается, как драйвер Windows Driver Frameworks (WDF) может пересылать запрос ввода-вывода или создавать и отправлять новый запрос другому драйверу, называемому целевым объектом ввода-вывода.
Когда драйвер функции, драйвер фильтра или минипорт-драйвер получает запрос ввода-вывода, драйвер может самостоятельно обработать запрос или может потребоваться помощь других драйверов. Если драйверу нужна помощь, он может пересылать запрос другому водителю или создать один или несколько новых запросов и отправить их другому водителю.
В Kernel-Mode Driver Framework целевой объект ввода-вывода представляет объект устройства, который является целевым объектом запроса ввода-вывода. Функция, фильтр или минипорт-драйвер могут использовать целевой объект ввода-вывода для отправки запросов ввода-вывода другому драйверу. Эти драйверы часто отправляют запросы ввода-вывода в следующий нижний драйвер в стеке драйверов. Таким образом, каждая функция на основе фреймворка, фильтр и мини-драйвер имеют локальный целевой объект ввода-вывода для каждого устройства, который является драйвером, стоящим уровнем ниже устройства.
Иногда драйвер должен отправлять запрос ввода-вывода другому целевому объекту в верхней части другого стека драйверов или, редко, некоторых других драйверов в стеке отправляющего драйвера. Поэтому платформа также предоставляет удаленные целевые объекты ввода-вывода, которые состоят из всех целевых объектов ввода-вывода, кроме локального целевого объекта ввода-вывода.
Каждый целевой объект ввода-вывода представлен целевым объектом ввода-вывода. Каждый целевой объект ввода-вывода — это в первую очередь очередь, которая управляет доставкой запроса в целевой объект устройства. Когда драйвер отправляет запрос в целевой объект ввода-вывода, платформа сохраняет запрос в очереди, пока он не сможет передать запрос целевому объекту устройства.
Платформа поддерживает как общие целевые объекты ввода-вывода , так и специализированные целевые объекты ввода-вывода:
Общие целевые объекты ввода-вывода можно использовать всеми драйверами функций, фильтров и минипортов, но они не поддерживают специальные форматы данных, относящиеся к устройству.
Специализированные целевые объекты ввода-вывода позволяют драйверам функций, фильтров и минипортов легко отправлять запросы ввода-вывода, требующие специального форматирования данных для конкретных целевых объектов. В настоящее время платформа обеспечивает поддержку следующих специализированных целевых объектов ввода-вывода:
Если платформа предоставляет специализированные целевые объекты ввода-вывода, поддерживающие формат данных устройства, драйвер должен использовать специализированные целевые объекты ввода-вывода. В противном случае драйвер должен использовать общие целевые объекты ввода-вывода.