Función ZwDeleteFile (ntifs.h)

La rutina ZwDeleteFile elimina el archivo especificado.

Sintaxis

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

Parámetros

[in] ObjectAttributes

Puntero a una estructura OBJECT_ATTRIBUTES que contiene los atributos proporcionados por el llamador que se va a usar para el objeto de archivo. Estos atributos incluirían objectName y el SECURITY_DESCRIPTOR, por ejemplo. Este parámetro se inicializa mediante una llamada a la macro InitializeObjectAttributes .

Valor devuelto

ZwDeleteFile devuelve STATUS_SUCCESS o un estado de error adecuado que representa el estado de finalización final de la operación. Entre los posibles códigos de estado de error se incluyen los siguientes:

Código devuelto Descripción
STATUS_INSUFFICIENT_RESOURCES No se pudo asignar un búfer temporal requerido por esta función.
STATUS_INVALID_PARAMETER El parámetro ObjectAttributes especificado era un puntero NULL, no un puntero válido a una estructura OBJECT_ATTRIBUTES o algunos de los miembros de la estructura ObjectAttributes especificados no eran válidos .
STATUS_OBJECT_NAME_INVALID El parámetro ObjectAttributes contenía un objectName en la estructura OBJECT_ATTRIBUTES que no era válida porque se encontró una cadena vacía después del carácter OBJECT_NAME_PATH_SEPARATOR.
STATUS_OBJECT_NAME_NOT_FOUND El parámetro ObjectAttributes contenía un miembro ObjectName en la estructura OBJECT_ATTRIBUTES que no se encontró.
STATUS_OBJECT_PATH_NOT_FOUND El parámetro ObjectAttributes contenía un miembro ObjectName en la estructura OBJECT_ATTRIBUTES con una ruta de acceso de objeto que no se encontró.
STATUS_OBJECT_PATH_SYNTAX_BAD El parámetro ObjectAttributes no contenía un miembro RootDirectory , pero el miembro ObjectName de la estructura OBJECT_ATTRIBUTES era una cadena vacía o no contenía un carácter OBJECT_NAME_PATH_SEPARATOR. Esto indica una sintaxis incorrecta para la ruta de acceso del objeto.

Comentarios

ZwDeleteFile elimina el objeto de archivo especificado.

Se llama a la función ZwDeleteFile después de usar la macro InitializeAttributes para establecer atributos en la estructura OBJECT_ATTRIBUTES para que se elimine el objeto de archivo.

Hay dos maneras alternativas de especificar el nombre del archivo que se va a eliminar con ZwDeleteFile:

  • Como nombre de ruta de acceso completo, proporcionado en el miembro ObjectName de la entrada ObjectAttributes
  • Como pathname relativo al archivo de directorio representado por el identificador en el miembro RootDirectory de la entrada ObjectAttributes

Los autores de llamadas de ZwDeleteFile deben ejecutarse en IRQL = PASSIVE_LEVEL y con las API de kernel especiales habilitadas.

Si la llamada a la función ZwDeleteFile se produce en modo de usuario, debe usar el nombre "NtDeleteFile " en lugar de "ZwDeleteFile".

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (consulte la sección Comentarios)
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

InitializeObjectAttributes

OBJECT_ATTRIBUTES