共用方式為


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<= 目前的檔案大小。

規格需求

需求
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL < DISPATCH_LEVEL

另請參閱

CcCoherencyFlushAndPurge

CcPurgeCacheSection

CcSetFileSizesEx

MmFlushImageSection