Función NtQueryVolumeInformationFile (ntifs.h)
La rutina
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
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_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
usar versiones Nt y Zw de las rutinas de servicios del sistema nativo