INetFwRule
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
規則のプロパティにアクセスします。
解説(Remarks)
規則のプロパティを変更するたびに、Windows ファイアウォールはその規則をコミットし、正しさを検証します。そのため、規則を編集する際は特定の順序で手順を実行する必要があります。たとえば ICMP のファイアウォール規則を追加する場合は、先にプロトコルを ICMP に設定してから規則を追加しなければなりません。これらの手順を逆の順序で行うと、エラーが発生し変更内容は失われます。
TCP ポートの規則を編集して ICMP の規則に変換する場合は、まずポートを削除し、次にプロトコルを TCP から ICMP に変更してから、規則を追加します。
既存の規則を取得して変更するには、このインターフェイスのインスタンスを INetFwRules 経由で取得する必要があります。すべての構成変更は直ちに反映されます。
規則のプロパティにアクセスする際は、新しく追加した規則が適用されるまでにわずかな時間差が生じる場合があることに注意してください。
プロパティはファイアウォール規則の作成に使用します。多くのプロパティを利用することで、非常に細かく指定したファイアウォール規則を作成できます。
| プロパティ | 型と形式 | 制約 |
|---|---|---|
| Name | プレーンテキストの文字列。 | 必須。文字列に "|" を含めることはできず、"all" にすることもできません。 |
| Description | プレーンテキストの文字列。 | 省略可能。文字列に "|" を含めることはできません。 |
| Grouping | "@<dll 名>, <リソース文字列識別子>" という形式の文字列。 | 必須。 |
| Enabled | ブール値 (VARIANT_BOOLEAN)。 | 省略可能。何も指定しない場合の既定値は false (VARIANT_FALSE) です。 |
| ApplicationName | プレーンテキストの文字列。 | 省略可能。 |
| ServiceName | プレーンテキストの文字列。 | 省略可能。 |
| LocalPorts | ポート番号の一覧を含むプレーンテキストの文字列。"RPC" も有効な値です。 | 省略可能。 |
| RemotePorts | ポート番号の一覧を含むプレーンテキストの文字列。 | 省略可能。 |
| LocalAddresses | コンマ区切りの IPv4 および IPv6 アドレスの一覧を含むプレーンテキストの文字列。この一覧では範囲指定および "*" も使用できます。 | 省略可能。 |
| RemoteAddresses | コンマ区切りの IPv4 および IPv6 アドレスの一覧を含むプレーンテキストの文字列。この一覧では範囲指定および "*" も使用できます。 | 省略可能。 |
| Protocol | 数値。 | 省略可能。 |
| put_Profiles | "type, code" という形式の文字列値。複数の type と code の組を ";" で区切って 1 つの文字列に含めることができます。 | 省略可能。 |
| Interfaces | インターフェイスのフレンドリ名を格納した文字列の配列。 | 省略可能。 |
| InterfaceTypes | 文字列値。複数のインターフェイスの種類を "," で区切って 1 つの文字列に含めることができます。指定できる値は "RemoteAccess"、"Wireless"、"Lan"、"All" です。 | 省略可能。 |
| Direction | 列挙値。 | 省略可能。 |
| Action | 列挙値。 | 省略可能。 |
| EdgeTraversal | ブール値 (VARIANT_BOOLEAN)。 | 省略可能。 |
| Profiles | 列挙値。 | 省略可能。 |
各プロパティの詳細については、対応するトピックを参照してください。
メソッド 36
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
この規則のフレンドリ名を指定します。(Get)
| name | LPWSTR* | out | ファイアウォール規則の名前を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは必須です。文字列に "|" 文字を含めることはできません。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則のフレンドリ名を指定します。(Put)
| name | LPWSTR | in | ファイアウォール規則に設定する名前を指定する。 |
解説(Remarks)
このプロパティは必須です。文字列に "|" 文字を含めることはできません。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則の説明を指定します。(Get)
| desc | LPWSTR* | out | ファイアウォール規則の説明文を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。文字列に "|" 文字を含めることはできません。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則の説明を指定します。(Put)
| desc | LPWSTR | in | ファイアウォール規則に設定する説明文を指定する。 |
解説(Remarks)
このプロパティは省略可能です。文字列に "|" 文字を含めることはできません。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるアプリケーションのフレンドリ名を指定します。(Get)
| imageFileName | LPWSTR* | out | 規則が適用されるアプリケーションの実行可能イメージファイルへのフルパスを受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるアプリケーションのフレンドリ名を指定します。(Put)
| imageFileName | LPWSTR | in | 規則を適用するアプリケーションの実行可能イメージファイルへのフルパスを指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
アプリケーションのサービス名プロパティを指定します。(Get)
| serviceName | LPWSTR* | out | 規則が適用される Windows サービスの短いサービス名を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。serviceName の値が "*" の場合は、アプリケーションではなくサービスがトラフィックを送受信していなければならないことを示します。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
アプリケーションのサービス名プロパティを指定します。(Put)
| serviceName | LPWSTR | in | 規則を適用する Windows サービスの短いサービス名を指定する。すべてのサービスを対象にする場合は空文字列を指定する。 |
解説(Remarks)
このプロパティは省略可能です。serviceName の値が "*" の場合は、アプリケーションではなくサービスがトラフィックを送受信していなければならないことを示します。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則の IP プロトコルを指定します。(Get)
| protocol | INT* | out | 規則が対象とする IP プロトコル番号 (TCP は 6、UDP は 17 など) を受け取る整数へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは LocalPorts プロパティや RemotePorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
プロトコル番号の一覧は IANA の Web サイトで参照できます。
この規則の IP プロトコルを指定します。(Put)
| protocol | INT | in | 規則が対象とする IP プロトコル番号を指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは LocalPorts プロパティや RemotePorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
プロトコル番号の一覧は IANA の Web サイトで参照できます。
この規則のローカルポートの一覧を指定します。(Get)
| portNumbers | LPWSTR* | out | 規則が対象とするローカルポート番号 (カンマ区切り) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは LocalPorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
この規則のローカルポートの一覧を指定します。(Put)
| portNumbers | LPWSTR | in | 規則が対象とするローカルポート番号をカンマ区切りの文字列で指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは LocalPorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
この規則のリモートポートの一覧を指定します。(Get)
| portNumbers | LPWSTR* | out | 規則が対象とするリモートポート番号 (カンマ区切り) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは RemotePorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
この規則のリモートポートの一覧を指定します。(Put)
| portNumbers | LPWSTR | in | 規則が対象とするリモートポート番号をカンマ区切りの文字列で指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Protocol プロパティは RemotePorts プロパティより先に設定する必要があります。そうしないとエラーが返されます。
この規則のローカルアドレスの一覧を指定します。(Get)
| localAddrs | LPWSTR* | out | 規則が対象とするローカル IP アドレス (カンマ区切り) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
localAddrs パラメーターは、アプリケーションがトラフィックを待ち受けるローカルアドレスを指定する、1 つ以上のコンマ区切りトークンで構成されます。既定値は "*" です。有効なトークンは次のとおりです。
- "*" は任意のローカルアドレスを示します。指定する場合、これが唯一のトークンでなければなりません。
- "Defaultgateway"
- "DHCP"
- "WINS"
- "LocalSubnet" はローカルサブネット上の任意のローカルアドレスを示します。このトークンは大文字と小文字を区別しません。
- サブネットは、サブネットマスクまたはネットワークプレフィックス表記のいずれかで指定できます。サブネットマスクもネットワークプレフィックスも指定しない場合、サブネットマスクの既定値は 255.255.255.255 になります。
- 有効な IPv6 アドレス。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv4 アドレスの範囲。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv6 アドレスの範囲。
この規則のローカルアドレスの一覧を指定します。(Put)
| localAddrs | LPWSTR | in | 規則が対象とするローカル IP アドレスをカンマ区切りの文字列で指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
localAddrs パラメーターは、アプリケーションがトラフィックを待ち受けるローカルアドレスを指定する、1 つ以上のコンマ区切りトークンで構成されます。既定値は "*" です。有効なトークンは次のとおりです。
- "*" は任意のローカルアドレスを示します。指定する場合、これが唯一のトークンでなければなりません。
- "Defaultgateway"
- "DHCP"
- "WINS"
- "LocalSubnet" はローカルサブネット上の任意のローカルアドレスを示します。このトークンは大文字と小文字を区別しません。
- サブネットは、サブネットマスクまたはネットワークプレフィックス表記のいずれかで指定できます。サブネットマスクもネットワークプレフィックスも指定しない場合、サブネットマスクの既定値は 255.255.255.255 になります。
- 有効な IPv6 アドレス。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv4 アドレスの範囲。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv6 アドレスの範囲。
この規則のリモートアドレスの一覧を指定します。(Get)
| remoteAddrs | LPWSTR* | out | 規則が対象とするリモート IP アドレス (カンマ区切り) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
remoteAddrs パラメーターは、アプリケーションがトラフィックを待ち受けるリモートアドレスを指定する、1 つ以上のコンマ区切りトークンで構成されます。既定値は "*" です。有効なトークンは次のとおりです。
- "*" は任意のリモートアドレスを示します。指定する場合、これが唯一のトークンでなければなりません。
- "Defaultgateway"
- "DHCP"
- "DNS"
- "WINS"
- "LocalSubnet" はローカルサブネット上の任意のローカルアドレスを示します。このトークンは大文字と小文字を区別しません。
- サブネットは、サブネットマスクまたはネットワークプレフィックス表記のいずれかで指定できます。サブネットマスクもネットワークプレフィックスも指定しない場合、サブネットマスクの既定値は 255.255.255.255 になります。
- 有効な IPv6 アドレス。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv4 アドレスの範囲。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv6 アドレスの範囲。
この規則のリモートアドレスの一覧を指定します。(Put)
| remoteAddrs | LPWSTR | in | 規則が対象とするリモート IP アドレスをカンマ区切りの文字列で指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
remoteAddrs パラメーターは、アプリケーションがトラフィックを待ち受けるリモートアドレスを指定する、1 つ以上のコンマ区切りトークンで構成されます。既定値は "*" です。有効なトークンは次のとおりです。
- "*" は任意のリモートアドレスを示します。指定する場合、これが唯一のトークンでなければなりません。
- "Defaultgateway"
- "DHCP"
- "DNS"
- "WINS"
- "LocalSubnet" はローカルサブネット上の任意のローカルアドレスを示します。このトークンは大文字と小文字を区別しません。
- サブネットは、サブネットマスクまたはネットワークプレフィックス表記のいずれかで指定できます。サブネットマスクもネットワークプレフィックスも指定しない場合、サブネットマスクの既定値は 255.255.255.255 になります。
- 有効な IPv6 アドレス。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv4 アドレスの範囲。
- "開始アドレス - 終了アドレス" の形式 (空白を含めない) で指定する IPv6 アドレスの範囲。
この規則の ICMP タイプおよびコードの一覧を指定します。(Get)
| icmpTypesAndCodes | LPWSTR* | out | 規則が対象とする ICMP のタイプとコードの一覧を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
icmpTypesAndCodes パラメーターは、セミコロンで区切られた ICMP タイプとコードの一覧です。"*" はすべての ICMP タイプとコードを示します。
この規則の ICMP タイプおよびコードの一覧を指定します。(Put)
| icmpTypesAndCodes | LPWSTR | in | 規則が対象とする ICMP のタイプとコードの一覧を文字列で指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
icmpTypesAndCodes パラメーターは、セミコロンで区切られた ICMP タイプとコードの一覧です。"*" はすべての ICMP タイプとコードを示します。
この規則が適用されるトラフィックの方向を指定します。(Get)
| dir | NET_FW_RULE_DIRECTION* | out | 規則の方向 (受信または送信) を表す NET_FW_RULE_DIRECTION 値を受け取るポインタである。 |
解説(Remarks)
このプロパティは省略可能です。指定しない場合、既定値は in (受信) です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるトラフィックの方向を指定します。(Put)
| dir | NET_FW_RULE_DIRECTION | in | 規則の方向 (受信または送信) を表す NET_FW_RULE_DIRECTION 値を指定する。 |
解説(Remarks)
このプロパティは省略可能です。指定しない場合、既定値は in (受信) です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるインターフェイスの一覧を指定します。(Get)
| interfaces | VARIANT* | out | 規則が適用されるネットワークインターフェイス名の配列を格納した VARIANT を受け取るポインタである。 |
解説(Remarks)
このプロパティは省略可能です。一覧に含まれるインターフェイスはフレンドリ名で表されます。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるインターフェイスの一覧を指定します。(Put)
| interfaces | VARIANT | in | 規則を適用するネットワークインターフェイス名の配列を格納した VARIANT を指定する。 |
解説(Remarks)
このプロパティは省略可能です。一覧に含まれるインターフェイスはフレンドリ名で表されます。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が適用されるインターフェイスの種類の一覧を指定します。(Get)
| interfaceTypes | LPWSTR* | out | 規則が適用されるインターフェイスの種類 (RemoteAccess、Wireless、Lan など、カンマ区切り) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
このプロパティに指定できる値は "RemoteAccess"、"Wireless"、"Lan"、"All" です。複数のインターフェイスの種類を指定する場合は、文字列をコンマで区切る必要があります。
この規則が適用されるインターフェイスの種類の一覧を指定します。(Put)
| interfaceTypes | LPWSTR | in | 規則を適用するインターフェイスの種類をカンマ区切りの文字列で指定する。すべてに適用する場合は "All" を指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
このプロパティに指定できる値は "RemoteAccess"、"Wireless"、"Lan"、"All" です。複数のインターフェイスの種類を指定する場合は、文字列をコンマで区切る必要があります。
規則を有効または無効にします。(Get)
| enabled | VARIANT_BOOL* | out | 規則が現在有効かどうかを示す VARIANT_BOOL 値を受け取るポインタである。 |
解説(Remarks)
このプロパティは省略可能です。新しい規則は既定で無効になっています。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
規則を有効または無効にします。(Put)
| enabled | VARIANT_BOOL | in | 規則を有効にするかどうかを示す VARIANT_BOOL 値を指定する。 |
解説(Remarks)
このプロパティは省略可能です。新しい規則は既定で無効になっています。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
個々の規則が属するグループを指定します。(Get)
| context | LPWSTR* | out | 規則が属するグループ名 (グループ化文字列) を受け取る文字列へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Grouping プロパティの使用を強く推奨します。これにより、複数の規則が Windows ファイアウォールのコントロールパネルで 1 行にまとめて表示されます。ユーザーは 1 回のクリックで複数の規則を有効または無効にできます。Grouping プロパティは間接文字列でも指定できます。この場合、Windows ファイアウォールのコントロールパネルの規則グループのプロパティに表示されるグループの説明も指定できます。たとえば、グループ文字列をインデックス 1005 の間接文字列 ("@yourresources.dll,-1005") で指定した場合、グループの説明はそれより 10000 大きいリソース文字列 "@youresources.dll,-11005" で指定できます。
"h" 形式の間接文字列を Windows Firewall with Advanced Security API のパラメーターとして渡す場合、対象のファイルは Windows の System32 ディレクトリ配下に配置するか、フルパスで指定する必要があります。さらに、Windows ファイアウォールサービスが文字列を読み取れるように、Local Service アカウントに読み取りアクセスを許可する安全なアクセス権をファイルに設定する必要があります。特権を持たないセキュリティプリンシパルによる文字列の改変を防ぐため、DLL への書き込みアクセスは Administrator アカウントにのみ許可してください。
個々の規則が属するグループを指定します。(Put)
| context | LPWSTR | in | 規則が属するグループ名 (グループ化文字列) を指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Grouping プロパティの使用を強く推奨します。これにより、複数の規則が Windows ファイアウォールのコントロールパネルで 1 行にまとめて表示されます。ユーザーは 1 回のクリックで複数の規則を有効または無効にできます。Grouping プロパティは間接文字列でも指定できます。この場合、Windows ファイアウォールのコントロールパネルの規則グループのプロパティに表示されるグループの説明も指定できます。たとえば、グループ文字列をインデックス 1005 の間接文字列 ("@yourresources.dll,-1005") で指定した場合、グループの説明はそれより 10000 大きいリソース文字列 "@youresources.dll,-11005" で指定できます。
"h" 形式の間接文字列を Windows Firewall with Advanced Security API のパラメーターとして渡す場合、対象のファイルは Windows の System32 ディレクトリ配下に配置するか、フルパスで指定する必要があります。さらに、Windows ファイアウォールサービスが文字列を読み取れるように、Local Service アカウントに読み取りアクセスを許可する安全なアクセス権をファイルに設定する必要があります。特権を持たないセキュリティプリンシパルによる文字列の改変を防ぐため、DLL への書き込みアクセスは Administrator アカウントにのみ許可してください。
この規則が属するプロファイルを指定します。(Get)
| profileTypesBitmask | INT* | out | 規則が適用されるプロファイル種類のビットマスクを受け取る整数へのポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則が属するプロファイルを指定します。(Put)
| profileTypesBitmask | INT | in | 規則を適用するプロファイル種類のビットマスクを指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則でエッジトラバーサルが有効か無効かを示します。(Get)
| enabled | VARIANT_BOOL* | out | エッジトラバーサル (NAT 越えのトラフィックを許可するか) が有効かどうかを示す VARIANT_BOOL 値を受け取るポインタである。 |
解説(Remarks)
EdgeTraversal プロパティは、特定の受信トラフィックが Teredo トンネリング技術を用いて NAT やその他のエッジデバイスをトンネル経由で通過できることを示します。この設定が正しく機能するには、受信ファイアウォール規則の対象となるアプリケーションまたはサービスが IPv6 をサポートしている必要があります。この設定の主な用途は、ホスト上のリスナーを Teredo IPv6 アドレスによってグローバルにアドレス指定可能にすることです。
新しい規則では EdgeTraversal プロパティは既定で無効です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
この規則でエッジトラバーサルが有効か無効かを示します。(Put)
| enabled | VARIANT_BOOL | in | エッジトラバーサルを有効にするかどうかを示す VARIANT_BOOL 値を指定する。 |
解説(Remarks)
EdgeTraversal プロパティは、特定の受信トラフィックが Teredo トンネリング技術を用いて NAT やその他のエッジデバイスをトンネル経由で通過できることを示します。この設定が正しく機能するには、受信ファイアウォール規則の対象となるアプリケーションまたはサービスが IPv6 をサポートしている必要があります。この設定の主な用途は、ホスト上のリスナーを Teredo IPv6 アドレスによってグローバルにアドレス指定可能にすることです。
新しい規則では EdgeTraversal プロパティは既定で無効です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
規則または既定の設定に対するアクションを指定します。(INetFwRule.get_Action)
| action | NET_FW_ACTION* | out | 規則のアクション (許可またはブロック) を表す NET_FW_ACTION 値を受け取るポインタである。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
規則または既定の設定に対するアクションを指定します。(INetFwRule.put_Action)
| action | NET_FW_ACTION | in | 規則のアクション (許可またはブロック) を表す NET_FW_ACTION 値を指定する。 |
解説(Remarks)
このプロパティは省略可能です。
プロパティ変更に関する制約については、INetFwRule インターフェイスのページの「解説」セクションも参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
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 不要)。#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 sptr #comfunc global INetFwRule_put_Name 8 wstr #comfunc global INetFwRule_get_Description 9 sptr #comfunc global INetFwRule_put_Description 10 wstr #comfunc global INetFwRule_get_ApplicationName 11 sptr #comfunc global INetFwRule_put_ApplicationName 12 wstr #comfunc global INetFwRule_get_ServiceName 13 sptr #comfunc global INetFwRule_put_ServiceName 14 wstr #comfunc global INetFwRule_get_Protocol 15 sptr #comfunc global INetFwRule_put_Protocol 16 int #comfunc global INetFwRule_get_LocalPorts 17 sptr #comfunc global INetFwRule_put_LocalPorts 18 wstr #comfunc global INetFwRule_get_RemotePorts 19 sptr #comfunc global INetFwRule_put_RemotePorts 20 wstr #comfunc global INetFwRule_get_LocalAddresses 21 sptr #comfunc global INetFwRule_put_LocalAddresses 22 wstr #comfunc global INetFwRule_get_RemoteAddresses 23 sptr #comfunc global INetFwRule_put_RemoteAddresses 24 wstr #comfunc global INetFwRule_get_IcmpTypesAndCodes 25 sptr #comfunc global INetFwRule_put_IcmpTypesAndCodes 26 wstr #comfunc global INetFwRule_get_Direction 27 sptr #comfunc global INetFwRule_put_Direction 28 int #comfunc global INetFwRule_get_Interfaces 29 sptr #comfunc global INetFwRule_put_Interfaces 30 int #comfunc global INetFwRule_get_InterfaceTypes 31 sptr #comfunc global INetFwRule_put_InterfaceTypes 32 wstr #comfunc global INetFwRule_get_Enabled 33 sptr #comfunc global INetFwRule_put_Enabled 34 int #comfunc global INetFwRule_get_Grouping 35 sptr #comfunc global INetFwRule_put_Grouping 36 wstr #comfunc global INetFwRule_get_Profiles 37 sptr #comfunc global INetFwRule_put_Profiles 38 int #comfunc global INetFwRule_get_EdgeTraversal 39 sptr #comfunc global INetFwRule_put_EdgeTraversal 40 int #comfunc global INetFwRule_get_Action 41 sptr #comfunc global INetFwRule_put_Action 42 int ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。