Compartir a través de


Función ZwDeleteFile (ntifs.h)

El ZwDeleteFile rutina elimina el archivo especificado.

Sintaxis

NTSYSAPI NTSTATUS ZwDeleteFile(
  [in] POBJECT_ATTRIBUTES ObjectAttributes
);

Parámetros

[in] ObjectAttributes

Puntero a una estructura de OBJECT_ATTRIBUTES que contiene los atributos proporcionados por el llamador que se va a usar para el objeto de archivo. Estos atributos incluirían el ObjectName de y el SECURITY_DESCRIPTOR, por ejemplo. Este parámetro se inicializa llamando 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 códigos de estado de error posibles 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 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 ObjectName miembro 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.

Observaciones

ZwDeleteFile elimina el objeto de archivo especificado.

Se llama a la función ZwDeleteFile después de que se use la macro de InitializeAttributes para establecer atributos en la estructura OBJECT_ATTRIBUTES del objeto de archivo que se va a eliminar.

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 ObjectName miembro de la entrada ObjectAttributes
  • Como pathname en relación con el archivo de directorio representado por el identificador del rootDirectory miembro de la entrada ObjectAttributes

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

Si la llamada al ZwDeleteFile función 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 NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows 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 de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h)
biblioteca de NtosKrnl.lib
DLL de 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