Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Funktionen ResolveIpNetEntry2 matchar den fysiska adressen för en angränsande IP-adresspost på en lokal dator.
Syntax
NETIOAPI_API ResolveIpNetEntry2(
_Inout_ PMIB_IPNET_ROW2 Row,
_In_opt_ const SOCKADDR_INET *SourceAddress
);
Parametrar
Rad [in, ut]
En pekare till en MIB_IPNET_ROW2 strukturpost för en angränsande IP-adresspost. Vid lyckad retur uppdateras den här strukturen med egenskaperna för grann-IP-adressen.SourceAddress [in, valfritt]
En pekare till en valfri käll-IP-adress som används för att välja det gränssnitt som begäranden ska skickas till för den angränsande IP-adressposten.
Returvärde
ResolveIpNetEntry2 returnerar STATUS_SUCCESS om funktionen lyckas.
Om funktionen misslyckas returnerar ResolveIpNetEntry2 någon av följande felkoder:
| Returnera kod | Beskrivning |
|---|---|
| STATUS_BAD_NETWORK_NAME | Det går inte att hitta nätverksnamnet. Det här felet returneras om nätverket med grann-IP-adressen inte kan nås. |
| STATUS_INVALID_PARAMETER | En ogiltig parameter skickades till funktionen. Det här felet returneras om en NULL- pekare skickas i parametern Rad. -adressen medlem i den MIB_IPNET_ROW2 struktur som Rad parametern pekar på inte har angetts till en giltig IPv4- eller IPv6-adress, eller både InterfaceLuid och InterfaceIndex medlemmar i MIB_IPNET_ROW2-strukturen var ospecificerade. Det här felet returneras också om en loopback-adress skickades i -adressen medlem. |
| STATUS_NOT_FOUND | Det gick inte att hitta det angivna gränssnittet. Det här felet returneras om funktionen inte kan hitta nätverksgränssnittet som anges av InterfaceLuid eller InterfaceIndex medlem i den MIB_IPNET_ROW2 struktur som Rad parameter pekar på. |
| STATUS_NOT_SUPPORTED | Begäran stöds inte. Det här felet returneras om ingen IPv4-stack finns på den lokala datorn och en IPv4-adress angavs i -adressen medlem i den MIB_IPNET_ROW2 struktur som rad parameter pekar på, eller om ingen IPv6-stack finns på den lokala datorn och en IPv6-adress angavs i adress medlem. |
| Andra | Använd funktionen FormatMessage för att hämta meddelandesträngen för det returnerade felet. |
Anmärkningar
Funktionen ResolveIpNetEntry2 används för att matcha den fysiska adressen för en angränsande IP-adresspost på en lokal dator. Den här funktionen rensar alla befintliga grannposter som matchar IP-adressen i gränssnittet och löser sedan den fysiska adressen (MAC) genom att skicka ARP-begäranden för en IPv4-adress eller NS-begäranden (Neighbor Solicitation) för en IPv6-adress. Om parametern SourceAddress anges väljer ResolveIpNetEntry2 gränssnittet med den här käll-IP-adressen som begäranden ska skickas på. Om parametern SourceAddress inte har angetts (NULL- skickades i den här parametern) väljer ResolveIpNetEntry2 automatiskt det bästa gränssnittet för att skicka begäranden på.
Drivrutinen måste initiera följande medlemmar i den MIB_IPNET_ROW2 struktur som rad parametern pekar på.
adress
Ange en giltig IPv4- eller IPv6-adress och -familj.InterfaceLuid eller InterfaceIndex
Dessa medlemmar används i den ordning som anges tidigare. Så om InterfaceLuid anges används den här medlemmen för att fastställa gränssnittet. Om inget värde har angetts för InterfaceLuid medlem (värdet för den här medlemmen har angetts till noll) används InterfaceIndex medlem för att fastställa gränssnittet.
Om IP-adressen som skickas i adressen medlem i den MIB_IPNET_ROW2 struktur som rad parametern pekar på är en dubblett av en befintlig grannes IP-adress i gränssnittet, rensar funktionen ResolveIpNetEntry2 den befintliga posten innan IP-adressen matchas.
När anropet lyckas hämtar ResolveIpNetEntry2 de andra egenskaperna för grann-IP-adressen och fyller i den MIB_IPNET_ROW2 struktur som rad parameter pekar på. PhysicalAddress och PhysicalAddressLength medlemmar i MIB_IPNET_ROW2-strukturen initieras till en giltig fysisk adress.
Krav
Målplattform |
Universell |
Version |
Finns i Windows Vista och senare versioner av Windows-operativsystemen. |
Rubrik |
Netioapi.h (inkludera Netioapi.h) |
Bibliotek |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |