1

私は kmdf ボリューム フィルター ドライバーに取り組んでおり、シャットダウンを処理したいと考えていました。WDFブックの記事WDM IRPとKMDFイベントコールバックとコメントは、WDFがコントロール(非PNP)デバイスに対してのみIRP_MJ_SHUTDOWNをサポートしていることを示唆しているようです。そのため、制御オブジェクトの呼び出しを追加WdfControlDeviceInitSetShutdownNotification(WdfDeviceShutdown)し、シャットダウン時にファイルを同じボリュームに保存できるようにしました。ただし、フラッシュの前に呼び出されるドキュメント sysWdfDeviceShutdownは表示されません。EvtDeviceWdmIrpPreprocess(IRP_MJ_FLUSH) を使用してフラッシュのコールバックを行いました。Dbg print を見ると、コールバックの前に常にフラッシュ コールバックが表示されWdfDeviceShutdownます。

私は何かが欠けているのだろうか。この動作に関するコメントは、これをよりよく理解するのに役立ちます。制御デバイスがファイル システムより下のボリューム フィルター レベルにあるため、以前にフラッシュが発生していました。そのため、エグゼクティブはデバイスを閉じる/通知する前にファイル システム バッファーをフラッシュします。

注: ) を使用すると、ファイルに書き込もうとするとWdfControlDeviceInitSetShutdownNotification(WdfDeviceLastChanceShutdownエラーが発生します。0xc0000189 (STATUS_TOO_LATE)

4

0 に答える 0