Freigeben über


FsRtlInsertPerFileObjectContext-Funktion (ntifs.h)

Bei einem "Legacy"-Dateisystemfiltertreiber ordnet die FsRtlInsertPerFileObjectContext-Funktion Kontextinformationen einem Dateiobjekt zu.

Syntax

NTSTATUS FsRtlInsertPerFileObjectContext(
  [in] PFILE_OBJECT                  FileObject,
  [in] PFSRTL_PER_FILEOBJECT_CONTEXT Ptr
);

Parameter

[in] FileObject

Ein Zeiger auf das Dateiobjekt, für das Kontextinformationen zugeordnet werden sollen (angegeben durch den parameter Ptr).

[in] Ptr

Ein Zeiger auf eine vom Aufrufer zugewiesene und initialisierte FSRTL_PER_FILEOBJECT_CONTEXT Struktur, die FileObject-zugeordnet werden soll. Die Struktur kann as-is oder in eine treiberdefinierte Kontextinformationsstruktur pro Dateiobjekt eingebettet werden. Verwenden Sie zum Initialisieren der Struktur das FsRtlInitPerFileObjectContext Makro.

Rückgabewert

FsRtlInsertPerFileObjectContext gibt einen geeigneten NTSTATUS-Wert zurück, z. B. einen der folgenden:

Rückgabecode Beschreibung
STATUS_SUCCESS
Die Kontextinformationsstruktur wurde erfolgreich dem Dateiobjekt zugeordnet.
STATUS_INVALID_PARAMETER
Der parameter FileObject ist NULL.
STATUS_INSUFFICIENT_RESOURCES
Das System verfügt nicht über ausreichende Ressourcen, um den Vorgang abzuschließen. Eine Dateiobjekterweiterung konnte beispielsweise nicht für FileObject-zugewiesen werden.

Bemerkungen

Ein Dateisystemfiltertreiber ruft FsRtlInsertPerFileObjectContext auf, um eine eigene Dateiobjektkontextstruktur einem Dateiobjekt zuzuordnen. Die Kontextstruktur enthält Kontextinformationen, die der Filtertreiber für das Dateiobjekt verwaltet. Die FsRtlInsertPerStreamContext--Funktion fügt die Ptr Kontextstruktur in die Kontextliste für FileObject-ein.

Alle Kontextinformationsstrukturen pro Dateiobjekt müssen eine initialisierte FSRTL_PER_FILEOBJECT_CONTEXT Struktur enthalten. Verwenden Sie das FsRtlInitPerFileObjectContext Makro, um eine FSRTL_PER_FILEOBJECT_CONTEXT Struktur zu initialisieren.

Nachdem eine FSRTL_PER_FILEOBJECT_CONTEXT Struktur oder filterdefinierte Kontextstruktur pro Dateiobjekt (die eine initialisierte FSRTL_PER_FILEOBJECT_CONTEXT-Struktur enthält) einem Dateiobjekt zugeordnet wurde, kann sie durch Aufrufen von FsRtlLookupPerFileObjectContext oder entfernt werden, indem FsRtlRemovePerFileObjectContextaufgerufen wird.

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

FsRtlLookupPerFileObjectContext-

FsRtlRemovePerFileObjectContext