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