私はWindows 7カーネルドライバを作成中です。今日は、ディスプレイからデバッグ情報を出力させたいのですが。今私はDbgPrintまたはKdPrintの関数を使うことができますが、文字列やその他のものを直接モニタに出力したいと考えています。このようにして、デバッグビューを起動して出力を確認する必要はありません。これは教育訓練としても役立ちます。Windows - カーネルドライバを使用して直接ビデオディスプレイに書き込みますか?
私が理解しているように、私は表示のためにフレームバッファにアクセスし、それに自分の値を書き込む必要がありますか?しかし、私はこれを行う方法の手がかりがありません。基本的には、何かをモニターに直接書き込めるようにしたいので、ウィンドウが表示しているものと重なることになります。私はこれが奇妙に聞こえるかもしれないことを知っていますが、ただ楽しみのためだけです。
主要な目標は、カーネルのドライバからこれを行うことです。ユーザーランドプロセスの内部ではありません。私は640x480の解像度を使いたいだけです。それ以上のものはありません。私が正しく理解すれば、これ以上のものは私の現在のビデオカードのために私自身のディスプレイドライバを書く必要があります。
私のシステムのセットアップ:あなたのすべてのための3.00Ghz @ のWindows 7 SP1 x86の のIntel Pentium 4 のNVIDIA GeForce FX 5200
おかげで、事前に役立ちます!
カーネルモードでディスプレイドライバをどうやって使うのですか? – DD314
可能であれば、ユーザーランドの通常のウィンドウAPIを使用します。それはあなたが通常これを扱う方法です:ユーザランドでデーモンを実行し、カーネルドライバに実際に付いているものからの読み込みをブロックし、表示させるとすぐに、読者に知らせてください。 –
通常、私はWindows APIを使用します。実際には、これを行うためにDirect2D、つまりGDIを使用します。しかし、わかりやすいように、私はカーネルモードで表示操作を行います。この方法で、私はユーザーランドのアプリケーションとそれに関連付けられたコードのための別のプロジェクトを持つ必要はありません。視覚的に私に物事を報告することができるただ一つのドライバーになります。 – DD314