次の方法で共有


CcPurgeCacheSection 関数 (ntifs.h)

CcPurgeCacheSection ルーチンは、キャッシュされたファイルの全部または一部をシステム キャッシュから消去します。

構文

BOOLEAN CcPurgeCacheSection(
  [in]           PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in, optional] PLARGE_INTEGER           FileOffset,
  [in]           ULONG                    Length,
                 ULONG                    Flags
);

パラメーター

[in] SectionObjectPointer

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

[in, optional] FileOffset

データを消去するキャッシュ ファイル内の開始バイト オフセットを指定する変数へのポインター。

FileOffsetNULL の場合、ファイル全体がキャッシュから消去されます。

FileOffsetNULL でない場合は、FileOffsetLength で指定されたバイト範囲のみが消去されます。

[in] Length

消去するバイト範囲の長さ ( FileOffset 以降)。 Length が 0 の場合、FileOffset からファイルの末尾までの範囲が消去されます。 FileOffsetNULL の場合、Length は無視されます。

Flags

ファイル データを消去する前に、ファイルのプライベート キャッシュ マップを初期化解除するには 、TRUE に 設定します。

戻り値

CcPurgeCacheSection は、キャッシュされたファイル データが正常に消去された場合は TRUE を返し、それ以外の場合は FALSE を 返します。

注釈

ファイル システムは CcPurgeCacheSection を呼び出して、古いデータをキャッシュから消去します。 たとえば、ファイルが切り捨てられ、削除されていない場合は、ファイルの一部ではないキャッシュされたデータを消去するために CcPurgeCacheSection を呼び出す必要があります。

CcPurgeCacheSection では、マップされたファイルは消去されません。

CcPurgeCacheSection を呼び出す前に、呼び出し元はファイルを排他的に取得し、呼び出し元を含むスレッドがファイル内のバイト範囲をマップまたは固定しないようにする必要があります。

要件

要件
対象プラットフォーム ユニバーサル
Header ntifs.h (Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL < DISPATCH_LEVEL

こちらもご覧ください

CcFlushCache

CcInitializeCacheMap

CcIsFileCached

CcUninitializeCacheMap

MmFlushImageSection