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 (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另请参阅

CcCoherencyFlushAndPurge

CcPurgeCacheSection

CcSetFileSizesEx

mmFlushImagesection