SetSystemFileCacheSize 函式 (memoryapi.h)

限制檔案系統快取的工作集大小。

語法

BOOL SetSystemFileCacheSize(
  [in] SIZE_T MinimumFileCacheSize,
  [in] SIZE_T MaximumFileCacheSize,
  [in] DWORD  Flags
);

參數

[in] MinimumFileCacheSize

檔案快取的大小下限,以位元組為單位。 虛擬記憶體管理員會嘗試將這多部記憶體保留在系統檔案快取中。

若要排清快取,請指定 (SIZE_T) -1

[in] MaximumFileCacheSize

檔案快取的大小上限,以位元組為單位。 只有在此呼叫或 先前對 SetSystemFileCacheSize 的呼叫指定 FILE_CACHE_MAX_HARD_ENABLE時,虛擬記憶體管理員才會強制執行此限制。

若要排清快取,請指定 (SIZE_T) -1

[in] Flags

啟用或停用檔案快取限制的旗標。 如果此參數為 0 (零) ,大小限制會保留目前設定,這是停用或啟用的。

意義
FILE_CACHE_MAX_HARD_DISABLE
0x2
停用大小上限。

FILE_CACHE_MAX_HARD_DISABLEFILE_CACHE_MAX_HARD_ENABLE旗標互斥。

FILE_CACHE_MAX_HARD_ENABLE
0x1
啟用大小上限。

FILE_CACHE_MAX_HARD_DISABLEFILE_CACHE_MAX_HARD_ENABLE旗標互斥。

FILE_CACHE_MIN_HARD_DISABLE
0x8
停用大小下限。

FILE_CACHE_MIN_HARD_DISABLEFILE_CACHE_MIN_HARD_ENABLE旗標互斥。

FILE_CACHE_MIN_HARD_ENABLE
0x4
啟用最小大小限制。

FILE_CACHE_MIN_HARD_DISABLEFILE_CACHE_MIN_HARD_ENABLE旗標互斥。

傳回值

如果函式成功,則傳回值是非零值。

如果函式失敗,傳回值為 0 (零) 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

呼叫進程必須啟用 SE_INCREASE_QUOTA_NAME 許可權。

MaximumFileCacheSize 參數設定為非常低的值可能會對系統效能造成負面影響。

若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為 0x0502 或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

從 Windows SDK for Windows Server 2008 開始,windows 標頭檔會定義 FILE_CACHE_* 常數。 如果您使用舊版 SDK 中的標頭檔,請將下列定義新增至您的程式碼。

#ifndef FILE_CACHE_FLAGS_DEFINED

#define FILE_CACHE_MAX_HARD_ENABLE      0x00000001
#define FILE_CACHE_MAX_HARD_DISABLE     0x00000002
#define FILE_CACHE_MIN_HARD_ENABLE      0x00000004
#define FILE_CACHE_MIN_HARD_DISABLE     0x00000008

#endif // FILE_CACHE_FLAGS_DEFINED

需求

   
最低支援的用戶端 Windows Vista、Windows XP Professional x64 Edition [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008、Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 memoryapi.h (包括 Windows.h、Memoryapi.h)
程式庫 onecore.lib
DLL Kernel32.dll

另請參閱

GetSystemFileCacheSize

記憶體管理功能