次の方法で共有


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

ネットワーク上でリッスンしているプロセスのイメージ ファイル名。 完全修飾パスである必要がありますが、環境変数を含めることができます。 imageFileNameNULL の場合、関数はポートがすべてのアプリケーションに対して許可されているかどうかを判断します。

[in] ipVersion

トラフィックの IP バージョン。 localAddressNULL 以外の場合は、NET_FW_IP_VERSION_ANYすることはできません。

[in] portNumber

トラフィックのローカル IP ポート番号。

[in] localAddress

トラフィックのローカル アドレスを指定するドット 10 進数の IPv4 アドレスまたは IPv6 16 進アドレス。 通常、これはバインドに渡されるアドレスです。 localAddressNULL の場合、関数はポートがすべてのインターフェイスに対して許可されているかどうかを判断します。

[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++

リターン コード 説明
E_ACCESSDENIED
アクセス許可の問題が原因で操作が停止されました。
E_INVALIDARG
パラメーターが無効であるため、メソッドは失敗しました。
E_OUTOFMEMORY
メソッドで必要なメモリを割り当てることができませんでした。
E_POINTER
ポインターが有効でなかったため、メソッドが失敗しました。
 

VB

メソッドが成功した場合、戻り値はS_OK。

メソッドが失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
E_ACCESSDENIED
アクセス許可の問題が原因で操作が停止されました。
E_INVALIDARG
パラメーターが無効であるため、メソッドは失敗しました。
E_OUTOFMEMORY
メソッドで必要なメモリを割り当てることができませんでした。
E_POINTER
ポインターが有効でなかったため、メソッドが失敗しました。

注釈

INetFwPolicy2::IsRuleGroupEnabled メソッドは、通常、このメソッドの代わりに推奨されます。

IsPortAllowed メソッドは、現在のファイアウォール構成でトラフィックが許可されるかどうかを確認します。

  • 特定のアプリケーション。
  • 特定のポート。
  • 特定のポート上の特定のアプリケーション。

IsPortAllowed では、ファイアウォールが現在有効か無効か、アプリケーションが現在のプロファイルの例外リストで許可されているかどうか、現在のプロファイル例外リストでポートが許可されているかどうか、ファイルと印刷の共有オプションが有効になっているかどうか、リモート管理オプションが有効になっているかどうかが考慮されます。

ポートが許可されるかどうかを判断する多くの要因により、このメソッドの入力パラメーターを介して指定されるより具体的な情報は、意味のある制限を持つ明確な結果が返される可能性が高くなります。

要件

要件
サポートされている最小のクライアント Windows Vista、SP2 を使用した Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー netfw.h
[DLL] FirewallAPI.dll;SP2 を使用した Windows XP での Hnetcfg.dll

こちらもご覧ください

INetFwMgr

NET_FW_IP_PROTOCOL

NET_FW_IP_VERSION