ZwDeleteFile 函式 (ntifs.h)
ZwDeleteFile 例程會刪除指定的檔案。
語法
NTSYSAPI NTSTATUS ZwDeleteFile(
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
參數
[in] ObjectAttributes
OBJECT_ATTRIBUTES 結構的指標,其中包含要用於檔案物件的呼叫端所提供的屬性。 例如,這些屬性會包含 ObjectName 和 SECURITY_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”。
對於內核模式驅動程式的呼叫,NtXxx 和 ZwXxx 版本的 Windows 原生系統服務例程,在處理和解譯輸入參數的方式上可能會有不同的行為。 如需 nt NtXxx 與 ZwXxx 例程之間關聯性的詳細資訊,請參閱 使用 Nt 和 Zw 版本的原生系統服務例程。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP |
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (請參閱一節) |
DDI 合規性規則 | HwStorPortProhibitedDIs(storport),PowerIrpDDis(wdm) |