GetBestInterface 関数 (iphlpapi.h)

GetBestInterface 関数は、指定された IPv4 アドレスへの最適なルートを持つインターフェイスのインデックスを取得します。

Syntax

IPHLPAPI_DLL_LINKAGE DWORD GetBestInterface(
  [in]  IPAddr dwDestAddr,
  [out] PDWORD pdwBestIfIndex
);

Parameters

[in] dwDestAddr

IPAddr 構造体の形式で、最適なルートを持つインターフェイスを取得する宛先 IPv4 アドレス。

[out] pdwBestIfIndex

dwDestAddr で指定された IPv4 アドレスへの最適なルートを持つインターフェイスのインデックスを受け取る DWORD 変数へのポインター。

値を返す

関数が成功した場合、戻り値はNO_ERROR。

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

リターン コード 説明
ERROR_CAN_NOT_COMPLETE
操作を完了できませんでした。
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、pdwBestIfIndex パラメーターで NULL ポインターが渡された場合、または pdwBestIfIndex が書き込むことができないメモリを指している場合に返されます。
ERROR_NOT_SUPPORTED
要求はサポートされていません。 このエラーは、ローカル コンピューターに IPv4 スタックがない場合に返されます。
その他
FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。

解説

GetBestInterface 関数は、IPv4 アドレスでのみ機能します。 IPv6 アドレスで使用するには、 GetBestInterfaceEx を使用する必要があります。

IPAddr データ型の詳細については、「Windowsデータ型」を参照してください。 ドット 10 進表記と IPAddr 形式の間で IP アドレスを変換するには、 inet_addr 関数と inet_ntoa関数を 使用します。

Windows Vista以降では、pdwBestIfIndex パラメーターは、NET_IFINDEX データ型へのポインターとして IP ヘルパーによって内部的に処理されます。

Requirements

Requirement Value
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
Header iphlpapi.h
Library Iphlpapi.lib
DLL Iphlpapi.dll

こちらも参照ください

GetBestInterfaceEx

GetBestRoute

IP ヘルパー関数リファレンス

IP ヘルパーの開始ページ

IPAddr

MIB_BEST_IF

Windows のデータ型