FsRtlLookupPerFileObjectContext-Funktion (ntifs.h)

Für einen "Legacy"-Dateisystemfiltertreiber ruft die FsRtlLookupPerFileObjectContext-Funktion Kontextinformationen ab, die zuvor einem Dateiobjekt zugeordnet waren.

Syntax

PFSRTL_PER_FILEOBJECT_CONTEXT FsRtlLookupPerFileObjectContext(
  [in]           PFILE_OBJECT FileObject,
  [in, optional] PVOID        OwnerId,
  [in, optional] PVOID        InstanceId
);

Parameter

[in] FileObject

Ein Zeiger auf ein Dateiobjekt, für das Kontextinformationen abgerufen werden sollen.

[in, optional] OwnerId

Ein Zeiger auf eine vom Aufrufer zugeordnete Variable, die den besitzenden Filter der Kontextstruktur pro Datei eindeutig identifiziert. Das Format dieser Variablen ist filtertreiberspezifisch.

[in, optional] InstanceId

Ein Zeiger auf eine vom Aufrufer zugeordnete Variable, die verwendet werden kann, um zwischen Dateiobjektkontextstrukturen zu unterscheiden, die von demselben Filtertreiber erstellt wurden. Das Format dieser Variablen ist filtertreiberspezifisch. Dieser Parameter ist optional und kann NULL sein.

Rückgabewert

FsRtlLookupPerFileObjectContext gibt einen Zeiger auf den ersten übereinstimmenden Dateiobjektkontext zurück, der gefunden wird. Wenn keine Übereinstimmung gefunden wird, gibt FsRtlLookupPerFileObjectContextNULL zurück.

Hinweise

Ein "Legacy"-Dateisystemfiltertreiber ruft FsRtlLookupPerFileObjectContext auf, um seine Dateiobjektkontextstruktur für ein Dateiobjekt abzurufen. Die Kontextstruktur enthält Kontextinformationen, die der Filtertreiber für das Dateiobjekt verwaltet. Diese Kontextstruktur muss zuvor durch Aufrufen der FsRtlInsertPerFileObjectContext-Funktion dem Dateiobjekt zugeordnet worden sein.

Wenn die FSRTL_PER_FILEOBJECT_CONTEXT-Struktur in einen Filter eingebettet ist, der pro Datei-Objekt-Kontextstruktur definiert ist, kann das CONTAINING_RECORD Makro verwendet werden, um einen Zeiger auf den Kopf der filterdefinierte Struktur zu erhalten.

Um eine Dateiobjektkontextstruktur zu initialisieren, verwenden Sie das Makro FsRtlInitPerFileObjectContext .

Verwenden Sie die FsRtlInsertPerFileObjectContext-Funktion , um eine initialisierte Kontextstruktur pro Dateiobjekt einem Dateiobjekt zuzuordnen.

Verwenden Sie die FsRtlRemovePerFileObjectContext-Funktion , um eine dateibezogene Kontextstruktur zu entfernen, die einem Dateiobjekt zugeordnet ist.

Hinweis Dateisystem-Minifiltertreiber dürfen die FsRtlXxxPerFileObjectContext-Funktionen nicht verwenden. Stattdessen können Minifilter die FltXxx-Kontextfunktionen verwenden, um einem Dateiobjekt Kontextinformationen zuzuordnen. Eine vollständige Liste finden Sie im Thema FSRTL_PER_FILEOBJECT_CONTEXT .
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Zielplattform Universell
Header ntifs.h (include Fltkernel.h, Ntifs.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Weitere Informationen

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlInsertPerFileObjectContext

FsRtlRemovePerFileObjectContext