Поделиться через


Функция 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 содержал ObjectName в структуре OBJECT_ATTRIBUTES, которая была недопустимой, так как пустая строка была найдена после символа OBJECT_NAME_PATH_SEPARATOR.
STATUS_OBJECT_NAME_NOT_FOUND Параметр objectAttributes содержал элемент ObjectName в структуре OBJECT_ATTRIBUTES, который не удалось найти.
STATUS_OBJECT_PATH_NOT_FOUND Параметр objectAttributes содержал элемент ObjectName в структуре OBJECT_ATTRIBUTES с путьом к объекту, который не удалось найти.
STATUS_OBJECT_PATH_SYNTAX_BAD Параметр objectAttributes не содержал элемент RootDirectory, но элемент ObjectName в структуре OBJECT_ATTRIBUTES был пустой строкой или не содержал символ OBJECT_NAME_PATH_SEPARATOR. Это означает неправильный синтаксис для пути объекта.

Замечания

ZwDeleteFile удаляет указанный объект файла.

Функция ZwDeleteFile вызывается после того, как макрос InitializeAttributes используется для задания атрибутов в структуре OBJECT_ATTRIBUTES для удаления объекта файла.

Существует два альтернативных способа указать имя файла для удаления с помощью ZwDeleteFile:

  • Полное имя пути, предоставленное в элементе objectName входных ObjectAttributes
  • Имя пути относительно файла каталога, представленного дескриптором в элементе rootDirectory элемента входных ObjectAttributes

Вызывающие ZwDeleteFile должны выполняться в IRQL = PASSIVE_LEVEL и со специальными API-интерфейсами ядра с поддержкой.

Если вызов функции ZwDeleteFile происходит в пользовательском режиме, следует использовать имя "NtDeleteFile" вместо "ZwDeleteFile".

Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP
целевая платформа Всеобщий
заголовка ntifs.h (include Ntifs.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (см. раздел "Примечания")
правил соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

См. также

InitializeObjectAttributes

OBJECT_ATTRIBUTES