Функция CcSetCacheFileSizes (ntifs.h)

Функция CcSetCacheFileSizes задает размеры файлов диспетчера кэша по указателям на объекты раздела.

Синтаксис

NTSTATUS CcSetCacheFileSizes(
  [in] PSECTION_OBJECT_POINTERS SectionObjectPointer,
  [in] PCC_FILE_SIZES           FileSizes
);

Параметры

[in] SectionObjectPointer

Указатель на структуру SECTION_OBJECT_POINTERS , содержащую сведения об объекте раздела.

[in] FileSizes

Указатель на структуру CC_FILE_SIZES , указывающую размер файла для задания.

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

CcSetCacheFileSizes возвращает STATUS_SUCCESS, если размер файла был успешно изменен, и если очистка была необходима для успешной очистки. В противном случае он возвращает неуспешный код NSTATUS, например STATUS_INSUFFICIENT_RESOURCES, и может вызвать исключение состояния.

Что касается создания исключения состояния при ошибке:

  • Если операция приводит к очистке и очистке файла в CcSetCacheFileSizes , CcSetCacheFileSizes не будет вызывать ошибки; он просто возвращает соответствующий код NTSTATUS для операции очистки или очистки.

  • Если операция приводит к расширению раздела в CcSetCacheFileSizes , то CcSetCacheFileSizes будет вызываться при любой ошибке, с помощью этого расширения.

Комментарии

Если операция приводит к расширению раздела в CcSetCacheFileSizes и происходит сбой, CcSetCacheFileSizes создает исключение состояния для конкретного сбоя. Например, если происходит сбой выделения пула, CcSetCacheFileSizes вызывает исключение STATUS_INSUFFICIENT_RESOURCES. Поэтому, чтобы получить контроль в случае сбоя, драйвер должен заключить вызов CcSetCacheFileSizes в инструкцию try-except или try-finally .

Файловая система должна убедиться, что карта кэша действительна и будет оставаться в ней на протяжении всего вызова.

Чтобы получить размер кэшированного файла, передайте SectionObjectPointer в CcGetCacheFileSize.

Требования

Требование Значение
Минимальная версия клиента Windows 11 версии 22H2
Верхняя часть ntifs.h

См. также раздел

CcGetCacheFileSize

CcSetFileSizesEx