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_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 delle versioni Nt e Zw delle routine native di Servizi di sistema

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile