GetBestInterface 関数 (iphlpapi.h)

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

構文

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

パラメーター

[in] dwDestAddr

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

[out] pdwBestIfIndex

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

戻り値

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

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

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

注釈

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

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

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

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー iphlpapi.h
Library Iphlpapi.lib
[DLL] Iphlpapi.dll

こちらもご覧ください

GetBestInterfaceEx

GetBestRoute

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

IP ヘルパーの開始ページ

IPAddr

MIB_BEST_IF

Windows のデータ型