共用方式為


ZwDeleteFile 函式 (ntifs.h)

ZwDeleteFile 例程會刪除指定的檔案。

語法

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

參數

[in] ObjectAttributes

OBJECT_ATTRIBUTES 結構的指標,其中包含要用於檔案物件的呼叫端所提供的屬性。 例如,這些屬性會包含 ObjectNameSECURITY_DESCRIPTOR。 這個參數是藉由呼叫 InitializeObjectAttributes 巨集來初始化。

傳回值

ZwDeleteFile 會傳回STATUS_SUCCESS或代表作業最終完成狀態的適當錯誤狀態。 可能的錯誤狀態代碼包括下列專案:

傳回碼 描述
STATUS_INSUFFICIENT_RESOURCES 無法配置此函式所需的暫存緩衝區。
STATUS_INVALID_PARAMETER 指定的 ObjectAttributes 參數是 NULL 指標,不是 OBJECT_ATTRIBUTES 結構的有效指標,或某些指定的 ObjectAttributes 結構成員無效。
STATUS_OBJECT_NAME_INVALID ObjectAttributes 參數包含 OBJECT_ATTRIBUTES 結構中 ObjectName 無效,因為在OBJECT_NAME_PATH_SEPARATOR字元之後找到空字符串。
STATUS_OBJECT_NAME_NOT_FOUND ObjectAttributes 參數包含找不到 OBJECT_ATTRIBUTES 結構中 ObjectName 成員。
STATUS_OBJECT_PATH_NOT_FOUND ObjectAttributes 參數包含 OBJECT_ATTRIBUTES 結構中 ObjectName 成員,且對象路徑找不到。
STATUS_OBJECT_PATH_SYNTAX_BAD ObjectAttributes 參數未包含 RootDirectory 成員,但 OBJECT_ATTRIBUTES 結構中的 ObjectName 成員是空字串,或不包含OBJECT_NAME_PATH_SEPARATOR字元。 這表示對象路徑的語法不正確。

言論

ZwDeleteFile 會刪除指定的檔案物件。

ZwDeleteFile 函式會在 InitializeAttributes 巨集之後呼叫,以設定要刪除之檔案物件的 OBJECT_ATTRIBUTES 結構中的屬性。

有兩種替代方式可指定要使用 ZwDeleteFile 刪除的檔名

  • 作為完整路徑名稱,提供於輸入 ObjectAttributes ObjectName 成員
  • 做為路徑名稱,相對於 input ObjectAttributes 之 input RootDirectory 成員中句柄所代表的目錄檔案

ZwDeleteFile 的呼叫端必須在 IRQL = PASSIVE_LEVEL,且 啟用特殊核心 APC

如果在使用者模式中呼叫 ZwDeleteFile 函式,您應該使用名稱 “NtDeleteFile ” 而不是 “ZwDeleteFile”。

對於內核模式驅動程式的呼叫,NtXxxZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxxZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程

要求

要求 價值
最低支援的用戶端 Windows XP
目標平臺 普遍
標頭 ntifs.h (include Ntifs.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (請參閱一節)
DDI 合規性規則 HwStorPortProhibitedDIs(storport)PowerIrpDDis(wdm)

另請參閱

InitializeObjectAttributes

OBJECT_ATTRIBUTES