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_DRIVER_PATH_INFORMATION
IRP_MJ_QUERY_VOLUME_INFORMATION