FltGetFileContext 函数 (fltkernel.h)
FltGetFileContext 例程检索由给定微型筛选器驱动程序实例为文件设置的上下文。
语法
NTSTATUS FLTAPI FltGetFileContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *Context
);
参数
[in] Instance
调用方不透明实例指针。 此参数是必需的,不能 NULL。
[in] FileObject
文件的文件对象指针。 此参数是必需的,不能 NULL。
[out] Context
指向接收上下文地址的调用方分配的变量的指针。 此参数是必需的,不能设置为 NULL。
返回值
FltGetFileContext 成功返回请求的文件上下文时返回STATUS_SUCCESS。 否则,它将返回适当的 NTSTATUS 值,例如以下值之一:
返回代码 | 描述 |
---|---|
STATUS_NOT_FOUND | 此时在此文件中找不到匹配的上下文,因此 FltMgr 将 上下文 设置为NULL_CONTEXT。 这是一个错误代码。 |
STATUS_NOT_SUPPORTED | 此文件不支持文件上下文。 这是一个错误代码。 |
言论
有关上下文的详细信息,请参阅 关于小型筛选器上下文。
微型筛选器驱动程序调用 FltGetFileContext 来检索它为给定文件设置的文件上下文。
FltGetFileContext 递增 上下文 参数指向的上下文的引用计数。 当不再需要此上下文指针时,调用方必须通过调用 FltReleaseContext来递减其引用计数。 因此,对 FltGetFileContext 的每个成功调用都必须匹配对 FltReleaseContext的后续调用。
若要设置文件上下文,请调用 FltSetFileContext。
若要分配新上下文,请调用 FltAllocateContext。
若要删除文件上下文,请调用 FltDeleteFileContext 或 FltDeleteContext。
若要确定给定文件是否支持文件上下文,请调用 FltSupportsFileContexts 或 FltSupportsFileContextsEx。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista |
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |