Condividi tramite


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 Information 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'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_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

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile