Поделиться через


Функция 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_DISABLE и FILE_CACHE_MAX_HARD_ENABLE являются взаимоисключающими.

FILE_CACHE_MAX_HARD_ENABLE
0x1
Включите максимальный размер.

Флаги FILE_CACHE_MAX_HARD_DISABLE и FILE_CACHE_MAX_HARD_ENABLE являются взаимоисключающими.

FILE_CACHE_MIN_HARD_DISABLE
0x8
Отключите минимальный размер.

Флаги FILE_CACHE_MIN_HARD_DISABLE и FILE_CACHE_MIN_HARD_ENABLE являются взаимоисключающими.

FILE_CACHE_MIN_HARD_ENABLE
0x4
Включите минимальный размер.

Флаги FILE_CACHE_MIN_HARD_DISABLE и FILE_CACHE_MIN_HARD_ENABLE являются взаимоисключающими.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет ненулевым.

Если функция завершается сбоем, возвращаемое значение равно 0 (ноль). Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Процесс вызова должен включать привилегию SE_INCREASE_QUOTA_NAME .

Установка очень низкого значения параметра MaximumFileCacheSize может отрицательно сказаться на производительности системы.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0502 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Константы FILE_CACHE_* будут определены в файлах заголовков Windows, начиная с windows SDK для Windows Server 2008. Если вы используете файлы заголовков из более ранней версии пакета 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 с пакетом обновления 1 (SP1) [только классические приложения]
Целевая платформа Windows
Header memoryapi.h (включая Windows.h, Memoryapi.h)
Библиотека onecore.lib
DLL Kernel32.dll

См. также

GetSystemFileCacheSize

Функции управления памятью