テクニカル ドキュメント #103



Doc ID: 103
製品: WinDriver
Version:  --

割り込み処理中にディスク ファイルに書き込みはできますか?

はい。WinDriver を使用して、ユーザーモードで割り込みサービス ルーチン (ISR) を実装できます。そのため、ISR 内ですべてのライブラリ関数の呼び出しが可能です。

WinDriver の Kernel PlugIn 機能を使用して、カーネルで ISR を実装する場合、標準的なユーザーモードのファイル I/O 機能を使用することは出来ません。ユーザーモード ISR のファイル I/O 処理を残し、数回の割り込みで 1 回のみユーザー モード割り込みルーティンを実行するように割り込み処理のコードを実装できます (割り込みのカウンタをモニタするサンプルがあります。WinDriver Kernel PlugIn のサンプル WinDriver/kerplug/kermode/kptest.c を参照してください)。ユーザー モードのファイル I/O のコードを OS の特定の関数 (カーネル レベルで呼び出されます。たとえば、Windows DDK の ZwCreateFile()、ZwWriteFile() および ZwReadFile() 関数) への呼び出しに交換します。ただし、これによって、ドライバのクロス プラットフォーム間の移植性が低減されます。