mmCanFileBeTruncated 函数 (ntifs.h)

MmCanFileBeTruncated 例程检查是否可以截断文件。

语法

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

参数

[in] SectionPointer

指向结构的指针,该结构包含文件对象的节对象指针。

[in, optional] NewFileSize

指向变量的指针,该变量指定要截断文件的大小(以字节为单位)。 如果此参数为 NULL,则假定长度为零, MmCanFileBeTruncated 检查是否可以截断整个文件。

返回值

如果文件可以截断,则 MmCanFileBeTruncated 返回 TRUE;否则为 FALSE。

注解

在截断文件之前,必须始终调用 MmCanFileBeTruncated

(无法截断文件,如果以下任一情况成立, MmCanFileBeTruncated 将返回 FALSE) :

  • 文件存在图像部分。

  • 文件的数据部分存在一个或多个未完成的写入探测。

  • 在 NewFileSize 确定的截断范围内,有文件数据部分的映射视图。

  • 一个或多个用户保存对文件的数据部分的引用, NewFileSize<= 当前文件大小。

要求

要求
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

CcCoherencyFlushAndPurge

CcPurgeCacheSection

CcSetFileSizesEx

mmFlushImageSection