Win32 API 日本語リファレンス
ホームNetworkManagement.WindowsFirewall › INetFwRule

INetFwRule

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IIDaf230d27-baba-4e42-aced-f524f22cfce2継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 36

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_Name(LPWSTR* name)
nameLPWSTR*outファイアウォール規則の名前を受け取る文字列へのポインタである。
vtbl 8 HRESULT put_Name(LPWSTR name)
nameLPWSTRinファイアウォール規則に設定する名前を指定する。
vtbl 9 HRESULT get_Description(LPWSTR* desc)
descLPWSTR*outファイアウォール規則の説明文を受け取る文字列へのポインタである。
vtbl 10 HRESULT put_Description(LPWSTR desc)
descLPWSTRinファイアウォール規則に設定する説明文を指定する。
vtbl 11 HRESULT get_ApplicationName(LPWSTR* imageFileName)
imageFileNameLPWSTR*out規則が適用されるアプリケーションの実行可能イメージファイルへのフルパスを受け取る文字列へのポインタである。
vtbl 12 HRESULT put_ApplicationName(LPWSTR imageFileName)
imageFileNameLPWSTRin規則を適用するアプリケーションの実行可能イメージファイルへのフルパスを指定する。
vtbl 13 HRESULT get_ServiceName(LPWSTR* serviceName)
serviceNameLPWSTR*out規則が適用される Windows サービスの短いサービス名を受け取る文字列へのポインタである。
vtbl 14 HRESULT put_ServiceName(LPWSTR serviceName)
serviceNameLPWSTRin規則を適用する Windows サービスの短いサービス名を指定する。すべてのサービスを対象にする場合は空文字列を指定する。
vtbl 15 HRESULT get_Protocol(INT* protocol)
protocolINT*out規則が対象とする IP プロトコル番号 (TCP は 6、UDP は 17 など) を受け取る整数へのポインタである。
vtbl 16 HRESULT put_Protocol(INT protocol)
protocolINTin規則が対象とする IP プロトコル番号を指定する。
vtbl 17 HRESULT get_LocalPorts(LPWSTR* portNumbers)
portNumbersLPWSTR*out規則が対象とするローカルポート番号 (カンマ区切り) を受け取る文字列へのポインタである。
vtbl 18 HRESULT put_LocalPorts(LPWSTR portNumbers)
portNumbersLPWSTRin規則が対象とするローカルポート番号をカンマ区切りの文字列で指定する。
vtbl 19 HRESULT get_RemotePorts(LPWSTR* portNumbers)
portNumbersLPWSTR*out規則が対象とするリモートポート番号 (カンマ区切り) を受け取る文字列へのポインタである。
vtbl 20 HRESULT put_RemotePorts(LPWSTR portNumbers)
portNumbersLPWSTRin規則が対象とするリモートポート番号をカンマ区切りの文字列で指定する。
vtbl 21 HRESULT get_LocalAddresses(LPWSTR* localAddrs)
localAddrsLPWSTR*out規則が対象とするローカル IP アドレス (カンマ区切り) を受け取る文字列へのポインタである。
vtbl 22 HRESULT put_LocalAddresses(LPWSTR localAddrs)
localAddrsLPWSTRin規則が対象とするローカル IP アドレスをカンマ区切りの文字列で指定する。
vtbl 23 HRESULT get_RemoteAddresses(LPWSTR* remoteAddrs)
remoteAddrsLPWSTR*out規則が対象とするリモート IP アドレス (カンマ区切り) を受け取る文字列へのポインタである。
vtbl 24 HRESULT put_RemoteAddresses(LPWSTR remoteAddrs)
remoteAddrsLPWSTRin規則が対象とするリモート IP アドレスをカンマ区切りの文字列で指定する。
vtbl 25 HRESULT get_IcmpTypesAndCodes(LPWSTR* icmpTypesAndCodes)
icmpTypesAndCodesLPWSTR*out規則が対象とする ICMP のタイプとコードの一覧を受け取る文字列へのポインタである。
vtbl 26 HRESULT put_IcmpTypesAndCodes(LPWSTR icmpTypesAndCodes)
icmpTypesAndCodesLPWSTRin規則が対象とする ICMP のタイプとコードの一覧を文字列で指定する。
vtbl 27 HRESULT get_Direction(NET_FW_RULE_DIRECTION* dir)
dirNET_FW_RULE_DIRECTION*out規則の方向 (受信または送信) を表す NET_FW_RULE_DIRECTION 値を受け取るポインタである。
vtbl 28 HRESULT put_Direction(NET_FW_RULE_DIRECTION dir)
dirNET_FW_RULE_DIRECTIONin規則の方向 (受信または送信) を表す NET_FW_RULE_DIRECTION 値を指定する。
vtbl 29 HRESULT get_Interfaces(VARIANT* interfaces)
interfacesVARIANT*out規則が適用されるネットワークインターフェイス名の配列を格納した VARIANT を受け取るポインタである。
vtbl 30 HRESULT put_Interfaces(VARIANT interfaces)
interfacesVARIANTin規則を適用するネットワークインターフェイス名の配列を格納した VARIANT を指定する。
vtbl 31 HRESULT get_InterfaceTypes(LPWSTR* interfaceTypes)
interfaceTypesLPWSTR*out規則が適用されるインターフェイスの種類 (RemoteAccess、Wireless、Lan など、カンマ区切り) を受け取る文字列へのポインタである。
vtbl 32 HRESULT put_InterfaceTypes(LPWSTR interfaceTypes)
interfaceTypesLPWSTRin規則を適用するインターフェイスの種類をカンマ区切りの文字列で指定する。すべてに適用する場合は "All" を指定する。
vtbl 33 HRESULT get_Enabled(VARIANT_BOOL* enabled)
enabledVARIANT_BOOL*out規則が現在有効かどうかを示す VARIANT_BOOL 値を受け取るポインタである。
vtbl 34 HRESULT put_Enabled(VARIANT_BOOL enabled)
enabledVARIANT_BOOLin規則を有効にするかどうかを示す VARIANT_BOOL 値を指定する。
vtbl 35 HRESULT get_Grouping(LPWSTR* context)
contextLPWSTR*out規則が属するグループ名 (グループ化文字列) を受け取る文字列へのポインタである。
vtbl 36 HRESULT put_Grouping(LPWSTR context)
contextLPWSTRin規則が属するグループ名 (グループ化文字列) を指定する。
vtbl 37 HRESULT get_Profiles(INT* profileTypesBitmask)
profileTypesBitmaskINT*out規則が適用されるプロファイル種類のビットマスクを受け取る整数へのポインタである。
vtbl 38 HRESULT put_Profiles(INT profileTypesBitmask)
profileTypesBitmaskINTin規則を適用するプロファイル種類のビットマスクを指定する。
vtbl 39 HRESULT get_EdgeTraversal(VARIANT_BOOL* enabled)
enabledVARIANT_BOOL*outエッジトラバーサル (NAT 越えのトラフィックを許可するか) が有効かどうかを示す VARIANT_BOOL 値を受け取るポインタである。
vtbl 40 HRESULT put_EdgeTraversal(VARIANT_BOOL enabled)
enabledVARIANT_BOOLinエッジトラバーサルを有効にするかどうかを示す VARIANT_BOOL 値を指定する。
vtbl 41 HRESULT get_Action(NET_FW_ACTION* action)
actionNET_FW_ACTION*out規則のアクション (許可またはブロック) を表す NET_FW_ACTION 値を受け取るポインタである。
vtbl 42 HRESULT put_Action(NET_FW_ACTION action)
actionNET_FW_ACTIONin規則のアクション (許可またはブロック) を表す NET_FW_ACTION 値を指定する。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_INetFwRule "{AF230D27-BABA-4E42-ACED-F524F22CFCE2}"
#usecom global INetFwRule IID_INetFwRule "{2C5BC43E-3369-4C33-AB0C-BE9469677AF4}"
#comfunc global INetFwRule_get_Name               7 var
#comfunc global INetFwRule_put_Name               8 wstr
#comfunc global INetFwRule_get_Description        9 var
#comfunc global INetFwRule_put_Description        10 wstr
#comfunc global INetFwRule_get_ApplicationName    11 var
#comfunc global INetFwRule_put_ApplicationName    12 wstr
#comfunc global INetFwRule_get_ServiceName        13 var
#comfunc global INetFwRule_put_ServiceName        14 wstr
#comfunc global INetFwRule_get_Protocol           15 var
#comfunc global INetFwRule_put_Protocol           16 int
#comfunc global INetFwRule_get_LocalPorts         17 var
#comfunc global INetFwRule_put_LocalPorts         18 wstr
#comfunc global INetFwRule_get_RemotePorts        19 var
#comfunc global INetFwRule_put_RemotePorts        20 wstr
#comfunc global INetFwRule_get_LocalAddresses     21 var
#comfunc global INetFwRule_put_LocalAddresses     22 wstr
#comfunc global INetFwRule_get_RemoteAddresses    23 var
#comfunc global INetFwRule_put_RemoteAddresses    24 wstr
#comfunc global INetFwRule_get_IcmpTypesAndCodes  25 var
#comfunc global INetFwRule_put_IcmpTypesAndCodes  26 wstr
#comfunc global INetFwRule_get_Direction          27 var
#comfunc global INetFwRule_put_Direction          28 int
#comfunc global INetFwRule_get_Interfaces         29 var
#comfunc global INetFwRule_put_Interfaces         30 int
#comfunc global INetFwRule_get_InterfaceTypes     31 var
#comfunc global INetFwRule_put_InterfaceTypes     32 wstr
#comfunc global INetFwRule_get_Enabled            33 var
#comfunc global INetFwRule_put_Enabled            34 int
#comfunc global INetFwRule_get_Grouping           35 var
#comfunc global INetFwRule_put_Grouping           36 wstr
#comfunc global INetFwRule_get_Profiles           37 var
#comfunc global INetFwRule_put_Profiles           38 int
#comfunc global INetFwRule_get_EdgeTraversal      39 var
#comfunc global INetFwRule_put_EdgeTraversal      40 int
#comfunc global INetFwRule_get_Action             41 var
#comfunc global INetFwRule_put_Action             42 int
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。