NtQueryVolumeInformationFile-Funktion (ntifs.h)

Die NtQueryVolumeInformationFile-Routine ruft Informationen zu dem Volume ab, das einer bestimmten Datei, einem bestimmten Verzeichnis, speicherfähigen Gerät oder Volume zugeordnet ist.

Syntax

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryVolumeInformationFile(
  [in]  HANDLE               FileHandle,
  [out] PIO_STATUS_BLOCK     IoStatusBlock,
  [out] PVOID                FsInformation,
  [in]  ULONG                Length,
  [in]  FS_INFORMATION_CLASS FsInformationClass
);

Parameter

[in] FileHandle

Ein Handle für ein Dateiobjekt, das von NtCreateFile oder NtOpenFile für eine geöffnete Datei, ein Verzeichnis, ein Speichergerät oder ein Volume zurückgegeben wird, für das Volumeinformationen angefordert werden.

[out] IoStatusBlock

Ein Zeiger auf eine IO_STATUS_BLOCK-Struktur, die die endgültige Abschluss-status und Informationen zum Abfragevorgang empfängt. Bei erfolgreichen Aufrufen, die Daten zurückgeben, wird die Anzahl der Bytes, die in den FsInformation-Puffer geschrieben werden, im Information-Element der Struktur zurückgegeben.

[out] FsInformation

Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die gewünschten Informationen über das Volume empfängt. Die Struktur der im Puffer zurückgegebenen Informationen wird durch den FsInformationClass-Parameter definiert.

[in] Length

Größe des Puffers in Byte, auf den fsInformation verweist. Der Aufrufer sollte diesen Parameter entsprechend der angegebenen FsInformationClass festlegen.

[in] FsInformationClass

Typ der Informationen, die über das Volume zurückgegeben werden sollen. Legen Sie diesen Member auf einen der folgenden FS_INFORMATION_CLASS-Enumerationswerte fest.

Wert Bedeutung
FileFsAttributeInformation Gibt eine FILE_FS_ATTRIBUTE_INFORMATION-Struktur zurück, die Attributinformationen zum dateisystem enthält, das für das Volume verantwortlich ist.
FileFsControlInformation Gibt eine FILE_FS_CONTROL_INFORMATION-Struktur zurück, die Dateisystemsteuerungsinformationen zum Volume enthält.
FileFsDeviceInformation Gibt eine FILE_FS_DEVICE_INFORMATION-Struktur zurück, die Geräteinformationen für das Volume enthält.
FileFsDriverPathInformation Gibt eine FILE_FS_DRIVER_PATH_INFORMATION-Struktur zurück, die Informationen darüber enthält, ob sich ein angegebener Treiber im E/A-Pfad für das Volume befindet. Der Aufrufer muss den Namen des Treibers in der FILE_FS_DRIVER_PATH_INFORMATION-Struktur speichern, bevor NtQueryVolumeInformationFile aufgerufen wird.
FileFsFullSizeInformation Gibt eine FILE_FS_FULL_SIZE_INFORMATION-Struktur zurück, die Informationen über den gesamt verfügbaren Speicherplatz auf dem Volume enthält.
FileFsObjectIdInformation Gibt eine FILE_FS_OBJECTID_INFORMATION-Struktur zurück, die dateisystemspezifische Objekt-ID-Informationen für das Volume enthält. Beachten Sie, dass dies nicht mit dem (GUID-basierten) eindeutigen Volumenamen identisch ist, der vom Betriebssystem zugewiesen wird.
FileFsSizeInformation Gibt eine FILE_FS_SIZE_INFORMATION-Struktur zurück, die Informationen über den Speicherplatz auf dem Volume enthält, der für den Benutzer verfügbar ist, der dem aufrufenden Thread zugeordnet ist.
FileFsVolumeInformation Gibt einen FILE_FS_VOLUME_INFORMATION zurück, der Informationen zum Volume enthält, z. B. Volumebezeichnung, Seriennummer und Erstellungszeit.
FileFsSectorSizeInformation Gibt eine FILE_FS_SECTOR_SIZE_INFORMATION-Struktur zurück, die Informationen zu den physischen und logischen Sektorgrößen eines Volumes enthält.

Rückgabewert

NtQueryVolumeInformationFile gibt STATUS_SUCCESS oder einen entsprechenden Fehler status zurück.

Hinweise

NtQueryVolumeInformationFile ruft Informationen zu dem Volume ab, das einer bestimmten Datei, einem bestimmten Verzeichnis, einem bestimmten Speichergerät oder volume zugeordnet ist.

Wenn FileHandle ein direkt geöffnetes Gerät darstellt, kann nur FileFsDeviceInformation als Wert von FsInformationClass angegeben werden.

NtQueryVolumeInformationFile gibt null in jedem Element einer FILE_XXX_INFORMATION-Struktur zurück, die vom Dateisystem nicht unterstützt wird.

Informationen zu anderen Dateiinformationsabfrageroutinen finden Sie unter Dateiobjekte.

Minifilter sollten FltQueryVolumeInformationFile anstelle von NtQueryVolumeInformationFile verwenden.

Aufrufer von NtQueryVolumeInformationFile müssen unter IRQL = PASSIVE_LEVEL und mit aktivierten speziellen Kernel-APCs ausgeführt werden.

Hinweis

Wenn der Aufruf der NtQueryVolumeInformationFile-Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtQueryVolumeInformationFile" anstelle von "ZwQueryVolumeInformationFile" verwenden.

Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, wie sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienstroutinen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP
Zielplattform Universell
Header ntifs.h (include Ntifs.h, Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL (siehe Abschnitt "Hinweise")
DDI-Complianceregeln HwStorPortProhibitedDIs, PowerIrpDDis

Weitere Informationen

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

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

NtCreateFile

NtOpenFile

NtQueryDirectoryFile

NtQueryInformationFile

NtSetInformationFile

ZwSetVolumeInformationFile