FltGetVolumeFromName-Funktion (fltkernel.h)
Die FltGetVolumeFromName Routine gibt einen undurchsichtigen Zeiger für das Volume zurück, dessen Name dem Wert des VolumeName Parameter entspricht.
Syntax
NTSTATUS FLTAPI FltGetVolumeFromName(
[in] PFLT_FILTER Filter,
[in] PCUNICODE_STRING VolumeName,
[out] PFLT_VOLUME *RetVolume
);
Parameter
[in] Filter
Undurchsichtiger Filterzeiger für den Aufrufer. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in] VolumeName
Zeiger auf eine UNICODE_STRING Struktur, die den Volumenamen enthält (z. B. "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:" oder "D:"). Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[out] RetVolume
Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Zeiger für das Volume empfängt. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
Rückgabewert
FltGetVolumeFromName gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
STATUS_ACCESS_DENIED | Der Anrufer hat nicht FILE_READ_DATA Zugriff auf das Volume. Dies ist ein Fehlercode. |
STATUS_FLT_DELETING_OBJECT | Die Lautstärke wird heruntergerissen. Dies ist ein Fehlercode. |
STATUS_INVALID_PARAMETER | Für den parameter VolumeName wurde ein ungültiger Wert angegeben. Dies ist ein Fehlercode. |
STATUS_FLT_VOLUME_NOT_FOUND | Es wurde kein übereinstimmende Volume gefunden. Dies ist ein Fehlercode. |
Bemerkungen
FltGetVolumeFromName durchsucht die globale Liste des Filter-Managers nach einem Volume, dessen Name VolumeName-entspricht. Der Anrufer muss über FILE_READ_DATA Zugriff auf das Volume verfügen. Um die Volumestruktur zu finden, müssen FltGetVolumeFromName- zuerst das Volume öffnen.
FltGetVolumeFromName fügt einen Rundownverweis auf den undurchsichtigen Volumezeiger hinzu, der im RetVolume-Parameter zurückgegeben wird. Wenn dieser Zeiger nicht mehr benötigt wird, muss der Aufrufer ihn freigeben, indem er FltObjectDereference-aufruft. Daher muss jeder erfolgreiche Aufruf von FltGetVolumeFromName durch einen nachfolgenden Aufruf von FltObjectDereferenceabgeglichen werden.
Rufen Sie FltGetVolumeNameauf, um den Volumenamen für ein bestimmtes Volume abzurufen.
Rufen Sie FltGetVolumeGuidNameauf, um den Volume-GUID-Namen für ein bestimmtes Volume abzurufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | PASSIVE_LEVEL |