共用方式為


ResolveIpNetEntry2 函式 (netioapi.h)

ResolveIpNetEntry2 函式會解析本機計算機上鄰近IP位址項目的實體位址。

語法

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API ResolveIpNetEntry2(
  [in, out]      PMIB_IPNET_ROW2     Row,
  [in, optional] const SOCKADDR_INET *SourceAddress
);

參數

[in, out] Row

鄰近IP位址專案的 MIB_IPNET_ROW2 結構專案的指標。 成功傳回時,此結構將會更新為鄰近IP位址的屬性。

[in, optional] SourceAddress

選擇性來源IP位址的指標,用來選取介面以傳送鄰近IP位址專案的要求。

傳回值

如果函式成功,傳回值會NO_ERROR。

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

傳回碼 Description
ERROR_BAD_NET_NAME
找不到網路名稱。 如果無法連線到具有鄰近IP位址的網路,就會傳回此錯誤。
ERROR_INVALID_PARAMETER
無效的參數已傳遞至 函式。 如果在 Row 參數中傳遞 NULL 指標、Row 參數所指向之MIB_IPNET_ROW2Address 成員未設定為有效的 IPv4 或 IPv6 位址,或是未指定 Row 參數所指向之MIB_IPNET_ROW2InterfaceLuidInterfaceIndex 成員,就會傳回此錯誤。 如果在 Address 成員中傳遞回送位址,也會傳回此錯誤。
ERROR_NOT_FOUND
找不到指定的介面。 如果找不到 Row 參數所指向之MIB_IPNET_ROW2InterfaceLuidInterfaceIndex 成員所指定的網路介面,就會傳回此錯誤。
ERROR_NOT_SUPPORTED
不支援此要求。 如果本機計算機上沒有IPv4堆棧,而且已在Row參數所指向之MIB_IPNET_ROW2Address成員中指定IPv4位址,或本機計算機上沒有IPv6堆棧,且地址成員中指定了IPv6位址,則會傳回此錯誤。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

ResolveIpNetEntry2 函式是在 Windows Vista 和更新版本上定義。

ResolveIpNetEntry2 函式是用來解析本機計算機上鄰近IP位址專案的實體位址。 此函式會排清介面上IP位址相符的任何現有鄰近專案,然後藉由傳送IPv4位址的ARP要求或IPv6位址的芳鄰要求要求,將實體位址解析 (MAC) 位址。 如果指定 SourceAddress 參數, ResolveIpNetEntry2 函式會選取具有此來源 IP 位址的介面,以傳送要求。 如果未指定 SourceAddress 參數, (此參數中傳遞NULL ) ,ResolveIpNetEntry2 函式會自動選取要傳送要求的最佳介面。

Row 參數所指向之MIB_IPNET_ROW2結構中的 Address 成員必須初始化為有效的 IPv4 或 IPv6 位址和系列。 此外,指向 Row 參數之MIB_IPNET_ROW2結構中至少有一個下列成員必須初始化為 介面:InterfaceLuidInterfaceIndex

欄位會依照上面所列的順序使用。 因此,如果指定 InterfaceLuid ,則會使用此成員來判斷要新增單播 IP 位址的介面。 如果未為 InterfaceLuid 成員設定任何值, (此成員的值設定為零) ,則下一步會使用 InterfaceIndex 成員來判斷介面。

如果 Row 參數所指向之MIB_IPNET_ROW2地址成員中傳遞的 IP 位址是介面上現有鄰近 IP 位址的重複專案,ResolveIpNetEntry2 函式會在解析 IP 位址之前排清現有的專案。

呼叫成功時,ResolveIpNetEntry2 會在輸出中擷取鄰近IP位址的其他屬性,並填入Row參數所指向的MIB_IPNET_ROW2結構。 Row 參數所指向之MIB_IPNET_ROW2結構中的 PhysicalAddress 和 PhysicalAddressLength 成員將會初始化為有效的實體位址。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 netioapi.h (包括 Iphlpapi.h)
程式庫 Iphlpapi.lib
Dll Iphlpapi.dll

另請參閱

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

SOCKADDR_INET

SetIpNetEntry2