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