Windows User-Mode Driver Framework

ウィキペディアから

User-Mode Driver Framework (UMDF) は、マイクロソフト社のWindows Vistaオペレーティングシステム (operating system, OS) で初めて導入されたデバイスドライバーの開発プラットフォームである。Windows XP向けにも利用可能である。これにより、デバイスの特定のクラスのドライバーの作成が容易になる。

概要

標準のデバイスドライバーは、特にマルチスレッドのソフトウェア環境では、非常に広範囲のシステムおよびデバイス状態を処理する必要があるため、書き難いことが多い。カーネルに直接アクセスする際、すべての標準ドライバーは高い権限を持っているので、ひどい記述のデバイスドライバーは、システムに重大な損傷を引き起こす可能性がある(例えばBSODやデータ破損)。ユーザーレベルでの割り込みやメモリ管理において専用のアプリケーションプログラミングインターフェイス (application programming interface, API) で新しいドライバークラスを提供する代わりに、UMDFは、ドライバー直接アクセスの問題からカーネルを保護する。エラーが発生した場合、この新しいフレームワークは、システムに影響を与えることなく、即座にドライバーを再起動することができる。これは、断続的にシステムに接続されたり、USBFirewireなどのようなバス技術によるホットスワップをサポートしているデバイスに対して特に有用である。

マイクロソフトによると、UMDFドライバーは、カーネルモードドライバーよりも記述やデバッグが簡単であるとされている[1]。ただしUMDFは、パフォーマンスを重視するデバイスや高度にステートフルなデバイスには使用されないであろう。

UMDFの最初のバージョンは2004年10月12日にWindows Media Playerバージョン10の一部として出荷された。コードネーム「Crescent」は、メディア転送プロトコル (Media Transfer Protocol) をサポートするように設計され、一般向けのインターフェイスやドキュメントは提供されていなかった。後に、マイクロソフトは、UMDFをデバイスドライバーの開発プラットフォームに転換することを決定した[2]

バージョン履歴

  • UMDFのバージョン履歴およびサポート対象となるWindowsバージョンは下記となっている[3][4][5]
さらに見る UMDFバージョン, リリース手段 ...
UMDFのバージョン履歴
UMDFバージョンリリース手段搭載されているWindowsバージョン動作可能環境
2.31Windows 10 (Version 2004) WDKWindows 10 (Version 2004)Windows 10 バージョン 2004 以降
2.29WDK でリリースされていませんWindows 10 (Version 1903)Windows 10 バージョン 1903 以降
2.27Windows 10 (Version 1809) WDKWindows 10 (Version 1809)Windows 10 バージョン 1809 以降
2.25Windows 10 (Version 1803) WDKWindows 10 (Version 1803)Windows 10 バージョン 1803 以降
2.23Windows 10 (Version 1709) WDKWindows 10 (Version 1709)Windows 10 バージョン 1709 以降
2.21Windows 10 (Version 1703) WDKWindows 10 (Version 1703)Windows 10 バージョン 1703 以降
2.19Windows 10 (Version 1607) WDKWindows 10 (Version 1607)デスクトップ向けWindows 10Windows 10 MobileWindows 10 IoT Core、Windows Server 2016 TP
2.17Windows 10 (Version 1511) WDKWindows 10 (Version 1511)デスクトップ向けWindows 10Windows 10 MobileWindows 10 IoT Core、Windows Server 2016 TP
2.15Windows 10 WDKWindows 10デスクトップ向けWindows 10、Windows 10 Mobile、Windows 10 IoT Core、Windows Server 2016 TP
2.0Windows 8.1 WDKWindows 8.1Windows 8.1以降
1.11Windows 8 WDKWindows 8Windows Vista以降
1.9Windows 7 WDKWindows 7Windows XP以降
1.7Windows Server 2008 WDKWindows Vista SP1, Windows Server 2008Windows XP以降
1.5Windows Vista WDKWindows VistaWindows XP以降
閉じる

アーキテクチャ

UMDF 1.0のドライバーは、マイクロソフトのComponent Object Model (COM) に基づいたDLLである。ただし、UMDFはロード、アンロード、または同時並行性 (concurrency) を制御するためにCOMを使用しているわけではない。プログラミングパターンとしてのみCOMを使用している。例えば、COMのIUnknownインターフェイスの利用などである。起動時に、UMDFドライバーはDllGetClassObjectを呼び出してIClassFactoryインターフェイスへのポインタを取得し、その後IClassFactoryインターフェイスのCreateInstanceメソッドを使用してドライバーコールバックオブジェクトのインスタンスを作成する。

ドライバーオブジェクトは、フレームワークが提供するIWDFDriverインターフェイスのインスタンスである。ドライバーは、IDriverEntryインターフェイスを介して、コールバックのセットを提供する。これはドライバーのカスタマイズのための主要なエントリポイントとなる。

Windowsドライバー開発には通例C言語が用いられるが、UMDFではC++言語を使ってドライバー開発を行なうことができる[6]

関連項目

脚注

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.