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