WFP 驱动程序,FwpmProviderAdd() 在 Win7 上返回 STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS

问题描述 投票:0回答:1

我正在学习如何开发 WFP 驱动程序,我构建了一个简单的 WFP 驱动程序并测试了它。

在win8、win10和win server 2016、2019上可以运行,但是在Win7上安装时,服务无法启动。

从调试日志中,FwpmProviderAdd() 在 win7 上返回“STATUS_FWP_DYNAMIC_SESSION_IN_PROGRESS”。

我检查了MS文档,但没有明白如何修复它。

以下是我的代码的一部分...

status = FwpmProviderGetByKey(g_EngineHandle, &providerGuid, &pExistingProvider);
    if (!NT_SUCCESS(status) || !pExistingProvider) {
        RtlZeroMemory(&provider, sizeof(provider));
        provider.providerKey = providerGuid;
        provider.displayData.name = L"Testing Provider";
        provider.displayData.description = L"This is for testing";
        //provider.flags = FWPM_PROVIDER_FLAG_PERSISTENT;
        provider.serviceName = L"wfptest";
        status = FwpmProviderAdd(g_EngineHandle, &provider, NULL);
        if (!NT_SUCCESS(status)) {
            TB_TRACE(TS_CRIT, TA_PACKET, ("ProviderAdd Fail = %#08x!!!!", status));
            goto _Exit;
        }

有人可以帮忙吗?

谢谢

windows driver wfp
1个回答
0
投票

我发现这是因为打开FwpmEngineOpen时的会话设置。

在win 7中,不可以将session设置为FWPM_SESSION_FLAG_DYNAMIC

© www.soinside.com 2019 - 2024. All rights reserved.