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 darf nicht NULL sein.
[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 darf nicht NULL sein.
Rückgabewert
FltGetVolumeFromFileObject gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:
Rückgabecode | Beschreibung |
---|---|
|
Das Volume wird abgerissen. Dies ist ein Fehlercode. |
|
Es wurde kein übereinstimmende Volume gefunden. Dies ist ein Fehlercode. |
Hinweise
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 durch Aufrufen von FltObjectDereference freigeben. Daher muss jeder erfolgreiche Aufruf von FltGetVolumeFromFileObject 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 |