GetBestInterface 函式會取得擁有最佳路徑至指定 IPv4 位址的介面索引。
語法
IPHLPAPI_DLL_LINKAGE DWORD GetBestInterface(
[in] IPAddr dwDestAddr,
[out] PDWORD pdwBestIfIndex
);
Parameters
[in] dwDestAddr
目的 IPv4 位址,用來取得擁有最佳路由介面的 IPAddr 結構。
[out] pdwBestIfIndex
指向一個 DWORD 變數的指標,該變數接收由 dwDestAddr 指定的最佳 IPv4 位址路由介面的索引。
返回值
如果函式成功,則傳回值為NO_ERROR。
如果函式失敗,傳回值會是下列其中一個錯誤碼。
| 回傳碼 | Description |
|---|---|
|
無法完成作業。 |
|
無效的參數已傳遞至函式。 若在 pdwBestIfIndex 參數中傳遞 NULL 指標,或 pdwBestIfIndex 指向無法寫入的記憶體,則會回傳此錯誤。 |
|
不支援此要求。 若本地電腦上沒有 IPv4 堆疊,則會回傳此錯誤。 |
|
使用 FormatMessage 函式取得回傳錯誤的訊息字串。 |
備註
GetBestInterface 功能只適用於 IPv4 位址。 若要用於 IPv6 位址,必須使用 GetBestInterfaceEx 。
關於 IPAddr 資料型態的資訊,請參見 Windows 資料型別。 若要將 IP 位址從虛點十進位符號轉換為 IPAddr 格式,請使用 inet_addr 和 inet_ntoa 函式。
在 Windows Vista 及以後版本中,pdwBestIfIndex 參數在 IP Helper 內部被視為指向 NET_IFINDEX 資料型態的指標。
Requirements
| 需求 | Value |
|---|---|
| 最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
| 目標平臺 | Windows 作業系統 |
| Header | 伊菲爾帕皮.h |
| Library | 伊菲爾帕皮.lib |
| DLL | Iphlpapi.dll |