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 相关联。 结构可以按原样使用,也可以嵌入到驱动程序定义的每个文件对象上下文信息结构中。 若要初始化 结构,请使用 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结构或筛选器定义的 per-file-object 上下文结构 (包含初始化FSRTL_PER_FILEOBJECT_CONTEXT结构) 已与文件对象关联之后,可以通过调用 FsRtlLookupPerFileObjectContext 来检索它,或通过调用 FsRtlRemovePerFileObjectContext 将其删除。

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

要求

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

另请参阅

FSRTL_PER_FILEOBJECT_CONTEXT

FsRtlInitPerFileObjectContext

FsRtlLookupPerFileObjectContext

FsRtlRemovePerFileObjectContext