共用方式為


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。

如果函式失敗,傳回值就是下列其中一個錯誤碼。

傳回碼 描述
ERROR_CAN_NOT_COMPLETE
無法完成作業。
ERROR_INVALID_PARAMETER
不正確參數已傳遞至 函式。 如果在pdwBestIfIndex參數中傳遞Null指標,或pDestAddrpdwBestIfIndex參數指向無法存取的記憶體,就會傳回此錯誤。 如果 pdwBestIfIndex 參數指向無法寫入的記憶體,也可以傳回此錯誤。
ERROR_NOT_SUPPORTED
不支援此要求。 如果本機電腦上沒有 IPv4 堆疊,而且 pDestAddr 參數中指定了 IPv4 位址,或本機電腦上沒有 IPv6 堆疊,且 pDestAddr 參數中指定了 IPv6 位址,就會傳回此錯誤。
其他
使用 FormatMessage 函式來取得傳回錯誤的訊息字串。

備註

GetBestInterfaceEx函式與GetBestInterface函式不同,因為它可以與 IPv4 或 IPv6 位址搭配使用。

pDestAddr參數所指向之 sockaddr 結構的Family成員必須設定為下列其中一個值:AF_INETAF_INET6

在 Windows Vista 和更新版本上,IP 協助程式會在內部將 pdwBestIfIndex 參數視為 NET_IFINDEX資料類型的 指標。

需求

   
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 iphlpapi.h
程式庫 Iphlpapi.lib
Dll Iphlpapi.dll

另請參閱

GetBestInterface

IP 協助程式函式參考

IP 協助程式起始頁

MIB_BEST_IF

sockaddr