FltGetVolumeFromName-Funktion (fltkernel.h)
Die FltGetVolumeFromName-Routine gibt einen undurchsichtigen Zeiger für das Volume zurück, dessen Name mit dem Wert des VolumeName-Parameters übereinstimmt.
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 darf nicht NULL sein.
[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 darf nicht NULL sein.
[out] RetVolume
Zeiger auf eine vom Aufrufer zugewiesene Variable, die einen undurchsichtigen Zeiger für das Volume empfängt. Dieser Parameter ist erforderlich und darf nicht NULL sein.
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 Aufrufer hatte keinen FILE_READ_DATA Zugriff auf das Volume. Dies ist ein Fehlercode. |
STATUS_FLT_DELETING_OBJECT | Das Volume wird abgerissen. Dies ist ein Fehlercode. |
STATUS_INVALID_PARAMETER | Für den VolumeName-Parameter 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. |
Hinweise
FltGetVolumeFromName durchsucht die globale Liste der Volumes des Filter-Managers nach einem Volume, dessen Name volumeName entspricht. Der Aufrufer muss über FILE_READ_DATA Zugriff auf das Volume verfügen. Um die Volumestruktur zu finden, muss 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 durch Aufrufen von FltObjectDereference freigeben. Daher muss jeder erfolgreiche Aufruf von FltGetVolumeFromName durch einen nachfolgenden Aufruf von FltObjectDereference abgeglichen werden.
Um den Volumenamen für ein bestimmtes Volume abzurufen, rufen Sie FltGetVolumeName auf.
Um den Namen der Volume-GUID für ein bestimmtes Volume abzurufen, rufen Sie FltGetVolumeGuidName auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |