Compartir a través de


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, se devuelve el número de bytes escritos en el búfer de FsInformation 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 valores de enumeración FS_INFORMATION_CLASS.

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 autor de la llamada 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 este 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 de 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.

Observaciones

NtQueryVolumeInformationFile recupera información sobre el volumen asociado a un archivo, directorio, dispositivo de almacenamiento o volumen determinado.

Si el FileHandle representa un dispositivo directo abierto, solo se puede especificar FileFsDeviceInformation como valor de FsInformationClass.

NtQueryVolumeInformationFile devuelve cero en cualquier miembro de una estructura de FILE_XXX_INFORMATION que no sea 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 API de kernel especiales habilitadas.

Nota

Si la llamada a 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 NtXxx y Zwversiones de Xxx de una rutina de Servicios del sistema nativo de Windows 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 de NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP
de la plataforma de destino de Universal
encabezado de ntifs.h (incluya Ntifs.h, Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL PASSIVE_LEVEL (consulte la sección Comentarios)
reglas de cumplimiento de DDI HwStorPortProhibitedDIs, PowerIrpDDis

Consulte también

FILE_FS_ATTRIBUTE_INFORMATION

FILE_FS_CONTROL_INFORMATION

FILE_FS_DEVICE_INFORMATION

FILE_FS_DRIVER_PATH_INFORMATION

FILE_FS_FULL_SIZE_INFORMATION

FILE_FS_OBJECTID_INFORMATION

FILE_FS_SIZE_INFORMATION

FILE_FS_VOLUME_INFORMATION

fltQueryVolumeInformationFile

IRP_MJ_QUERY_VOLUME_INFORMATION

IRP_MJ_SET_VOLUME_INFORMATION

usar versiones Nt y Zw de las rutinas de servicios del sistema nativo

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile