使用 Windows 防火墙 API 限制服务未找到服务短名称

Restricting a Service using Windows Firewall APIs not finding service shortname

我正在使用示例来限制特定 windows 服务的一个端口以外的所有端口。我从 msdn 中获取示例并尝试将其用于 OpenVPN windows 服务。基本上我只是编辑了这两行:

BSTR bstrServiceName = SysAllocString(L"OpenVPNServiceInteractive"); 
BSTR bstrAppName = SysAllocString(L"C:\Program Files\OpenVPN\bin\openvpnserv.exe");

因为它需要短名称而不是显示名称,所以我在我的控制台中执行了 sc query 并找到了 OpenVPNServiceInteractive,但是当我 运行 它找不到服务短名称(句柄失败并显示:RestrictService failed: Make sure you specified a valid service shortname

所以它基本上找不到我指定的服务短名称。它是否打印(sc 查询)服务的真实短名称?为什么找不到它?

限制服务失败,因为我没有管理员权限。 运行 它作为管理员工作。