2


1

私は窓のキーボードフィルタドライバに取り組んでいます、そして私はファイルに書く必要があります。 zwcreate、zwwrite、およびzwcloseを使用しようとしましたが、ドライバがPASSIVE_LEVELで実行されていないため、BSODを取得しました。 私は今まで一度もWindowsドライバを書いたことがありません。 助けてくれてありがとう!

編集:ありがとうJ. 通過!

2 Answer


3


ワークアイテム(IoAllocateWorkItem / IoQueueWorkItem)をスケジュールし、ワークアイテムコールバックルーチン内からすべてのファイルI / Oを処理します。

_ そもそもカーネルドライバーにファイルへの書き込みを許可するのが良い考えかどうかはわかりません。 そのための最善の方法は、ドライバと通信し、データを取得してそれをディスクに書き込むユーザースペースプログラムを提供することです。 _

これはUNIXには当てはまりますが、Windowsには当てはまりません。


0


Zw-Toolsを使用してデバイスドライバからファイルを書き込むための素晴らしい例は、ClandestinyのKlogです。 それは現在私を大いに助けています。

それに、ヨハネスとはちょっと一致していますが、古典的なユーザランド作業(ファイル/ネット/…​-アクセス)をドライバから直接行うことはお勧めできません。 エラーが発生しやすいだけでなく、将来的には予測できなくなる可能性もあります。 ユーザーインターフェイスは通常、はるかに安定した回復力があります。