Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

User-Mode Driver Framework ( UMDF ) представляет собой платформу разработки драйвера устройства впервые с Microsoft «s Windows Vista операционной системы , а также доступен для Windows XP . Это облегчает создание драйверов для определенных классов устройств. [1]

Обзор [ править ]

Стандартные драйверы устройств может быть сложно написать, потому что они должны обрабатывать очень широкий диапазон состояний системы и устройств, особенно в многопоточной программной среде. Плохо написанные драйверы устройств могут вызвать серьезные повреждения системы (например, BSoD и повреждение данных), поскольку все стандартные драйверы имеют высокие привилегии при прямом доступе к ядру. Платформа драйверов пользовательского режима изолирует ядро ​​от проблем прямого доступа к драйверам, вместо этого предоставляя новый класс драйверов со специальным интерфейсом прикладного программирования.на пользовательском уровне управления прерываниями и памятью. В случае возникновения ошибки новая структура позволяет немедленно перезапустить драйвер, не влияя на систему. Это особенно полезно для устройств, которые периодически подключаются к системе или поддерживают горячую замену через технологию шины, такую ​​как USB или FireWire .

Согласно Microsoft, драйверы UMDF проще писать и отлаживать, чем драйверы режима ядра. [2] Однако UMDF не будет использоваться для устройств с высокой производительностью или с отслеживанием состояния.

Первая версия UMDF была отправлена ​​как часть Windows Media Player версии 10 12 октября 2004 года. Под кодовым названием "Crescent" он был разработан для поддержки драйвера протокола передачи мультимедиа , и для него не было предоставлено никаких общедоступных интерфейсов или документации. Позже Microsoft решила превратить UMDF в платформу для разработки драйверов устройств. [3]

История версий [ править ]

  • Платформа драйверов пользовательского режима 1.5–1.9, поддерживает Windows XP и новее.
  • Платформа драйверов пользовательского режима 1.11, поддерживает Windows Vista и более поздние версии , а также Windows Server 2008 и более поздние версии . [4]
  • User-Mode Driver Framework 2.0, который поддерживает Windows 8.1 и новее. [5]

Архитектура [ править ]

Драйвер UMDF - это библиотека DLL, основанная на модели компонентных объектов Microsoft (COM). Однако UMDF не использует COM для загрузки, выгрузки или управления параллелизмом ; он использует COM только как шаблон программирования , например, используя интерфейс COM IUnknown . При запуске UMDF вызывает DllGetClassObject , чтобы получить указатель на IClassFactory интерфейс в драйвере , а затем использует CreateInstance метод IClassFactory интерфейса для создания экземпляра объекта драйвера обратного вызова.

Объект драйвера - это экземпляр интерфейса IWDFDriver, предоставляемого платформой . Драйвер предоставляет набор обратных вызовов через COM-интерфейс IDriverEntry , который является основной точкой входа для настройки драйвера.

См. Также [ править ]

Ссылки [ править ]

  1. ^ Программирование драйверов для UMDF
  2. ^ «Преимущества написания драйверов UMDF» .
  3. Чарльз Торре, Питер Виланд (18 сентября 2006 г.). "Питер Виланд: Платформа драйвера пользовательского режима" . Канал 9 . Microsoft . Проверено 18 сентября 2006 .
  4. ^ Служба поддержки Microsoft. «Обновление версии 1.11 Driver Framework для пользовательского режима для Windows Vista, Windows Server 2008, Windows 7 и Windows Server 2008 R2» . Microsoft . Проверено 1 декабря 2012 .
  5. ^ «Часто задаваемые вопросы о среде драйвера пользовательского режима (драйверы Windows)» . Microsoft . Проверено 4 июня 2014 .

Внешние ссылки [ править ]

  • Официальный веб-сайт
  • Блог Питера Виланда - руководитель группы разработчиков UMDF в Microsoft