Freigeben über


FltGetVolumeFromFileObject-Funktion (fltkernel.h)

Die FltGetVolumeFromFileObject Routine gibt einen undurchsichtigen Zeiger für das Volume zurück, auf dem sich ein bestimmter Dateidatenstrom befindet.

Syntax

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [out] PFLT_VOLUME  *RetVolume
);

Parameter

[in] Filter

Undurchsichtiger Filterzeiger für den Aufrufer. Dieser Parameter ist erforderlich und kann nicht NULL-werden.

[in] FileObject

Dateiobjektzeiger für einen Dateidatenstrom, der sich auf dem Volume befindet.

[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

FltGetVolumeFromFileObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_FLT_DELETING_OBJECT
Die Lautstärke wird heruntergerissen. Dies ist ein Fehlercode.
STATUS_INVALID_PARAMETER
Es wurde kein übereinstimmende Volume gefunden. Dies ist ein Fehlercode.

Bemerkungen

FltGetVolumeFromFileObject 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 FltObjectDereferenceaufgerufen wird. Daher muss jeder erfolgreiche Aufruf von FltGetVolumeFromFileObject mit einem nachfolgenden Aufruf von FltObjectDereferenceabgeglichen werden.

Rufen Sie FltGetDeviceObjectauf, um einen Zeiger auf das Geräteobjekt für ein bestimmtes Volume abzurufen.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- fltkernel.h (include Fltkernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <= APC_LEVEL

Siehe auch

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference-