次の方法で共有


MmFlushImageSection 関数 (ntifs.h)

mmFlushImageSection ルーチンは、ファイルのイメージ セクションをフラッシュします。

構文

BOOLEAN MmFlushImageSection(
       PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in] MMFLUSH_TYPE             FlushType
);

パラメーター

SectionObjectPointer

ファイル オブジェクトのセクション オブジェクト ポインターを含む構造体へのポインター。

[in] FlushType

フラッシュ操作の理由を指定します。 次の表に示す値のいずれかを指定できます。

FlushType 値 意味
mmFlushForDelete する ファイルが削除されています。
mmFlushForWrite する ファイルが書き込みアクセス用に開かれています。

戻り値

MmFlushImageSection は、フラッシュ操作が成功した場合、またはファイル イメージ セクションが存在しない場合に TRUE を返します。それ以外の場合 mmFlushImageSection は FALSE 返します。

FlushType MmFlushForDelete 値が指定されていて、ファイルのデータ セクションに未処理の書き込みプローブが 1 つ以上ある場合、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

関連項目

CcPurgeCacheSection