UMDF 2 の機能と KMDF の比較

このトピックでは、カーネルモード ドライバー フレームワーク (KMDF) ドライバーで使用できる機能と、ユーザーモード ドライバー フレームワーク (UMDF) 2 ドライバーで使用できる機能を比較します。 UMDF 2 ドライバーと KMDF ドライバーのどちらを作成するかを決定するのに役立ちます。

UMDF バージョン 2 には、以前は KMDF ドライバーでしか使用できなかった機能の大幅なサブセットが用意されていますが、次の機能は KMDF ドライバーでしか使用できません。 ドライバーにこれらの機能のいずれかが必要な場合は、KMDF ドライバーを記述する必要があります。

機能 関連情報
ダイレクト メモリ アクセス (DMA) KMDF ドライバーでの DMA 操作の処理
バス列挙 バス上のデバイスの列挙
機能電源の状態 (UMDF では制限付きサポートが利用可能) 機能電源状態のサポート
WDM オブジェクトと IRP へのアクセス WDM の情報の取得
バッファー I/O でもダイレクト I/Oでもないもの

WDF ドライバーでのデータ バッファーへのアクセス

キューに入れる前に I/O 要求をインターセプトする

内部デバイス制御要求 (IOCTL)

I/O 要求の同期送信

I/O 要求の非同期送信

I/O 要求のロック オプトインの削除 WdfDeviceInitSetRemoveLockOptions
WMI KMDF ドライバー用の WMI の概要

ドライバーが上記をどれも必要としない場合は、KMDF を使用する代わりに UMDF 2 ドライバーを作成できます。 2 つのフレームワークは多くのインターフェイスを共有するため、必要に応じて後でドライバーを KMDF に変換できます。 UMDF を選択する理由については、「UMDF ドライバーを記述する利点」を参照してください。

フレームワーク オブジェクトと KMDF および UMDF でサポートされているオブジェクトの詳細については、「フレームワーク オブジェクトの概要」を参照してください。

すべての Windows Driver Framework (WDF) コールバックとメソッド、およびそのフレームワークの適用性を示す表については、「WDF コールバックとメソッドの概要」を参照してください。