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。
関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。
リターン コード | 説明 |
---|---|
|
操作を完了できませんでした。 |
|
無効なパラメーターが関数に渡されました。 このエラーは、 null ポインターが pdwBestIfIndex パラメーターで渡された場合、または pdwBestIfIndex が書き込むことができないメモリを指している場合に返されます。 |
|
要求はサポートされていません。 このエラーは、ローカル コンピューターに 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 |