Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
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 ввода-вывода.
Если платформа предоставляет специализированные целевые объекты ввода-вывода, поддерживающие формат данных устройства, драйвер должен использовать специализированные целевые объекты ввода-вывода. В противном случае драйвер должен использовать общие целевые объекты ввода-вывода.