Freigeben über


FsRtlLookupPerFileObjectContext-Funktion (ntifs.h)

Bei einem "Legacy"-Dateisystemfiltertreiber ruft der 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 abfragt werden sollen.

[in, optional] OwnerId

Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die den eigenen Filter der Kontextstruktur pro Dateiobjekt eindeutig identifiziert. Das Format dieser Variablen ist filtertreiberspezifisch.

[in, optional] InstanceId

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

Rückgabewert

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

Bemerkungen

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

Wenn die FSRTL_PER_FILEOBJECT_CONTEXT-Struktur in eine filterdefinierte Kontextstruktur pro Dateiobjekt eingebettet ist, kann das CONTAINING_RECORD Makro verwendet werden, um einen Zeiger auf den Kopf der filterdefinierten Struktur abzurufen.

Um eine Kontextstruktur pro Dateiobjekt zu initialisieren, verwenden Sie das FsRtlInitPerFileObjectContext Makro.

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

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

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

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Universal
Header- ntifs.h (einschließlich Fltkernel.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= APC_LEVEL

Siehe auch

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlInsertPerFileObjectContext

FsRtlRemovePerFileObjectContext