NtQueryVolumeInformationFile-Funktion (ntifs.h)
Die NtQueryVolumeInformationFile Routine ruft Informationen über das Volume ab, das einer bestimmten Datei, einem Verzeichnis, einem Speichergerät oder einem 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 zu einem 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 den endgültigen Abschlussstatus und Informationen zum Abfragevorgang empfängt. Bei erfolgreichen Aufrufen, die Daten zurückgeben, wird die Anzahl der in den FsInformation Puffer geschriebenen Bytes im Information Member der Struktur zurückgegeben.
[out] FsInformation
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die gewünschten Informationen zum Volume empfängt. Die Struktur der im Puffer zurückgegebenen Informationen wird durch den parameter FsInformationClass definiert.
[in] Length
Größe in Byte des Puffers, auf den FsInformationverweist. Der Aufrufer sollte diesen Parameter gemäß der angegebenen FsInformationClassfestlegen.
[in] FsInformationClass
Typ der Informationen, die über das Volume zurückgegeben werden sollen. Legen Sie dieses Element 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 Informationen zur Dateisystemsteuerung über das 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 NtQueryVolumeInformationFileaufgerufen wird. |
FileFsFullSizeInformation | Gibt eine FILE_FS_FULL_SIZE_INFORMATION Struktur zurück, die Informationen zur Gesamtmenge des verfügbaren Speicherplatzes 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 eindeutigen Volumenamen (GUID-basiert) übereinstimmt, 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 | Geben Sie eine FILE_FS_VOLUME_INFORMATION zurück, die Informationen zum Volume enthält, z. B. die Volumebezeichnung, die Seriennummer und die 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 Fehlerstatus zurück.
Bemerkungen
NtQueryVolumeInformationFile Ruft Informationen zum Volume ab, das einer bestimmten Datei, einem Verzeichnis, einem Speichergerät oder einem Volume zugeordnet ist.
Wenn die FileHandle- ein direktes Gerät darstellt, kann nur FileFsDeviceInformation- als Wert von FsInformationClassangegeben werden.
NtQueryVolumeInformationFile- gibt null in einem Element einer FILE_XXX-_INFORMATION-Struktur zurück, die vom Dateisystem nicht unterstützt wird.
Informationen zu anderen Dateiinformationsabfrageroutinen finden Sie unter File Objects.
Minifilter sollten FltQueryVolumeInformationFile anstelle von NtQueryVolumeInformationFile-verwenden.
Aufrufer von NtQueryVolumeInformationFile- müssen unter IRQL = PASSIVE_LEVEL und mit speziellen Kernel-APCs ausgeführt werden, dieaktiviert sind.
Anmerkung
Wenn der Aufruf der NtQueryVolumeInformationFile--Funktion im Benutzermodus auftritt, 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 behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP |
Zielplattform- | Universal |
Header- | ntifs.h (include Ntifs.h, Ntddk.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |
Siehe auch
FILE_FS_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION
Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen