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 |
---|---|
|
Die Kontextinformationsstruktur wurde erfolgreich dem Dateiobjekt zugeordnet. |
|
Der parameter FileObject ist NULL. |
|
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.
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 |