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 darf nicht NULL sein.
[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 darf nicht NULL sein.
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 | Das Volume wird abgerissen. Dies ist ein Fehlercode. |
STATUS_INVALID_PARAMETER | Das im DeviceObject-Parameter angegebene Volumegerätobjekt war kein gültiger Volumegeräteobjektzeiger, oder es wurde kein übereinstimmende Volume gefunden. Dies ist ein Fehlercode. |
Hinweise
Der DeviceObject-Parameter kann ein Zeiger auf einen Filter oder ein Dateisystemvolumegeräteobjekt (VDO) sein. Wenn es auf ein Speichergeräteobjekt verweist, gibt FltGetVolumeFromDeviceObject STATUS_INVALID_PARAMETER zurück.
Weitere Informationen zu Volumegeräteobjekten finden Sie unter Dateisystemstapel.
FltGetVolumeFromDeviceObject 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 FltGetVolumeFromDeviceObject durch einen nachfolgenden Aufruf von FltObjectDereference abgeglichen werden.
Um einen Zeiger auf das Geräteobjekt für ein bestimmtes Volume abzurufen, rufen Sie FltGetDeviceObject auf.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |