Windows Driver Kit に WDM カーネル モード ドライバー テンプレートがないのはなぜですか?
-
21-12-2019 - |
質問
私は経験がほとんどないカーネル モード ドライバーに遭遇しました。私がやろうとしていることは次のとおりです。
- ドライバーをロードするユーザーモード アプリケーションを用意します。
- ユーザーモード アプリケーションに命令を送信するために、それに書き込むようにします。
- ドライバーに RDMSR 命令を Intel チップに送信させます。
- 結果をユーザーモード アプリケーションに返します。
もう読んだ この記事 この動作を実現するさまざまな方法 (バッファ I/O、ダイレクト I/O、またはその両方) について説明します。
私の問題はこれです...この記事には、 WDM Windows Driver Kit を使用して WDM KMDF プロジェクト テンプレートを作成できると期待していましたが、Windows Driver Kit (WDK) をダウンロードしたとき、唯一の KMDF ドライバー テンプレートは WDF 運転者。 MSDN には 2 つの違いについて説明した記事があります。. 。これは私にはちょっと奇妙です。リンクした記事のように機能するように変更できるテンプレートがすぐに提供されることを期待していましたが、それが表示されません。WDM KMDF ドライバーのテンプレートがないのはなぜですか?
追加の注記に基づいて、ドライバーの種類を非常に簡単に判断できます。 デバイスの作成方法 (IoCreateDevice は WDM を意味しますが、WdfDeviceCreate は WDF を意味します)。
解決
質問には矛盾がたくさんあります。初めに、 KMDF
のサブセットです WDF
(そしてそれが唯一の関連性があります WDF
カーネルドライバーについて話すときの部分)、この 2 つの間に矛盾はありません。すべてのカーネル ドライバーは本質的に WDM
運転者。 KMDF
のフレームワークです WDM
そして KMDF
ドライバーは通常、そう呼ばれます。 KMDF
ドライバー、言及せずに WDM
. WDM
ドライバーは通常、追加のフレームワークを使用しないドライバーを指します。 KMDF
. 。2番、 WDK
VS2012/2013 と統合されているため、テンプレートを入手するには、WDK に加えてそれをインストールする必要があります。三番目、 WDM
テンプレートはリストに表示されます。お持ちでない場合は、再インストールすることをお勧めします WDK
そして VS
.