Функция 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