共用方式為


FILE_DISPOSITION_INFORMATION_EX 結構 (ntddk.h)

FILE_DISPOSITION_INFORMATION_EX 結構會當做 ZwSetInformationFile 例程的自變數使用,並指出操作系統應該如何刪除檔案。

語法

typedef struct _FILE_DISPOSITION_INFORMATION_EX {
  ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;

成員

Flags

指定系統在刪除時,應該對特定檔案採取的動作。

旗標名稱 意義
FILE_DISPOSITION_DO_NOT_DELETE 0x00000000 指定系統不應該刪除檔案。
FILE_DISPOSITION_DELETE 0x00000001 指定系統應該刪除檔案。
FILE_DISPOSITION_POSIX_SEMANTICS 0x00000002 指定系統應該執行 POSIX 樣式的刪除。 如需詳細資訊,請參閱。
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK 0x00000004 指定系統應該強制影像區段檢查。
FILE_DISPOSITION_ON_CLOSE 0x00000008 指定系統是否設定或清除關閉狀態。
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE 0x00000010 允許刪除唯讀檔案。 如需詳細資訊,請參閱下面的<備註>一節。

備註

呼叫端必須具有指定檔案的 DELETE 存取權,才能使用 FILE_DISPOSITION_DELETE 呼叫 ZwSetInformationFile。

未設定 FILE_DISPOSITION_POSIX_SEMANTICS 時,除非關閉檔案的所有開啟句柄,且檔案的連結計數為零,否則不會實際刪除標示為刪除的檔案。 設定 FILE_DISPOSITION_POSIX_SEMANTICS 時,只要POSIX刪除句柄已關閉,就會從可見命名空間中移除連結,但檔案的數據流仍可供其他現有的句柄存取,直到最後一個句柄關閉為止。 也就是說,已經開啟檔案的應用程式仍然可以使用其句柄來讀取/寫入,即使用來開啟它的名稱已消失,而且檔案的連結計數可能已達到零。

如果在使用者要求中刪除檔案,則使用POSIX語意可讓系統依照要求刪除檔案,但只要開啟句柄,也允許任何具有開啟句柄的進程繼續存取檔案的數據。

STATUS_CANNOT_DELETE的傳回值表示檔案是只讀的,或有現有的對應檢視到檔案。

規格需求

需求
標頭 ntddk.h (包含 Ntddk.h、Ntifs.h)

另請參閱

ZwClose

ZwSetInformationFile