FsRtlInsertPerFileObjectContext 函数 (ntifs.h)

对于“旧”文件系统筛选器驱动程序,FsRtlInsertPerFileObjectContext 函数将上下文信息与文件对象相关联。

语法

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

参数

[in] FileObject

指向要关联上下文信息的文件对象的指针(由 Ptr 参数提供)。

[in] Ptr

指向调用方分配和初始化FSRTL_PER_FILEOBJECT_CONTEXT结构的指针,该结构与 fileObject 相关联。 该结构可用于 as-is 或嵌入到驱动程序定义的每个文件对象上下文信息结构中。 若要初始化结构,请使用 FsRtlInitPerFileObjectContext 宏。

返回值

FsRtlInsertPerFileObjectContext 返回相应的 NTSTATUS 值,例如以下值之一:

返回代码 描述
STATUS_SUCCESS
上下文信息结构已成功与文件对象关联。
STATUS_INVALID_PARAMETER
FileObject 参数 NULL
STATUS_INSUFFICIENT_RESOURCES
系统缺少足够的资源来完成操作。 例如,无法为 FileObject分配文件对象扩展名。

言论

文件系统筛选器驱动程序调用 FsRtlInsertPerFileObjectContext ,将自己的每文件对象上下文结构与文件对象相关联。 上下文结构包含筛选器驱动程序为文件对象维护的上下文信息。 FsRtlInsertPerStreamContext 函数将 Ptr 上下文结构插入 FileObject的上下文列表中。

所有每文件对象上下文信息结构都必须或包含初始化FSRTL_PER_FILEOBJECT_CONTEXT结构。 使用 FsRtlInitPerFileObjectContext 宏初始化FSRTL_PER_FILEOBJECT_CONTEXT结构。

FSRTL_PER_FILEOBJECT_CONTEXT结构或筛选器定义的每个文件对象上下文结构(包含初始化FSRTL_PER_FILEOBJECT_CONTEXT结构)与文件对象关联后,可以通过调用 FsRtlLookupPerFileObjectContext 或调用 FsRtlRemovePerFileObjectContext来检索它。

注意 文件系统微型筛选器驱动程序不得使用 FsRtlXxxPerFileObjectContext 函数。 相反,微筛选器可以使用 FltXxxContext 函数将上下文信息与文件对象相关联。 有关完整列表,请参阅 FSRTL_PER_FILEOBJECT_CONTEXT 主题。
 

要求

要求 价值
最低支持的客户端 Windows Vista
目标平台 普遍
标头 ntifs.h (包括 Fltkernel.h、 Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

另请参阅

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlLookupPerFileObjectContext

FsRtlRemovePerFileObjectContext