Windows Driver Foundation | это... Что такое Windows Driver Foundation? (original) (raw)

Windows Driver Foundation

Разработчик Microsoft
Операционная система Windows
Языки интерфейса Английский
Последняя версия 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, которая зависит от того, насколько полно разработчик реализовал все аспекты поведения драйвера.

Варианты

Фреймворк поставляется в двух вариантах:

Это подразумевает использование лежащей в основе программной модели. Тем не менее, фреймворк уровня ядра использует простой API языка Си, в то время как фреймворк уровня пользователя основывается на C++ и облегченной версии COM.

WDF также содержит набор инструментов проверки, которыми могут воспользоваться создатели драйверов. Эти инструменты проверяют код драйвера на наличие распространенных ошибок и/или симулируют код драйвера для определения причин проблем, которые сложно обнаружить и протестировать.

Инструменты

Static Driver Verifier (SDV) позволяет выполнять достаточно глубокую проверку исполнения кода через отслеживание функций и даже вызовов через WDM. SDV может определить проблемы драйвера, которые скрываются благодаря множеству вызовов функций или множеству операций. SDV используется, когда драйвер близок к завершению.

PREFast for Drivers (PFD) выполняет более поверхностный анализ операций драйвера. PFD может проверить наличие проблем переполнения буфера и других наиболее распространенных программных ошибок, равно как и некоторое число специфических проблем драйверов. Благодаря тому, что его возможности ограничены пределами одной функции, время запуска PFD существенно короче по сравнению с SDV. Поэтому PFD можно использовать в ходе процесса разработки драйвера.

Дополнительные источники

Просмотр этого шаблона 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
Графика Проводник WindowsDirectXDirect3DGDIWindows Presentation Foundation • Windows Color System • Windows Image Acquisition • Windows Imaging Component
Звук DirectSound • DirectMusic • XACT • Speech APIMME
Мультимедиа DirectShowWindows MediaMedia Foundation
Веб MSHTMLMSXML • Платформа RSS для Windows • JScriptActiveXXMLHttpRequest • Гаджеты
Доступ к данным Компоненты 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
Модель компонентов COMCOM+DCOM.NET Framework
Библиотеки Microsoft Foundation Classes (MFC) • Active Template Library (ATL) • Windows Template Library (WTL) • Base Class Library (BCL)
Разработка драйверов Windows Driver ModelWindows Driver Foundation (KMDF • UMDF)
Безопасность CryptoAPI (CAPICOM) • Windows CardSpace • Data protection API • Security Support Provider Interface
.NET .NET FrameworkASP.NETADO.NET.NET RemotingWindows Presentation FoundationWindows Workflow FoundationWindows Communication FoundationWindows CardSpaceXNA FrameworkSilverlight • Библиотека параллельного программирования
Межпроцессноевзаимодействие Dynamic Data Exchange (DDE) • MSRPC • Именованные каналы
Текст иподдержка языков Framework Текстовых сервисов • Объектная модель текстов • Редактор метода ввода • Языковые пакеты • Многоязычный интерфейс
Игры XNA FrameworkDirectX