Función GetVolumeInformationByHandleW (fileapi.h)
Recupera información sobre el sistema de archivos y el volumen asociado al archivo especificado.
Para recuperar el estado de compresión actual de un archivo o directorio, use FSCTL_GET_COMPRESSION.
Sintaxis
BOOL GetVolumeInformationByHandleW(
[in] HANDLE hFile,
[out, optional] LPWSTR lpVolumeNameBuffer,
[in] DWORD nVolumeNameSize,
[out, optional] LPDWORD lpVolumeSerialNumber,
[out, optional] LPDWORD lpMaximumComponentLength,
[out, optional] LPDWORD lpFileSystemFlags,
[out, optional] LPWSTR lpFileSystemNameBuffer,
[in] DWORD nFileSystemNameSize
);
Parámetros
[in] hFile
Identificador del archivo.
[out, optional] lpVolumeNameBuffer
Puntero a un búfer que recibe el nombre de un volumen especificado. El tamaño máximo del búfer es MAX_PATH+1
.
[in] nVolumeNameSize
Longitud de un búfer de nombres de volumen, en WCHARs. El tamaño máximo del búfer es MAX_PATH+1
.
Este parámetro se omite si no se proporciona el búfer de nombres de volumen.
[out, optional] lpVolumeSerialNumber
Puntero a una variable que recibe el número de serie del volumen.
Este parámetro puede ser NULL si no se requiere el número de serie.
Esta función devuelve el número de serie del volumen que asigna el sistema operativo cuando se da formato a un disco duro. Para obtener mediante programación el número de serie del disco duro que asigna el fabricante, use la propiedad SerialNumber del Instrumental de administración de Windows (WMI Win32_PhysicalMedia).
[out, optional] lpMaximumComponentLength
Puntero a una variable que recibe la longitud máxima, en WCHARs, de un componente de nombre de archivo que admite un sistema de archivos especificado.
Un componente de nombre de archivo es la parte de un nombre de archivo entre barras diagonales inversas.
El valor almacenado en la variable a la que apunta *lpMaximumComponentLength se usa para indicar que un sistema de archivos especificado admite nombres largos. Por ejemplo, para un sistema de archivos FAT que admite nombres largos, la función almacena el valor 255, en lugar del indicador 8.3 anterior. Los nombres largos también se pueden admitir en sistemas que usan el sistema de archivos NTFS.
[out, optional] lpFileSystemFlags
Puntero a una variable que recibe marcas asociadas al sistema de archivos especificado.
Este parámetro puede ser una o varias de las marcas siguientes. Sin embargo, FILE_FILE_COMPRESSION y FILE_VOL_IS_COMPRESSED son mutuamente excluyentes.
Valor | Significado |
---|---|
|
El volumen especificado admite nombres de archivo que distinguen mayúsculas de minúsculas. |
|
El volumen especificado admite mayúsculas y minúsculas conservadas de nombres de archivo cuando coloca un nombre en el disco. |
|
El volumen especificado admite Unicode en los nombres de archivo a medida que aparecen en el disco. |
|
El volumen especificado conserva y aplica listas de control de acceso (ACL). Por ejemplo, el sistema de archivos NTFS conserva y aplica las ACL, y el sistema de archivos FAT no lo hace. |
|
El volumen especificado admite la compresión basada en archivos. |
|
El volumen especificado admite cuotas de disco. |
|
El volumen especificado admite archivos dispersos. |
|
El volumen especificado admite puntos de nuevo análisis. |
|
El volumen especificado es un volumen comprimido, por ejemplo, un volumen DoubleSpace. |
|
El volumen especificado admite identificadores de objeto. |
|
El volumen especificado admite el sistema de archivos cifrado (EFS). Para obtener más información, vea Cifrado de archivos. |
|
El volumen especificado admite flujos con nombre. |
|
El volumen especificado es de solo lectura. |
|
El volumen especificado admite una única escritura secuencial. |
|
El volumen especificado admite transacciones. Para obtener más información, vea Acerca de KTM. |
|
El volumen especificado admite vínculos duros. Para obtener más información, vea Vínculos duros y uniones.
Windows Vista y Windows Server 2008: Este valor no se admite. |
|
El volumen especificado admite atributos extendidos. Un atributo extendido es un fragmento de metadatos específicos de la aplicación que una aplicación puede asociar a un archivo y no forma parte de los datos del archivo.
Windows Vista y Windows Server 2008: Este valor no se admite. |
|
El sistema de archivos admite open by FileID. Para obtener más información, consulte FILE_ID_BOTH_DIR_INFO.
Windows Vista y Windows Server 2008: Este valor no se admite. |
|
El volumen especificado admite diarios de número de secuencia de actualización (USN). Para obtener más información, vea Cambiar registros del diario.
Windows Vista y Windows Server 2008: Este valor no se admite. |
|
El volumen especificado admite el uso compartido de clústeres lógicos entre archivos del mismo volumen. El sistema de archivos se reasigna en escrituras en clústeres compartidos. Indica que FSCTL_DUPLICATE_EXTENTS_TO_FILE es una operación admitida. |
[out, optional] lpFileSystemNameBuffer
Puntero a un búfer que recibe el nombre del sistema de archivos, por ejemplo, el sistema de archivos FAT o el sistema de archivos NTFS. El tamaño del búfer se especifica mediante el parámetro nFileSystemNameSize .
[in] nFileSystemNameSize
Longitud del búfer de nombres del sistema de archivos, en WCHARs. El tamaño máximo del búfer es MAX_PATH+1
.
Este parámetro se omite si no se proporciona el búfer de nombres del sistema de archivos.
Valor devuelto
Si se recupera toda la información solicitada, el valor devuelto es distinto de cero.
Si no se recupera toda la información solicitada, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.
Comentarios
En Windows 8 y Windows Server 2012, esta función es compatible con las tecnologías siguientes.
Tecnología | Compatible |
---|---|
Protocolo Bloque de mensajes del servidor (SMB) 3.0 | No |
Conmutación por error transparente (TFO) de SMB 3.0 | No |
SMB 3.0 con recursos compartidos de archivos de escalabilidad horizontal (SO) | No |
Sistema de archivos de Volumen compartido de clúster (CsvFS) | Sí |
Sistema de archivos resistente a errores (ReFS) | Sí |
SMB no admite funciones de administración de volúmenes.
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | fileapi.h (incluye Windows.h) |
Library | Kernel32.lib |
Archivo DLL | Kernel32.dll |