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