getIpInterfaceEntry 函式 (netioapi.h)
GetIpInterfaceEntry 函式會擷取本機計算機上指定介面的IP資訊。
語法
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpInterfaceEntry(
[in, out] PMIB_IPINTERFACE_ROW Row
);
參數
[in, out] Row
在成功傳回時, MIB_IPINTERFACE_ROW 結構的指標會接收本機計算機上介面的資訊。 在輸入時,MIB_IPINTERFACE_ROW的 InterfaceLuid 或 InterfaceIndex 成員必須設定為要擷取資訊的介面。
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼 | Description |
---|---|
|
系統找不到指定的檔案。 如果 Row 參數所指向 MIB_IPINTERFACE_ROW之interfaceLuid 或 InterfaceIndex 成員所指定的網路介面 LUID 或介面索引不是本機電腦上的值,就會傳回此錯誤。 |
|
無效的參數已傳遞至 函式。 如果在 Row 參數中傳遞 NULL 指標、Row 參數所指向之MIB_IPINTERFACE_ROW的 Family 成員未指定為 AF_INET 或 AF_INET6,或是未指定 Row 參數所指向之MIB_IPINTERFACE_ROW的 InterfaceLuid 或 InterfaceIndex 成員,就會傳回此錯誤。 |
|
Element not found. 如果 Row 參數所指向之 MIB_IPINTERFACE_ROW 結構之 InterfaceLuid 或 InterfaceIndex 成員所指定的網路介面不符合 MIB_IPINTERFACE_ROW 結構之 Family 成員中指定的 IP 位址系列,就會傳回此錯誤。 |
|
使用 FormatMessage 函式來取得傳回錯誤的訊息字串。 |
備註
GetIpInterfaceEntry 函式是在 Windows Vista 和更新版本上定義。
在輸入時,Row 參數所指向MIB_IPINTERFACE_ROW結構中的Family成員必須初始化為 AF_INET或 AF_INET6。 除了輸入之外,必須初始化指向 Row 參數之MIB_IPINTERFACE_ROW結構中至少一個下列成員:InterfaceLuid 或 InterfaceIndex。
欄位會依照上面所列的順序使用。 因此,如果指定 InterfaceLuid ,則會使用此成員來判斷介面。 如果未為 InterfaceLuid 成員設定任何值, (此成員的值設定為零) ,則接著會使用 InterfaceIndex 成員來判斷介面。
輸出時,如果指定 InterfaceIndex,則會填入 Row 參數所指向之MIB_IPINTERFACE_ROW結構的 InterfaceLuid 成員。 Row 參數所指向之MIB_IPINTERFACE_ROW結構的其他成員也會填入。
InitializeIpInterfaceEntry 函式必須用來初始化具有預設值之MIB_IPINTERFACE_ROW結構專案的欄位。 然後,應用程式可以變更想要修改 之MIB_IPINTERFACE_ROW 專案中的欄位,然後呼叫 SetIpInterfaceEntry 函式。
不具特殊許可權同時存取不同安全性需求的多個網路會建立安全性漏洞,並允許不具特殊許可權的應用程式意外在兩個網路之間轉寄數據。 典型的範例是同時存取虛擬專用網 (VPN) 和因特網。 Windows Server 2003 和 Windows XP 會使用弱式主機模型,其中 RAS 會藉由透過其他介面增加所有預設路由的路由計量來防止這類同時存取。 因此,所有流量都會透過 VPN 介面路由傳送,因而中斷其他網路連線。
在 Windows Vista 和更新版本上,預設會使用強主機模型。 如果使用 GetBestRoute2 或 GetBestRoute 在路由查閱中指定來源 IP 位址,路由查閱會限制為來源 IP 位址的介面。 RAS 修改路由計量沒有任何作用,因為潛在路由清單甚至沒有 VPN 介面的路由,因此允許因特網的流量。 MIB_IPINTERFACE_ROW的 DisableDefaultRoutes 成員可用來停用介面上的預設路由。 當 VPN 用戶端不需要分割通道時,此成員可作為 VPN 用戶端的安全性措施,以限制分割通道。 VPN 用戶端可以呼叫 SetIpInterfaceEntry 函式,視需要將 DisableDefaultRoutes 成員設定為 TRUE 。 VPN 用戶端可以藉由呼叫 GetIpInterfaceEntry 函式來查詢 DisableDefaultRoutes 成員的目前狀態。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | netioapi.h (包含 Iphlpapi.h) |
程式庫 | Iphlpapi.lib |
Dll | Iphlpapi.dll |