Freigeben über


FltGetVolumeFromDeviceObject-Funktion (fltkernel.h)

Die FltGetVolumeFromDeviceObject Routine gibt einen undurchsichtigen Zeiger für das Volume zurück, das durch ein Volumegeräteobjekt (Volume Device Object, VDO) dargestellt wird.

Syntax

NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
  [in]  PFLT_FILTER    Filter,
  [in]  PDEVICE_OBJECT DeviceObject,
  [out] PFLT_VOLUME    *RetVolume
);

Parameter

[in] Filter

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

[in] DeviceObject

Zeiger auf das Volumegerätobjekt.

[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

FltGetVolumeFromDeviceObject gibt STATUS_SUCCESS oder einen entsprechenden 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 Das im DeviceObject Parameter angegebene Volumegerätobjekt wurde nicht als gültiger Volumeobjektzeiger angegeben, oder es wurde kein übereinstimmende Volume gefunden. Dies ist ein Fehlercode.

Bemerkungen

Der DeviceObject Parameter kann ein Zeiger auf einen Filter oder ein Dateisystemvolumegeräteobjekt (VDO) sein. Wenn es auf ein Speichergerätobjekt verweist, gibt FltGetVolumeFromDeviceObject- STATUS_INVALID_PARAMETER zurück.

Weitere Informationen zu Volumegeräteobjekten finden Sie unter Dateisystemstapel.

FltGetVolumeFromDeviceObject fügt einen Rundownverweis auf den im RetVolume Parameter zurückgegebenen undurchsichtigen Volumezeiger hinzu. Wenn dieser Zeiger nicht mehr benötigt wird, muss der Aufrufer ihn freigeben, indem er FltObjectDereference-aufruft. Daher muss jeder erfolgreiche Aufruf von FltGetVolumeFromDeviceObject durch einen nachfolgenden Aufruf von FltObjectDereferenceabgeglichen werden.

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

Anforderungen

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

Siehe auch

FltGetDeviceObject-

FltGetDiskDeviceObject

FltObjectDereference