Freigeben über


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

Siehe auch

FltGetFilterFromName-

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING