estructura FILE_FS_ATTRIBUTE_INFORMATION (ntifs.h)
La estructura FILE_FS_ATTRIBUTE_INFORMATION se usa para consultar la información de atributo de un sistema de archivos.
Sintaxis
typedef struct _FILE_FS_ATTRIBUTE_INFORMATION {
ULONG FileSystemAttributes;
LONG MaximumComponentNameLength;
ULONG FileSystemNameLength;
WCHAR FileSystemName[1];
} FILE_FS_ATTRIBUTE_INFORMATION, *PFILE_FS_ATTRIBUTE_INFORMATION;
Miembros
FileSystemAttributes
Máscara de bits de marcas que especifican atributos del sistema de archivos especificado, como una combinación compatible de las marcas siguientes.
Valor | Significado |
---|---|
FILE_CASE_SENSITIVE_SEARCH (0x00000001) | El sistema de archivos admite nombres de archivo que distinguen mayúsculas de minúsculas. |
FILE_CASE_PRESERVED_NAMES (0x00000002) | El sistema de archivos conserva las mayúsculas y minúsculas de los nombres de archivo cuando coloca un nombre en el disco. |
FILE_UNICODE_ON_DISK (0x00000004) | El sistema de archivos admite Unicode en nombres de archivo. |
FILE_PERSISTENT_ACLS (0x00000008) | El sistema de archivos conserva y aplica listas de control de acceso (ACL). |
FILE_FILE_COMPRESSION (0x00000010) | El sistema de archivos admite la compresión basada en archivos. Esta marca no es compatible con la marca FILE_VOLUME_IS_COMPRESSED. Esta marca no afecta a cómo se transfieren los datos a través de la red. |
FILE_VOLUME_QUOTAS (0x00000020) | El sistema de archivos admite cuotas por usuario. |
FILE_SUPPORTS_SPARSE_FILES (0x00000040) | El sistema de archivos admite archivos dispersos. |
FILE_SUPPORTS_REPARSE_POINTS (0x00000080) | El sistema de archivos admite puntos de reanálisis . |
FILE_SUPPORTS_REMOTE_STORAGE (0x00000100) | El sistema de archivos admite almacenamiento remoto. |
FILE_RETURNS_CLEANUP_RESULT_INFO (0x00000200) | En una operación de limpieza correcta, el sistema de archivos devuelve información que describe las acciones adicionales realizadas durante la limpieza, como eliminar el archivo. Los filtros del sistema de archivos pueden examinar esta información en su devolución de llamada posterior a la limpieza. |
FILE_SUPPORTS_POSIX_UNLINK_RENAME (0x00000400) | El sistema de archivos admite operaciones de eliminación y cambio de nombre de estilo POSIX. |
FILE_VOLUME_IS_COMPRESSED (0x00008000) | El volumen especificado es un volumen comprimido. Esta marca no es compatible con la marca FILE_FILE_COMPRESSION. Esto no afecta a cómo se transfieren los datos a través de la red. |
FILE_SUPPORTS_OBJECT_IDS (0x00010000) | El sistema de archivos admite identificadores de objeto. |
FILE_SUPPORTS_ENCRYPTION (0x00020000) | El sistema de archivos admite el cifrado. |
FILE_NAMED_STREAMS (0x00040000) | El sistema de archivos admite flujos de datos con nombre para un archivo. |
FILE_READ_ONLY_VOLUME (0x00080000) | El volumen especificado es de solo lectura. |
FILE_SEQUENTIAL_WRITE_ONCE (0x00100000) | El volumen especificado solo se puede escribir en una sola vez. La escritura debe realizarse en orden secuencial. |
FILE_SUPPORTS_TRANSACTIONS (0x00200000) | El sistema de archivos admite procesamiento de transacciones. |
FILE_SUPPORTS_HARD_LINKS (0x00400000) | El sistema de archivos admite vínculos directos a otros dispositivos y particiones. |
FILE_SUPPORTS_EXTENDED_ATTRIBUTES (0x00800000) | El sistema de archivos admite atributos extendidos (AE). |
FILE_SUPPORTS_OPEN_BY_FILE_ID (0x01000000) | El sistema de archivos admite la apertura por identificador de archivo. |
FILE_SUPPORTS_USN_JOURNAL (0x02000000) | El sistema de archivos admite diarios de número de secuencia de actualización (USN). |
FILE_SUPPORTS_INTEGRITY_STREAMS (0x04000000) | El sistema de archivos admite flujos de integridad . |
FILE_SUPPORTS_BLOCK_REFCOUNTING (0x08000000) | El sistema de archivos admite clonación de bloques, es decir, compartir clústeres lógicos entre archivos en el mismo volumen. El sistema de archivos se reasigna a las escrituras en clústeres compartidos. |
FILE_SUPPORTS_SPARSE_VDL (0x10000000) | El sistema de archivos realiza un seguimiento de si cada clúster de un archivo contiene datos válidos (ya sea de escrituras de archivos explícitos o ceros automáticos) o datos no válidos (aún no se han escrito en o en cero). Los sistemas de archivos que usan la longitud de datos válida dispersa (VDL) no almacenan una longitud de datos válida y no requieren que los datos válidos sean contiguos dentro de un archivo. |
FILE_DAX_VOLUME (0x20000000) | El volumen especificado es un volumen de acceso directo (DAX). |
FILE_SUPPORTS_GHOSTING (0x40000000) | El sistema de archivos admite fantasmas. |
MaximumComponentNameLength
Longitud máxima del componente de nombre de archivo compatible con el sistema de archivos especificado, en caracteres. Un componente de nombre de archivo es esa parte de un nombre de archivo entre caracteres separadores de ruta de acceso (como barras diagonales inversas).
FileSystemNameLength
Longitud, en bytes, del nombre del sistema de archivos. El valor de este campo debe ser mayor que cero.
FileSystemName[1]
Campo Unicode de longitud variable que contiene el nombre del sistema de archivos. Este campo no está terminado en null y debe controlarse como una secuencia de FileSystemNameLength bytes.
Observaciones
Esta información se puede consultar de cualquiera de las maneras siguientes:
Llame a FltQueryVolumeInformation o ZwQueryVolumeInformationFile, pasando FileFsAttributeInformation como el valor de FileInformationClass y pasando un búfer asignado por el autor de la llamada, FILE_FS_ATTRIBUTE_INFORMATION-structured como valor de FileInformation.
- Nota: En CSVFS, fileFsAttributeInformation devuelve FILE_FS_ATTRIBUTE_INFORMATION para el sistema de archivos CSVFS. Si desea consultar FileFsAttributeInformation para el csvFS del sistema de archivos está en capas, debe usar FSCTL_CSV_QUERY_DOWN_LEVEL_FILE_SYSTEM_CHARACTERISTICS.
Cree un IRP con código de función principal IRP_MJ_QUERY_VOLUME_INFORMATION.
No se requieren derechos de acceso específicos para consultar esta información. Por lo tanto, esta información está disponible siempre que se acceda al volumen a través de un identificador abierto al propio volumen, o a un archivo o directorio en el volumen.
El tamaño del búfer pasado en el parámetro FileInformation a FltQueryVolumeInformation o ZwQueryVolumeInformationFile debe ser al menos sizeof(FILE_FS_ATTRIBUTE_INFORMATION)
. Dado que no se puede suponer una longitud máxima del nombre del sistema de archivos (prácticamente, el límite es de 2^31 puntos de caracteres), se necesitará una segunda llamada a una de estas rutinas una vez que se conozca FileSystemNameLength.
Esta estructura debe alinearse en un límite de LONG (4 bytes).
Requisitos
Requisito | Valor |
---|---|
encabezado de |
ntifs.h (incluya Ntifs.h, Fltkernel.h) |