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 viene restituito nel membro Informazioni della struttura.
[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'oggetto FsInformationClass specificato.
[in] FsInformationClass
Tipo di informazioni da restituire sul volume. Impostare questo membro su uno dei valori di enumerazione seguenti FS_INFORMATION_CLASS .
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 relative al 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 sul fatto che un driver specificato si trova 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 del volume univoco (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.
Commenti
NtQueryVolumeInformationFile recupera informazioni sul volume associato a un determinato file, directory, dispositivo di archiviazione o volume.
Se 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 in esecuzione in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate.
Nota
Se la chiamata alla funzione NtQueryVolumeInformationFile si verifica in modalità utente, devi usare il nome "NtQueryVolumeInformationFile" anziché "ZwQueryVolumeInformationFile".
Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows 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 .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.
Requisiti
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 |
Vedi anche
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
Uso delle versioni Nt e Zw delle routine native di Servizi di sistema