INetFwMgr::IsPortAllowed メソッド (netfw.h)
[Windows ファイアウォール API は、[要件] セクションで指定したオペレーティング システムで使用できます。 今後のバージョンでは変更されるか、利用できなくなる場合もあります。 Windows Vista 以降では、セキュリティが強化された Windows ファイアウォール API を使用することをお勧めします。
アプリケーションが指定したポートで受信トラフィックをリッスンできるかどうかを判断します。
構文
HRESULT IsPortAllowed(
[in] BSTR imageFileName,
[in] NET_FW_IP_VERSION ipVersion,
[in] LONG portNumber,
[in] BSTR localAddress,
[in] NET_FW_IP_PROTOCOL ipProtocol,
[out] VARIANT *allowed,
[out] VARIANT *restricted
);
パラメーター
[in] imageFileName
ネットワーク上でリッスンしているプロセスのイメージ ファイル名。 完全修飾パスである必要がありますが、環境変数を含めることができます。 imageFileName が NULL の場合、関数はポートがすべてのアプリケーションに対して許可されているかどうかを判断します。
[in] ipVersion
トラフィックの IP バージョン。 localAddress が NULL 以外の場合は、NET_FW_IP_VERSION_ANYすることはできません。
[in] portNumber
トラフィックのローカル IP ポート番号。
[in] localAddress
トラフィックのローカル アドレスを指定するドット 10 進数の IPv4 アドレスまたは IPv6 16 進アドレス。 通常、これはバインドに渡されるアドレスです。 localAddress が NULL の場合、関数はポートがすべてのインターフェイスに対して許可されているかどうかを判断します。
[in] ipProtocol
NET_FW_IP_PROTOCOL_TCPまたはNET_FW_IP_PROTOCOL_UDPのいずれかのトラフィックの IP プロトコル。
[out] allowed
少なくとも一部のローカル インターフェイスとリモート アドレスに対してポートが許可されているかどうかをVARIANT_TRUEまたはVARIANT_FALSEの値で示します。
[out] restricted
このポートに対して一部のローカル インターフェイスまたはリモート アドレスがブロックされているかどうかをVARIANT_TRUEまたはVARIANT_FALSEの値で示します。 たとえば、ポートがローカル サブネットのみに制限されている場合です。
戻り値
C++
リターン コード | 説明 |
---|---|
|
アクセス許可の問題が原因で操作が停止されました。 |
|
パラメーターが無効であるため、メソッドは失敗しました。 |
|
メソッドで必要なメモリを割り当てることができませんでした。 |
|
ポインターが有効でなかったため、メソッドが失敗しました。 |
VB
メソッドが成功した場合、戻り値はS_OK。メソッドが失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
アクセス許可の問題が原因で操作が停止されました。 |
|
パラメーターが無効であるため、メソッドは失敗しました。 |
|
メソッドで必要なメモリを割り当てることができませんでした。 |
|
ポインターが有効でなかったため、メソッドが失敗しました。 |
注釈
INetFwPolicy2::IsRuleGroupEnabled メソッドは、通常、このメソッドの代わりに推奨されます。
IsPortAllowed メソッドは、現在のファイアウォール構成でトラフィックが許可されるかどうかを確認します。
- 特定のアプリケーション。
- 特定のポート。
- 特定のポート上の特定のアプリケーション。
IsPortAllowed では、ファイアウォールが現在有効か無効か、アプリケーションが現在のプロファイルの例外リストで許可されているかどうか、現在のプロファイル例外リストでポートが許可されているかどうか、ファイルと印刷の共有オプションが有効になっているかどうか、リモート管理オプションが有効になっているかどうかが考慮されます。
ポートが許可されるかどうかを判断する多くの要因により、このメソッドの入力パラメーターを介して指定されるより具体的な情報は、意味のある制限を持つ明確な結果が返される可能性が高くなります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 SP1 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | netfw.h |
[DLL] | FirewallAPI.dll;SP2 を使用した Windows XP での Hnetcfg.dll |