Windows キーボード フィルター ドライバーに取り組んでおり、ファイルに書き込む必要があります。zwcreate、zwwrite、および zwclose を使用してみましたが、ドライバーが PASSIVE_LEVEL で実行されておらず、BSOD が発生しました。これまで Windows ドライバーを作成したことがありません。助けてくれてありがとう!
編集: ありがとう、J. Passing!
ワークアイテム (IoAllocateWorkItem/IoQueueWorkItem) をスケジュールし、ワークアイテム コールバック ルーチン内からすべてのファイル I/O を処理します。
そもそもカーネルドライバーにファイルへの書き込みを許可するのが良い考えかどうかはわかりません。私見を行うための最良の方法は、ドライバーと通信し、データを取得してからディスクに書き込むユーザー空間プログラムを提供することです。
これは Unix には当てはまりますが、Windows には当てはまりません。
Zw-Tools を使用してデバイス ドライバーからファイルを書き込む素晴らしい例は、rootkit.com にある Clandestiny のKlogです。それは現在私を大いに助けています。
そしてまあ、ドライバーから直接古典的なユーザーランド作業 (ファイル/ネット/...-アクセス) を行うことはお勧めできないという Johannes の意見にちょっと同意します。エラーが発生しやすいだけでなく、将来、予測できないほど壊れる可能性もあります。通常、ユーザー インターフェイスははるかに安定しており、弾力性があります。