mmFlushImageSection ルーチンは、ファイルのイメージ セクションをフラッシュします。
構文
BOOLEAN MmFlushImageSection(
PSECTION_OBJECT_POINTERS SectionObjectPointer,
[in] MMFLUSH_TYPE FlushType
);
パラメーター
SectionObjectPointer
ファイル オブジェクトのセクション オブジェクト ポインターを含む構造体へのポインター。
[in] FlushType
フラッシュ操作の理由を指定します。 次の表に示す値のいずれかを指定できます。
FlushType 値 | 意味 |
---|---|
mmFlushForDelete を する | ファイルが削除されています。 |
mmFlushForWrite を する | ファイルが書き込みアクセス用に開かれています。 |
戻り値
MmFlushImageSection は、フラッシュ操作が成功した場合、またはファイル イメージ セクションが存在しない場合に TRUE を返します。それ以外の場合 mmFlushImageSection は FALSE 返します。
備考
ファイル システムは、ファイルを削除するか、書き込みアクセス用にファイルを開く前に、MmFlushImageSection ルーチンを呼び出す必要があります。
ファイルを削除する前に、ファイル システムは、IRP_MJ_SET_INFORMATIONまたはIRP_MJ_CLEANUPディスパッチ ルーチンから MmFlushImageSection を呼び出し、FlushType パラメーター mmFlushForDelete を渡す必要があります。
書き込みアクセス用にファイルを開くときに、ファイル システムは、IRP_MJ_CREATE ディスパッチ ルーチンから MmFlushImageSection を呼び出し、FlushType パラメーター mmFlushForWrite を渡す必要があります。
イメージ セクションのマップされたビューがない場合は、mmFlushImageSection イメージ セクションが破棄され、使用されているページがフリー リストに返されます。
MmFlushImageSectionを使用する前に、ファイル システム ライターは FASTFAT サンプルでこのルーチンを使用する方法を検討することを強くお勧めします。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | 万国 |
ヘッダー | ntifs.h (Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |