Freigeben über


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

Weitere Informationen

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING