Поделиться через


Создание файла целевым объектом ввода-вывода USB

Предупреждение

UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. В UMDF 1 новые функции не добавляются, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2.

Архивные примеры UMDF 1 можно найти в Windows 11 версии 22H2 — обновление примеров драйверов за май 2022 г.

Дополнительные сведения см. в разделе начало работы с помощью UMDF.

Во время инициализации целевой объект USB-ввода-вывода создает объект файла внутри стека, который представляет сеанс по умолчанию, открытый для целевого объекта USB-ввода-вывода. Дополнительные сведения об объекте файла внутри стека см. в разделе Создание файлового объекта для обработки ввода-вывода. Целевой объект USB-ввода-вывода или его дочерние элементы usb-канала используют этот объект файла для отправки всех исходящих операций ввода-вывода (например, ввода-вывода для получения дескриптора конфигурации USB).

Драйвер может использовать этот объект файла внутри стека в функциях форматирования (например, драйвер может передать указатель на этот файловый объект на параметр pFile при вызове метода IWDFIoTarget::FormatRequestForRead ), если драйвер должен отправлять операции ввода-вывода в сеансе по умолчанию этого файлового объекта. Чтобы получить объект файла внутри стека, драйвер может вызвать метод IWDFIoTarget::GetTargetFile .

Этот объект файла внутри стека закрывается при удалении целевого объекта ввода-вывода либо явным образом, когда драйвер вызывает метод IWDFObject::D eleteWdfObject в целевом объекте ввода-вывода, либо неявно, когда родительский объект целевого объекта ввода-вывода удаляется.

Если какой-либо ввод-вывод остается невыполненным для этого объекта файла внутри стека во время удаления устройства, этот объект файла не будет закрыт, и UMDF создаст остановку драйвера. Дополнительные сведения см. в статье Создание и использование Driver-Created объектов file.