Compartilhar via


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 incluiriam o ObjectName e o SECURITY_DESCRIPTOR, por exemplo. Esse parâmetro é inicializado chamando a macro InitializeObjectAttributes.

Valor de retorno

ZwDeleteFile retorna STATUS_SUCCESS ou um status de erro apropriado que representa o status de conclusão final da operação. Os códigos de status de erro possíveis 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 de OBJECT_ATTRIBUTES ou alguns dos membros de estrutura objectAttributes especificados eram inválidos.
STATUS_OBJECT_NAME_INVALID O parâmetro ObjectAttributes continha um ObjectName na estrutura OBJECT_ATTRIBUTES inválida 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 encontrado.
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 a sintaxe incorreta para o caminho do objeto.

Observações

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 que o objeto de arquivo seja 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 ObjectName membro da entrada ObjectAttributes
  • Como nome de caminho relativo ao arquivo de diretório representado pelo identificador no membro RootDirectory do de entrada ObjectAttributes

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 no modo kernel, as versões NtXxx e Zwxxx versões de uma rotina dos Serviços de Sistema Nativo do Windows 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 Usando versões Nt e Zw das rotinas de serviços do sistema nativo.

Requisitos

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

Consulte também

InitializeObjectAttributes

OBJECT_ATTRIBUTES