| ユーザーモードドライバーフレームワーク(UMDF) | |
|---|---|
| 開発者 | マイクロソフト |
| 初回リリース | 2004年10月12日 (2004年10月12日) |
| 安定版リリース | 2.27 / 2019年3月24日 ( 2019-03-24 ) |
| リポジトリ | github |
| 書かれた | C、C++ |
| オペレーティング·システム | マイクロソフトウィンドウズ |
| タイプ | デバイスドライバ開発プラットフォーム |
| ライセンス | MITライセンス |
| Webサイト | docs |
ユーザーモードドライバフレームワーク(UMDF )は、 MicrosoftのWindows Vistaオペレーティングシステムで初めて導入されたデバイスドライバ開発プラットフォームであり、Windows XPでも利用可能です。UMDFは、特定のデバイスクラス向けのドライバ開発を容易にします。[ 1 ]
概要
標準デバイス ドライバは、特にマルチスレッド ソフトウェア環境では、非常に広範囲のシステムおよびデバイスの状態を処理する必要があるため、作成が困難な場合があります。すべての標準ドライバはカーネルに直接アクセスするときに高い権限を持っているため、不適切に作成されたデバイス ドライバは、システムに重大な損害 ( BSoDやデータ破損など) を引き起こす可能性があります。ユーザー モード ドライバ フレームワークは、直接ドライバ アクセスの問題からカーネルを切り離し、代わりに割り込みおよびメモリ管理のユーザー レベルで専用のアプリケーション プログラミング インターフェイスを備えた新しいクラスのドライバを提供します。エラーが発生した場合、この新しいフレームワークにより、システムに影響を与えることなく、ドライバを直ちに再起動できます。これは、断続的にシステムに接続されるデバイスや、USBやFireWireなどのバス テクノロジを介したホットスワップをサポートするデバイスに特に便利です。
マイクロソフトによれば、UMDFドライバはカーネルモードドライバよりも記述とデバッグが簡単である。[ 2 ] しかし、UMDFはパフォーマンス重視のデバイスや高度なステートフルデバイスには使用されない。
UMDFの最初のバージョンは、 2004年10月12日にWindows Media Playerバージョン10の一部として出荷されました。コードネーム「Crescent」と呼ばれたこのバージョンは、メディア転送プロトコル(MPP)ドライバのサポートを目的として設計されましたが、公開インターフェースやドキュメントは提供されていませんでした。その後、MicrosoftはUMDFをデバイスドライバ開発プラットフォームへと転換することを決定しました。[ 3 ]
バージョン履歴
- ユーザー モード ドライバー フレームワーク 1.5-1.9、Windows XP以降をサポートします。
- ユーザーモードドライバーフレームワーク1.11は、Windows Vista以降およびWindows Server 2008以降をサポートしています。[ 4 ]
- Windows 8.1以降をサポートするユーザーモードドライバーフレームワーク2.0 。 [ 5 ]
建築
UMDFドライバーは、Microsoftのコンポーネントオブジェクトモデル(COM)に基づくDLLです。ただし、UMDFはCOMをロード、アンロード、または同時実行制御には使用しません。COMはプログラミングパターンとしてのみ使用し、例えばCOMのIUnknownインターフェイスを利用します。起動時に、UMDFはDllGetClassObjectを呼び出してドライバー内のIClassFactoryインターフェイスへのポインタを取得し、IClassFactoryインターフェイスのCreateInstanceメソッドを使用してドライバーコールバックオブジェクトのインスタンスを作成します。
ドライバーオブジェクトは、フレームワークが提供するIWDFDriverインターフェースのインスタンスです。ドライバーは、ドライバーカスタマイズのメインエントリポイントである IDriverEntry COMインターフェースを介して一連のコールバックを提供します。
参照
- Windows ドライバー フレームワーク(WDF)
- カーネルモード ドライバー フレームワーク(KMDF)
参考文献
- ^ UMDF 用プログラミングドライバー
- ^ 「UMDF ドライバーを作成する利点」。
- ^ Charles Torre、Peter Wieland (2006年9月18日). 「Peter Wieland: ユーザーモードドライバーフレームワーク」 . Channel 9. Microsoft . 2006年9月18日閲覧。
- ^ Microsoft サポート。「Windows Vista、Windows Server 2008、Windows 7、および Windows Server 2008 R2 用のユーザーモード ドライバー フレームワーク バージョン 1.11 更新プログラム」。Microsoft。2012年 12 月 1 日閲覧。
- ^ 「ユーザーモードドライバーフレームワークに関するよく寄せられる質問(Windowsドライバー)」。Microsoft 。 2014年6月4日閲覧。
外部リンク
- 公式サイト
- Peter Wieland のブログ– Microsoft UMDF チームの開発リーダー