FltOpenVolume-Funktion (fltkernel.h)

Die FltOpenVolume-Routine gibt ein Handle und einen Dateiobjektzeiger für das Dateisystemvolume zurück, an das eine bestimmte Minifiltertreiberinstanz angefügt ist.

Syntax

NTSTATUS FLTAPI FltOpenVolume(
  [in]  PFLT_INSTANCE Instance,
  [out] PHANDLE       VolumeHandle,
  [out] PFILE_OBJECT  *VolumeFileObject
);

Parameter

[in] Instance

Nicht transparenter Instanzzeiger für die Instanz. Diese Instanz muss an ein lokales Volume angefügt werden.

[out] VolumeHandle

Handle für das Dateisystemvolumen.

[out] VolumeFileObject

Zeiger auf eine vom Aufrufer zugeordnete Variable, die einen Dateiobjektzeiger für das Stammverzeichnis des Volumes empfängt. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

FltOpenVolume gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Wert wie den folgenden zurück:

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Die Instanz oder das Volume wird heruntergefahren. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Die Instanz ist an ein Netzwerkvolumen angefügt. Dies ist ein Fehlercode.

Hinweise

Wenn das im VolumeHandle-Parameter zurückgegebene Handle nicht mehr benötigt wird, muss der Aufrufer es durch Aufrufen von FltClose veröffentlichen. Daher muss jeder erfolgreiche Aufruf von FltOpenVolume durch einen nachfolgenden Aufruf von FltClose übereinstimmen.

Wenn ein Dateiobjektzeiger im VolumeFileObject-Parameter zurückgegeben wird, muss der Aufrufer ihn durch Aufrufen von ObDereferenceObject wieder frei geben, wenn er nicht mehr benötigt wird.

Die durch den Instance-Parameter angegebene Instanz muss an ein lokales Volume angefügt werden. Wenn es an ein Netzwerkvolume angefügt ist, gibt FltOpenVolume STATUS_INVALID_PARAMETER.

Rufen Sie FltGetDeviceObject auf, um einen Zeiger auf das Geräteobjekt für ein bestimmtes Volume zu erhalten.

Rufen Sie FltQueryVolumeInformation auf, um ausführliche Informationen zum Volume zu erhalten, an das eine bestimmte Instanz angefügt ist.

Anforderungen

   
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 Updaterollup 1 für SP4, Windows XP SP3, Windows Server 2003 SP1 und neueren Versionen des Windows-Betriebssystems.
Zielplattform Universell
Kopfzeile fltkernel.h (einschließlich Fltkernel.h)
Bibliothek FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

Weitere Informationen:

FltClose

FltGetDeviceObject

FltGetFilterFromInstance

FltObjectDereference

FltQueryVolumeInformation

ObDereferenceObject