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 (零) ,大小限制會保留目前設定,這是停用或啟用的。
傳回值
如果函式成功,則傳回值是非零值。
如果函式失敗,傳回值為 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 |