次の方法で共有


CcSetFileSizes 関数 (ntifs.h)

CcSetFileSizes ルーチンは、サイズが変更されたキャッシュ ファイルのキャッシュ マップとセクション オブジェクトを更新します。 代わりに CcSetFileSizesEx を使用してください。NTSTATUS リターン コードと、エラー処理に関するより優れたガイダンスが提供されるためです。

構文

void CcSetFileSizes(
  [in] PFILE_OBJECT   FileObject,
  [in] PCC_FILE_SIZES FileSizes
);

パラメーター

[in] FileObject

キャッシュされたファイルのファイル オブジェクトへのポインター。

[in] FileSizes

新しいファイル サイズ情報を含む CC_FILE_SIZES 構造体へのポインター。

戻り値

何一つ

備考

キャッシュされたファイルに対して次のいずれかの変更が行われた場合、ファイル システムは、CcSetFileSizesEx または CcSetFileSizes を呼び出してキャッシュ マネージャーのデータ構造を更新する必要があります。

  • 割り当てサイズが大きくなります。

  • 有効なデータ長が減少します。

  • その有効なデータ長は、キャッシュされていない I/O 操作によって増加します。

  • ファイル サイズが増減されます。

エラーが発生した場合、ccSetFileSizes 、その特定のエラーの状態例外が発生します。 たとえば、プールの割り当てエラーが発生した場合、ccSetFileSizes STATUS_INSUFFICIENT_RESOURCES例外が発生します。 したがって、エラーが発生したかどうかを制御するには、ドライバーは、try-except または try-finally ステートメントで CcSetFileSizes の呼び出し ラップする必要があります。

ファイル システムは、キャッシュ マップが有効であり、この呼び出しの間は有効なままであることを確認する必要があります。

ファイルをキャッシュするには、ccInitializeCacheMap使用します。

キャッシュされたファイルのサイズを取得するには、FileObject を ccGetFileSizePointer渡します。

必要条件

要件 価値
ターゲット プラットフォーム の 万国
ヘッダー ntifs.h (Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe

関連項目

ccInitializeCacheMap の

ccSetFileSizesEx の