次の共用体コンポーネントは、操作のFLT_IO_PARAMETER_BLOCK構造体の MajorFunction フィールドがIRP_MJ_RELEASE_FOR_MOD_WRITEされるときに使用されます。
構文
typedef union _FLT_PARAMETERS {
... ;
struct {
PERESOURCE ResourceToRelease;
} ReleaseForModifiedPageWriter;
... ;
} FLT_PARAMETERS, *PFLT_PARAMETERS;
メンバー
ReleaseForModifiedPageWriter: 次のメンバーを含む構造体。
ResourceToRelease: 解放するリソースへのポインター。
注釈
IRP_MJ_RELEASE_FOR_MOD_WRITE操作のFLT_PARAMETERS構造体には、コールバック データ (FLT_CALLBACK_DATA) 構造体で表される ReleaseForModifiedPageWriter 操作のパラメーターが含まれています。 これは、FLT_IO_PARAMETER_BLOCK構造に含まれています。
IRP_MJ_RELEASE_FOR_MOD_WRITEは、ファイル システム (FSFilter) コールバック操作です。
IRP_MJ_RELEASE_FOR_MOD_WRITEは通常、特別なカーネル APC の一部として、変更されたページ ライターから呼び出されます。 IRQL = APC_LEVELで常に実行されます。 特殊なカーネル APC のコンテキストで呼び出される可能性があるため、IRQL = PASSIVE_LEVEL で実行されるカーネル モード コード (ユーザー API と通常のカーネル API の両方を含む) をプリエンプションできます。 そのため、IRP_MJ_RELEASE_FOR_MODE_WRITE操作が割り込まれた可能性があるスレッドによって保持される可能性があるリソースを待機するときは注意してください。 このようなリソースを待機しようとすると、デッドロックが発生する可能性があります。
FSFilter コールバック操作の詳細については、 FsRtlRegisterFileSystemFilterCallbacks のリファレンス エントリを参照してください。
必要条件
要件タイプ | 要件 |
---|---|
ヘッダ | Fltkernel.h ( Fltkernel.h を含む) |