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) |