FltGetSectionContext 函数 (fltkernel.h)
FltGetSectionContext 例程检索由指定的微筛选器驱动程序实例为文件流创建的节上下文。
语法
NTSTATUS FLTAPI FltGetSectionContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *Context
);
参数
[in] Instance
要检索其上下文的微筛选器驱动程序实例的不透明实例指针。
[in] FileObject
指向流的文件对象的指针。
[out] Context
指向调用方分配的变量的指针,该变量接收上下文的地址。 此参数是必需的,不能设置为 NULL。
返回值
FltGetSectionContext 在成功返回请求的节上下文时返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 值,例如以下值之一:
返回代码 | 说明 |
---|---|
STATUS_NOT_FOUND | 此时此文件上找不到匹配的上下文,因此 FltMgr 将 Context 设置为 NULL_CONTEXT。 这是错误代码。 |
STATUS_NOT_SUPPORTED | 附加到此实例的卷不支持节上下文。 这是错误代码。 |
注解
有关上下文的详细信息,请参阅 关于微筛选器上下文。
FltGetSectionContext 检索由指定的微筛选器驱动程序实例为文件流创建的节上下文。 通过调用 FltCreateSectionForDataScan 创建节上下文。
FltGetSectionContext 递增 Context 参数指向的上下文上的引用计数。 当不再需要此上下文指针时,调用方必须通过调用 FltReleaseContext 来递减其引用计数。 因此,每次成功调用 FltGetSectionContext 都必须与对 FltReleaseContext 的后续调用相匹配。
若要分配新上下文,请调用 FltAllocateContext。
微筛选器不得显式删除传递给 FltCreateSectionForDataScan 的节上下文。 在这种情况下,通过调用 FltCloseSectionForDataScan ,将解除分配节上下文并将其从流中删除。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |