我实现了处理 Windows 防火墙 API 的基本库。我在财产方面遇到了奇怪的结果INetFwPolicy2::ExcludedInterfaces
。我通过设置排除接口Firewall.cpl
,当读取属性时,我得到了一些 guid 数组。我不确定这个 GUID 是从哪里来的。它不是接口 GUID。我从中选择所有接口Win32_NetworkAdapter
,但没有这样的 GUID。此外,当我尝试重新分配这个值时,我得到了无效的参数或未找到错误。此代码基于在VBS 上编写的msdn 示例,但我在 C 上遇到相同的错误真的没关系。原始示例也不起作用。
Const NET_FW_PROFILE2_PRIVATE = 2
Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")
CurrentProfiles = fwPolicy2.CurrentProfileTypes
if ( CurrentProfiles AND NET_FW_PROFILE2_PRIVATE ) then
InterfaceArray = fwPolicy2.ExcludedInterfaces(NET_FW_PROFILE2_PRIVATE)
if (IsEmpty(InterfaceArray)) then
WScript.Echo( "InterfaceArray is Empty" )
else
WScript.Echo( Join(InterfaceArray) )
end if
fwPolicy2.ExcludedInterfaces(NET_FW_PROFILE2_PRIVATE) = InterfaceArray
end if