estructura FILE_DISPOSITION_INFORMATION_EX (ntddk.h)

La estructura FILE_DISPOSITION_INFORMATION_EX se usa como argumento para la rutina ZwSetInformationFile e indica cómo el sistema operativo debe eliminar un archivo.

Sintaxis

typedef struct _FILE_DISPOSITION_INFORMATION_EX {
  ULONG Flags;
} FILE_DISPOSITION_INFORMATION_EX, *PFILE_DISPOSITION_INFORMATION_EX;

Miembros

Flags

Especifica qué acciones debe realizar el sistema con un archivo específico mientras se elimina.

Nombre de marca Valor Significado
FILE_DISPOSITION_DO_NOT_DELETE 0x00000000 Especifica que el sistema no debe eliminar un archivo.
FILE_DISPOSITION_DELETE 0x00000001 Especifica que el sistema debe eliminar un archivo.
FILE_DISPOSITION_POSIX_SEMANTICS 0x00000002 Especifica que el sistema debe realizar una eliminación de estilo POSIX. Consulta más información en Comentarios.
FILE_DISPOSITION_FORCE_IMAGE_SECTION_CHECK 0x00000004 Especifica que el sistema debe forzar una comprobación de sección de imagen.
FILE_DISPOSITION_ON_CLOSE 0x00000008 Especifica si el sistema establece o borra el estado de cierre.
FILE_DISPOSITION_IGNORE_READONLY_ATTRIBUTE 0x00000010 Permite eliminar archivos de solo lectura. Para obtener más información, vea la sección Comentarios a continuación.

Comentarios

El llamador debe tener acceso DELETE a un archivo determinado para llamar a ZwSetInformationFile con FILE_DISPOSITION_DELETE.

Cuando no se establece FILE_DISPOSITION_POSIX_SEMANTICS , un archivo marcado para su eliminación no se elimina realmente hasta que se hayan cerrado todos los identificadores abiertos del archivo y el número de vínculos del archivo sea cero. Cuando se establece FILE_DISPOSITION_POSIX_SEMANTICS , el vínculo se quita del espacio de nombres visible en cuanto se cierra el identificador de eliminación POSIX, pero los flujos de datos del archivo permanecen accesibles por otros identificadores existentes hasta que se haya cerrado el último identificador. Es decir, las aplicaciones que ya tenían el archivo abierto pueden seguir usando su identificador para leer y escribir aunque el nombre que usaron para abrirlo ha desaparecido y el recuento de vínculos del archivo puede haber alcanzado cero.

Si el archivo se elimina a petición de usuario, el uso de la semántica POSIX permite al sistema eliminar el archivo según lo solicitado, pero también permite que cualquier proceso con un identificador abierto siga accediendo a los datos del archivo siempre y cuando el identificador esté abierto.

Un valor devuelto de STATUS_CANNOT_DELETE indica que el archivo es de solo lectura o hay una vista asignada existente al archivo.

Requisitos

Requisito Valor
Header ntddk.h (include Ntddk.h, Ntifs.h)

Consulte también

ZwClose

ZwSetInformationFile