Использование целевых объектов ввода-вывода в UMDF
Предупреждение
UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2.
Архивные примеры UMDF 1 можно найти в Windows 11 версии 22H2 — обновление примеров драйверов за май 2022 г.
Дополнительные сведения см. в разделе начало работы с помощью UMDF.
Когда драйвер получает запрос ввода-вывода, он может обработать запрос сам или может потребоваться помощь других драйверов. Если драйвер нуждается в помощи, он может переслать запрос другому драйверу или создать один или несколько новых запросов и отправить их другому драйверу.
Драйверы на основе UMDF используют целевые объекты ввода-вывода для отправки запросов ввода-вывода другому драйверу. Каждый целевой объект ввода-вывода представлен целевым объектом ввода-вывода. Каждый целевой объект ввода-вывода в основном является очередью. Когда драйвер отправляет запрос целевому объекту ввода-вывода, платформа сохраняет запрос в очереди, пока не сможет доставить запрос в целевой объект ввода-вывода.
Платформа поддерживает как общие целевые объекты ввода-вывода, так и специализированные целевые объекты ввода-вывода:
Общие целевые объекты ввода-вывода могут использоваться всеми драйверами UMDF, но они не поддерживают специальные форматы данных для конкретных устройств.
Специализированные целевые объекты ввода-вывода позволяют драйверам UMDF отправлять запросы ввода-вывода, требующие специального форматирования данных для конкретного целевого объекта. В настоящее время платформа обеспечивает поддержку целевых объектов ввода-вывода USB.
Если платформа предоставляет специализированные целевые объекты ввода-вывода, поддерживающие формат данных устройства, драйвер должен использовать специализированные целевые объекты ввода-вывода. В противном случае драйвер должен использовать общие целевые объекты ввода-вывода.