私はカーネルモードとユーザーモードからの通信について認識していますが、イベント/反転呼び出しも認識していますが、文字列値をユーザーモードプロセスに送信する必要がありますカーネルモードのデバイスドライバを起動し、KMで応答を待つ(TRUEまたはFALSE BOOLEANなど)。カーネルモードからユーザーモードへの通信
"c:\ file.txt"という文字列を使用してください。今度は、この文字列をユーザーモードに送信するためにKMデバイスドライバが必要であり、そのUMプログラムがドライバの処理にTRUEまたはFALSE応答を返送するようにします。
私は多くのウェブサイトのトピック/記事、ドキュメントのサンプルを読んできましたが、探しているものが見つかりませんでした。
私は多分私は データが降りてくると応答が戻されるまで、KMに、私は何とか一時停止のためだけ連続して待ってユーザーモードのプログラムでのセットアップスレッドを...わからなかったことを考えていた助けていただければ幸いです。
ようこそスタックオーバーフロー。現在のフォームの投稿が不明瞭で、Stack Overflowには適していません。 [ヘルプセンター](http://stackoverflow.com/help)にアクセスし、[よく質問する方法]セクション(http://stackoverflow.com/help/how-to-ask)を読んでください。 –
標準的な方法はIOCTLです。ユーザーモード呼び出しは、DeviceIoControl関数です。これを別のスレッドで呼び出すか、非同期I/Oを使用することができます。カーネルモードドライバが到着したときにそのような要求を処理する方法の1つは、手動ディスパッチ方法を使用するように構成された別のキューにキューを再キューすることです。そのようにして、メッセージをユーザーモードに送信する必要があるときは、保留中の要求をWdfIoQueueRetrieveNextRequestを使用してキューから取り出し、通常の方法で完了させるだけです。 –
...ドライバからのメッセージにはおそらく何らかのID番号が含まれているはずです。そのため、ユーザモードプログラムがIOCTLを送信して「真」または「偽」と言うときにID番号を含めることができるので、 IOCTLが応答しているメッセージ。 –