Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
UMDF 2 является последней версией UMDF и заменяет UMDF 1. Все новые драйверы UMDF должны быть написаны с помощью UMDF 2. Новые функции не добавляются в UMDF 1, а поддержка UMDF 1 в более новых версиях Windows 10 ограничена. Универсальные драйверы Windows должны использовать UMDF 2.
Архивные примеры UMDF 1 можно найти в Windows 11, версия 22H2 — обновление драйверов за май 2022 года.
Дополнительные сведения см. в разделе Начало работы сUMDF.
Платформа добавляет объект устройства для каждого устройства, загруженного в процесс узла драйвера. Чтобы добавить устройство, платформа вызывает метод IDriverEntry::OnDeviceAdd и передает интерфейсы IWDFDriver и IWDFDeviceInitialize в вызове. Предоставленный интерфейс IWDFDeviceInitialize действителен только перед вызовом IWDFDriver::CreateDevice. Драйвер может вызвать следующие методы IWDFDeviceInitialize для выполнения следующих операций:
Драйвер вызывает метод IWDFDeviceInitialize::RetrieveDevicePropertyStore , чтобы получить интерфейс IWDFNamedPropertyStore для хранилища свойств устройства. Драйвер может использовать IWDFNamedPropertyStore для получения и задания свойств для устройства.
Драйвер вызывает метод IWDFDeviceInitialize::SetLockingConstraint , чтобы указать, как его функции обратного вызова вызываются платформой.
Драйвер вызывает метод IWDFDeviceInitialize::SetFilter , чтобы включить устройство в качестве устройства фильтра.
После того как драйвер использует IWDFDeviceInitialize для инициализации устройства, драйвер передает указатель на IWDFDeviceInitialize в вызове метода IWDFDriver::CreateDevice для создания объекта устройства UMDF для устройства. После создания объекта устройства платформы драйвер вызывает метод IWDFDevice::CreateIoQueue для создания очередей операций чтения и записи операций ввода-вывода. В этих вызовах IWDFDevice::CreateIoQueue драйвер должен определить, как он получает запросы из очереди ввода-вывода. Дополнительные сведения см. в разделе Настройка режима диспетчеризации очереди ввода-вывода.