Función NtQueryVolumeInformationFile (ntifs.h)
La rutina NtQueryVolumeInformationFile recupera información sobre el volumen asociado a un archivo, directorio, dispositivo de almacenamiento o volumen determinado.
Sintaxis
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass
);
Parámetros
[in] FileHandle
Identificador de un objeto de archivo devuelto por NtCreateFile o NtOpenFile para un archivo abierto, directorio, dispositivo de almacenamiento o volumen para el que se solicita información de volumen.
[out] IoStatusBlock
Puntero a una estructura de IO_STATUS_BLOCK que recibe el estado de finalización final e información sobre la operación de consulta. Para llamadas correctas que devuelven datos, el número de bytes escritos en el búfer FsInformation se devuelve en el miembro Information de la estructura.
[out] FsInformation
Puntero a un búfer asignado por el autor de la llamada que recibe la información deseada sobre el volumen. La estructura de la información devuelta en el búfer se define mediante el parámetro FsInformationClass .
[in] Length
Tamaño en bytes del búfer al que apunta FsInformation. El autor de la llamada debe establecer este parámetro según el FsInformationClass especificado.
[in] FsInformationClass
Tipo de información que se va a devolver sobre el volumen. Establezca este miembro en uno de los siguientes FS_INFORMATION_CLASS valores de enumeración.
Valor | Significado |
---|---|
FileFsAttributeInformation | Devuelve una estructura de FILE_FS_ATTRIBUTE_INFORMATION que contiene información de atributo sobre el sistema de archivos responsable del volumen. |
FileFsControlInformation | Devuelve una estructura de FILE_FS_CONTROL_INFORMATION que contiene información de control del sistema de archivos sobre el volumen. |
FileFsDeviceInformation | Devuelve una estructura de FILE_FS_DEVICE_INFORMATION que contiene información del dispositivo para el volumen. |
FileFsDriverPathInformation | Devuelve una estructura de FILE_FS_DRIVER_PATH_INFORMATION que contiene información sobre si un controlador especificado está en la ruta de acceso de E/S del volumen. El llamador debe almacenar el nombre del controlador en la estructura FILE_FS_DRIVER_PATH_INFORMATION antes de llamar a NtQueryVolumeInformationFile. |
FileFsFullSizeInformation | Devuelve una estructura de FILE_FS_FULL_SIZE_INFORMATION que contiene información sobre la cantidad total de espacio disponible en el volumen. |
FileFsObjectIdInformation | Devuelve una estructura de FILE_FS_OBJECTID_INFORMATION que contiene información del identificador de objeto específico del sistema de archivos para el volumen. Tenga en cuenta que esto no es el mismo que el nombre de volumen único (basado en GUID) asignado por el sistema operativo. |
FileFsSizeInformation | Devuelve una estructura de FILE_FS_SIZE_INFORMATION que contiene información sobre la cantidad de espacio en el volumen que está disponible para el usuario asociado al subproceso que realiza la llamada. |
FileFsVolumeInformation | Devuelve un FILE_FS_VOLUME_INFORMATION que contiene información sobre el volumen, como la etiqueta del volumen, el número de serie y el tiempo de creación. |
FileFsSectorSizeInformation | Devuelve una estructura FILE_FS_SECTOR_SIZE_INFORMATION que contiene información sobre los tamaños de sector físico y lógico de un volumen. |
Valor devuelto
NtQueryVolumeInformationFile devuelve STATUS_SUCCESS o un estado de error adecuado.
Comentarios
NtQueryVolumeInformationFile recupera información sobre el volumen asociado a un archivo, directorio, dispositivo de almacenamiento o volumen determinado.
Si FileHandle representa un dispositivo directo abierto, solo se puede especificar FileFsDeviceInformation como valor de FsInformationClass.
NtQueryVolumeInformationFile devuelve cero en cualquier miembro de una estructura FILE_XXX_INFORMATION que no es compatible con el sistema de archivos.
Para obtener información sobre otras rutinas de consulta de información de archivos, vea Objetos de archivo.
Los minifiltros deben usar FltQueryVolumeInformationFile en lugar de NtQueryVolumeInformationFile.
Los autores de llamadas de NtQueryVolumeInformationFile deben ejecutarse en IRQL = PASSIVE_LEVEL y con las API de kernel especiales habilitadas.
Nota
Si la llamada a la función NtQueryVolumeInformationFile se produce en modo de usuario, debe usar el nombre "NtQueryVolumeInformationFile" en lugar de "ZwQueryVolumeInformationFile".
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 (include Ntifs.h, Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (consulte la sección Comentarios) |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDIs, PowerIrpDDis |
Consulte también
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
Uso de las versiones Nt y Zw de las rutinas nativas de System Services