GetBestInterfaceEx 函式 (iphlpapi.h)
GetBestInterfaceEx函式會擷取介面的索引,該介面具有指定 IPv4 或 IPv6 位址的最佳路由。
語法
IPHLPAPI_DLL_LINKAGE DWORD GetBestInterfaceEx(
[in] sockaddr *pDestAddr,
[out] PDWORD pdwBestIfIndex
);
參數
[in] pDestAddr
目的地 IPv6 或 IPv4 位址,以 sockaddr 結構的形式擷取具有最佳路由的介面。
[out] pdwBestIfIndex
介面索引的指標,具有 pDestAddr所指定之 IPv6 或 IPv4 位址的最佳路由。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | 描述 |
---|---|
|
無法完成作業。 |
|
不正確參數已傳遞至 函式。 如果在pdwBestIfIndex參數中傳遞Null指標,或pDestAddr或pdwBestIfIndex參數指向無法存取的記憶體,就會傳回此錯誤。 如果 pdwBestIfIndex 參數指向無法寫入的記憶體,也可以傳回此錯誤。 |
|
不支援此要求。 如果本機電腦上沒有 IPv4 堆疊,而且 pDestAddr 參數中指定了 IPv4 位址,或本機電腦上沒有 IPv6 堆疊,且 pDestAddr 參數中指定了 IPv6 位址,就會傳回此錯誤。 |
|
使用 FormatMessage 函式來取得傳回錯誤的訊息字串。 |
備註
GetBestInterfaceEx函式與GetBestInterface函式不同,因為它可以與 IPv4 或 IPv6 位址搭配使用。
pDestAddr參數所指向之 sockaddr 結構的Family成員必須設定為下列其中一個值:AF_INET或AF_INET6。
在 Windows Vista 和更新版本上,IP 協助程式會在內部將 pdwBestIfIndex 參數視為 NET_IFINDEX資料類型的 指標。
需求
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | iphlpapi.h |
程式庫 | Iphlpapi.lib |
Dll | Iphlpapi.dll |