Função ZwDeleteFile (ntifs.h)

A rotina ZwDeleteFile exclui o arquivo especificado.

Sintaxe

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

Parâmetros

[in] ObjectAttributes

Um ponteiro para uma estrutura OBJECT_ATTRIBUTES que contém os atributos fornecidos pelo chamador a serem usados para o objeto de arquivo. Esses atributos incluem o ObjectName e o SECURITY_DESCRIPTOR, por exemplo. Esse parâmetro é inicializado chamando a macro InitializeObjectAttributes .

Retornar valor

ZwDeleteFile retorna STATUS_SUCCESS ou um erro apropriado status que representa o status de conclusão final da operação. Possíveis códigos de status de erro incluem o seguinte:

Código de retorno Descrição
STATUS_INSUFFICIENT_RESOURCES Não foi possível alocar um buffer temporário exigido por essa função.
STATUS_INVALID_PARAMETER O parâmetro ObjectAttributes especificado era um ponteiro NULL, não um ponteiro válido para uma estrutura OBJECT_ATTRIBUTES ou alguns dos membros da estrutura ObjectAttributes especificados eram inválidos.
STATUS_OBJECT_NAME_INVALID O parâmetro ObjectAttributes continha um ObjectName na estrutura OBJECT_ATTRIBUTES inválido porque uma cadeia de caracteres vazia foi encontrada após o caractere OBJECT_NAME_PATH_SEPARATOR.
STATUS_OBJECT_NAME_NOT_FOUND O parâmetro ObjectAttributes continha um membro ObjectName na estrutura OBJECT_ATTRIBUTES que não pôde ser encontrada.
STATUS_OBJECT_PATH_NOT_FOUND O parâmetro ObjectAttributes continha um membro ObjectName na estrutura OBJECT_ATTRIBUTES com um caminho de objeto que não pôde ser encontrado.
STATUS_OBJECT_PATH_SYNTAX_BAD O parâmetro ObjectAttributes não continha um membro RootDirectory , mas o membro ObjectName na estrutura OBJECT_ATTRIBUTES era uma cadeia de caracteres vazia ou não continha um caractere OBJECT_NAME_PATH_SEPARATOR. Isso indica uma sintaxe incorreta para o caminho do objeto.

Comentários

ZwDeleteFile exclui o objeto de arquivo especificado.

A função ZwDeleteFile é chamada depois que a macro InitializeAttributes é usada para definir atributos na estrutura OBJECT_ATTRIBUTES para o objeto de arquivo a ser excluído.

Há duas maneiras alternativas de especificar o nome do arquivo a ser excluído com ZwDeleteFile:

  • Como um nome de caminho totalmente qualificado, fornecido no membro ObjectName do ObjectAttributes de entrada
  • Como pathname relativo ao arquivo de diretório representado pelo identificador no membro RootDirectory do ObjectAttributes de entrada

Os chamadores de ZwDeleteFile devem estar em execução em IRQL = PASSIVE_LEVEL e com APCs de kernel especiais habilitadas.

Se a chamada para a função ZwDeleteFile ocorrer no modo de usuário, você deverá usar o nome "NtDeleteFile " em vez de "ZwDeleteFile".

Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP
Plataforma de Destino Universal
Cabeçalho ntifs.h (inclua Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte a seção Comentários)
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Confira também

InitializeObjectAttributes

OBJECT_ATTRIBUTES