Funzione NtQueryVolumeInformationFile (ntifs.h)
La routine NtQueryVolumeInformationFile recupera informazioni sul volume associato a un determinato file, directory, dispositivo di archiviazione o volume.
Sintassi
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
[in] HANDLE FileHandle,
[out] PIO_STATUS_BLOCK IoStatusBlock,
[out] PVOID FsInformation,
[in] ULONG Length,
[in] FS_INFORMATION_CLASS FsInformationClass
);
Parametri
[in] FileHandle
Handle per un oggetto file restituito da NtCreateFile o NtOpenFile per un file aperto, una directory, un dispositivo di archiviazione o un volume per cui vengono richieste informazioni sul volume.
[out] IoStatusBlock
Puntatore a una struttura IO_STATUS_BLOCK che riceve lo stato di completamento finale e informazioni sull'operazione di query. Per le chiamate riuscite che restituiscono dati, il numero di byte scritti nel buffer FsInformation
[out] FsInformation
Puntatore a un buffer allocato dal chiamante che riceve le informazioni desiderate sul volume. La struttura delle informazioni restituite nel buffer è definita dal parametro FsInformationClass.
[in] Length
Dimensioni in byte del buffer a cui punta FsInformation. Il chiamante deve impostare questo parametro in base all'FsInformationClass.
[in] FsInformationClass
Tipo di informazioni da restituire sul volume. Impostare questo membro su uno dei valori di enumerazione FS_INFORMATION_CLASS seguenti.
Valore | Significato |
---|---|
FileFsAttributeInformation | Restituisce una struttura FILE_FS_ATTRIBUTE_INFORMATION contenente informazioni sugli attributi sul file system responsabile del volume. |
FileFsControlInformation | Restituisce una struttura FILE_FS_CONTROL_INFORMATION contenente informazioni sul controllo del file system sul volume. |
FileFsDeviceInformation | Restituisce una struttura FILE_FS_DEVICE_INFORMATION contenente le informazioni sul dispositivo per il volume. |
FileFsDriverPathInformation | Restituisce una struttura FILE_FS_DRIVER_PATH_INFORMATION contenente informazioni sull'eventuale presenza di un driver specificato nel percorso di I/O per il volume. Il chiamante deve archiviare il nome del driver nella struttura FILE_FS_DRIVER_PATH_INFORMATION prima di chiamare NtQueryVolumeInformationFile. |
FileFsFullSizeInformation | Restituisce una struttura FILE_FS_FULL_SIZE_INFORMATION contenente informazioni sulla quantità totale di spazio disponibile nel volume. |
FileFsObjectIdInformation | Restituisce una struttura FILE_FS_OBJECTID_INFORMATION contenente informazioni sull'ID oggetto specifico del file system per il volume. Si noti che non corrisponde al nome univoco del volume (basato su GUID) assegnato dal sistema operativo. |
FileFsSizeInformation | Restituisce una struttura FILE_FS_SIZE_INFORMATION contenente informazioni sulla quantità di spazio nel volume disponibile per l'utente associato al thread chiamante. |
FileFsVolumeInformation | Restituisce un FILE_FS_VOLUME_INFORMATION contenente informazioni sul volume, ad esempio l'etichetta del volume, il numero di serie e l'ora di creazione. |
FileFsSectorSizeInformation | Restituisce una struttura FILE_FS_SECTOR_SIZE_INFORMATION che contiene informazioni sulle dimensioni fisiche e logiche di un volume. |
Valore restituito
NtQueryVolumeInformationFile restituisce STATUS_SUCCESS o uno stato di errore appropriato.
Osservazioni
NtQueryVolumeInformationFile recupera informazioni sul volume associato a un determinato file, directory, dispositivo di archiviazione o volume.
Se il FileHandle rappresenta un dispositivo diretto aperto, è possibile specificare solo FileFsDeviceInformation come valore di FsInformationClass.
NtQueryVolumeInformationFile restituisce zero in qualsiasi membro di una struttura FILE_XXX_INFORMATION non supportata dal file system.
Per informazioni su altre routine di query sulle informazioni sui file, vedere Oggetti file.
I minifiltri devono usare FltQueryVolumeInformationFile anziché NtQueryVolumeInformationFile.
I chiamanti di NtQueryVolumeInformationFile devono essere eseguiti in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.
Nota
Se la chiamata alla funzione di NtQueryVolumeInformationFile si verifica in modalità utente, è necessario usare il nome "NtQueryVolumeInformationFile" anziché "ZwQueryVolumeInformationFile".
Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows XP |
piattaforma di destinazione | Universale |
intestazione |
ntifs.h (include Ntifs.h, Ntddk.h) |
libreria |
NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |
regole di conformità DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Vedere anche
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
uso di versioni Nt e Zw delle routine di Servizi di sistema nativi