获取上下文

一旦微筛选器驱动程序 为对象设置了上下文 ,它就可以通过调用以下 get 例程之一来获取上下文:

每次成功的获取例程都会递增上下文上的引用计数,要求微筛选器在不再需要上下文指针时调用 FltReleaseContext

在以下代码示例(取自 SwapBuffers 示例微筛选器)中,微筛选器驱动程序调用 FltGetVolumeContext 以获取卷上下文:

status = FltGetVolumeContext(
 FltObjects->Filter,    //Filter
 FltObjects->Volume,    //Volume
                &volCtx);              //Context
...
if (volCtx != NULL) {
 FltReleaseContext(volCtx);
}

如果对 FltGetVolumeContext 的调用成功, Context 参数将接收调用方卷上下文的地址。 FltGetVolumeContext 递增 上下文 指针上的引用计数。 因此,当不再需要此指针时,微筛选器驱动程序必须通过调用 FltReleaseContext 来释放它。