- Windows Driver Foundation
-
Windows Driver Foundation Разработчик Операционная система Языки интерфейса Последняя версия 1.9
Состояние Active
Windows Driver Foundation (WDF) — набор программных инструментов от корпорации Microsoft, облегчающих разработку драйверов устройств для Windows 2000 и более поздних версий Windows.
Основными инструментами, составляющими WDF, являются Kernel Mode Driver Framework (KMDF) и User Mode Driver Framework (UMDF). Эти наборы инструментов обеспечивают поддержку новой объектно-ориентированной программной модели разработки драйверов для Windows. Основной целью фреймворков является «Концептуальная масштабируемость» («Conceptual Scalability»), которая характеризуется только требованием к разработчику драйвера знать несколько простых концепций, чтобы написать простой драйвер, а по мере роста знаний разработчик имеет возможность использовать более сложные, но в то же время более широкие возможности особенностей драйверов. Это заметно отличается от Windows Driver Model (WDM), которая требует от разработчиков драйверов полного знакомства со множеством сложных технических деталей перед написанием даже простейшего драйвера.
Важным шагом в достижении концептуальной масштабируемости является то, что KMDF и UMDF используют составную модель. Такая модель позволяет разработчику расширять и изменять поведение «хорошего драйвера» по умолчанию. Это контрастирует с более старой Windows Driver Model, которая зависит от того, насколько полно разработчик реализовал все аспекты поведения драйвера.
Варианты
Фреймворк поставляется в двух вариантах:
- Kernel-Mode Driver Framework — для написания стандартных драйверов уровня ядра.
- User-Mode Driver Framework — для написания определенных классов драйверов, которые могут исполняться на уровне пользователя.
Это подразумевает использование лежащей в основе программной модели. Тем не менее, фреймворк уровня ядра использует простой API языка Си, в то время как фреймворк уровня пользователя основывается на C++ и облегченной версии COM.
WDF также содержит набор инструментов проверки, которыми могут воспользоваться создатели драйверов. Эти инструменты проверяют код драйвера на наличие распространенных ошибок и/или симулируют код драйвера для определения причин проблем, которые сложно обнаружить и протестировать.
Инструменты
Static Driver Verifier (SDV) позволяет выполнять достаточно глубокую проверку исполнения кода через отслеживание функций и даже вызовов через WDM. SDV может определить проблемы драйвера, которые скрываются благодаря множеству вызовов функций или множеству операций. SDV используется, когда драйвер близок к завершению.
PREFast for Drivers (PFD) выполняет более поверхностный анализ операций драйвера. PFD может проверить наличие проблем переполнения буфера и других наиболее распространенных программных ошибок, равно как и некоторое число специфических проблем драйверов. Благодаря тому, что его возможности ограничены пределами одной функции, время запуска PFD существенно короче по сравнению с SDV. Поэтому PFD можно использовать в ходе процесса разработки драйвера.
Дополнительные источники
- Домашняя страница Windows Driver Foundation
- Developing Drivers with the Windows Driver Foundation (Orwick и Smith)
- Windows Driver Kit
- Веб-сайт OSR Online содержит множество статей о WDF, KMDF и разработке драйверов для Windows. (на английском)
- Знакомство с Windows Driver Framework, написанное известным разработчиком драйверов для Windows, Уолтером Они. (на английском)
- Building and deploying a basic WDF Kernel Mode Driver, CodeProject
- Developing a WDF USB Kernel Mode Driver for the OSR USB FX2, CodeProject
API и фреймворки Microsoft Графика Desktop Window Manager · Direct2D · Direct3D (extensions) · GDI / GDI+ · WPF · Windows Color System · Windows Image Acquisition · Windows Imaging Component Аудио DirectMusic · DirectSound · DirectX plugin · XACT · Speech API · XAudio2 Мультимедиа DirectX (Media Objects · Video Acceleration) · DirectInput · DirectShow · Image Mastering API · Managed DirectX · Media Foundation · XNA · Windows Media · Video for Windows Web MSHTML · RSS Platform · JScript · VBScript · BHO · XDR · SideBar Gadgets Доступ к данным Data Access Components · Extensible Storage Engine · ADO.NET · ADO.NET Entity Framework · Sync Framework · Jet Engine · MSXML · OLE DB · OPC Сеть Winsock (LSP) · Winsock Kernel · Filtering Platform · Network Driver Interface Specification · Windows Rally · BITS · P2P API · MSMQ · MS MPI · DirectPlay Коммуникации Messaging API · Telephony API · WCF Win32 console · Windows Script Host · WMI (extensions) · PowerShell · Task Scheduler · Offline Files · Shadow Copy · Windows Installer · Error Reporting · Event Log · Common Log File System Компонентная модель COM · COM+ · ActiveX · Distributed Component Object Model · .NET Framework Библиотеки Base Class Library (BCL) · Microsoft Foundation Classes (MFC) · Active Template Library (ATL) · Windows Template Library (WTL) Драйверы устройств Windows Driver Model · Windows Driver Foundation (KMDF · UMDF) · WDDM · NDIS · UAA · Broadcast Driver Architecture · VxD Безопасность Crypto API (CAPICOM) · Windows CardSpace · Data Protection API · Security Support Provider Interface (SSPI) .NET ASP.NET · ADO.NET · Base Class Library (BCL) · Remoting · Silverlight · TPL · WCF · WCS · WPF · WF Программное обеспечение EFx Factory · Enterprise Library · Composite UI · CCF · CSF IPC MSRPC · Dynamic Data Exchange (DDE) · Remoting · WCF Доступность Active Accessibility · UI Automation Текст и многоязная
поддержкаDirectWrite · Text Services Framework · Text Object Model · Input method editor · Language Interface Pack · Multilingual User Interface · Uniscribe Программные интерфейсы и фреймворки Microsoft Windows Графика Проводник Windows • DirectX • Direct3D • GDI • Windows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component Звук DirectSound • DirectMusic • XACT • Speech API • MME Мультимедиа DirectShow • Windows Media • Media Foundation Веб MSHTML • MSXML • Платформа RSS для Windows • JScript • ActiveX • XMLHttpRequest • Гаджеты Доступ к данным Компоненты Microsoft Data Access • Extensible Storage Engine • ADO.NET • Sync Framework • Jet-механизм Сети Winsock (LSP) • Filtering Platform • NDIS • Windows Rally • Сервис фоновой интеллектуальой передачи данных • P2P API Коммуникации TAPI Администрирование Консоль Win32 • Windows Script Host • Инструментарий управления Windows • PowerShell • Планировщик задач • Offline Files • Теневое копирование • Windows Installer • Диспетчер ошибок Windows • Журнал событий Windows Модель компонентов COM • COM+ • DCOM • .NET Framework Библиотеки Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL) Разработка драйверов Windows Driver Model • Windows Driver Foundation (KMDF • UMDF) Безопасность CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface .NET .NET Framework • ASP.NET • ADO.NET • .NET Remoting • Windows Presentation Foundation • Windows Workflow Foundation • Windows Communication Foundation • Windows CardSpace • XNA Framework • Silverlight • Библиотека параллельного программирования Межпроцессное
взаимодействиеDynamic Data Exchange (DDE) • MSRPC • Именованные каналы Текст и
поддержка языковFramework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс Игры XNA Framework • DirectX Категории:- Программное обеспечение по алфавиту
- Драйверы
- Программные интерфейсы Microsoft
Wikimedia Foundation. 2010.