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

Подпрограмма MmCanFileBeTruncated проверяет возможность усечения файла.

Синтаксис

BOOLEAN MmCanFileBeTruncated(
  [in]           PSECTION_OBJECT_POINTERS SectionPointer,
  [in, optional] PLARGE_INTEGER           NewFileSize
);

Параметры

[in] SectionPointer

Указатель на структуру, содержащую указатели на объект section объекта файла.

[in, optional] NewFileSize

Указатель на переменную, указывающую размер в байтах, до которого должен быть усечен файл. Если этот параметр имеет значение NULL, то предполагается, что длина равна нулю, и MmCanFileBeTruncated проверяет, можно ли обрезать весь файл.

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

MmCanFileBeTruncated возвращает значение TRUE, если файл может быть усечен; В противном случае — FALSE.

Комментарии

Перед усечением файла необходимо всегда вызывать MmCanFileBeTruncated.

Невозможно усечение файла (и MmCanFileBeTruncated возвращает значение FALSE), если выполняется какое-либо из следующих значений:

  • Для файла существует раздел изображения.

  • В разделе данных файла есть одна или несколько невыполненных проб записи.

  • Существует сопоставленное представление раздела данных файла в диапазоне усечения, определяемом newFileSize.

  • Один или несколько пользователей содержат ссылки на раздел данных для файла, а NewFileSize< = текущий размер файла.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

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

CcCoherencyFlushAndPurge

CcPurgeCacheSection

CcSetFileSizesEx

MmFlushImageSection