Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione ResolveIpNetEntry2 risolve l'indirizzo fisico per una voce di indirizzo IP adiacente in un computer locale.
Sintassi
NETIOAPI_API ResolveIpNetEntry2(
_Inout_ PMIB_IPNET_ROW2 Row,
_In_opt_ const SOCKADDR_INET *SourceAddress
);
Parametri
riga [in, out]
Puntatore a una voce della struttura MIB_IPNET_ROW2 per una voce di indirizzo IP adiacente. In caso di esito positivo, questa struttura viene aggiornata con le proprietà per l'indirizzo IP adiacente.sourceAddress [in, facoltativo]
Puntatore a un indirizzo IP di origine facoltativo usato per selezionare l'interfaccia per inviare le richieste per la voce dell'indirizzo IP adiacente.
Valore restituito
ResolveIpNetEntry2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.
Se la funzione non riesce, ResolveIpNetEntry2 restituisce uno dei codici di errore seguenti:
| Codice restituito | Descrizione |
|---|---|
| STATUS_BAD_NETWORK_NAME | Impossibile trovare il nome di rete. Questo errore viene restituito se la rete con l'indirizzo IP adiacente non è raggiungibile. |
| STATUS_INVALID_PARAMETER | Alla funzione è stato passato un parametro non valido. Questo errore viene restituito se viene passato un puntatore NULL nel parametro Row, Il membro Address della struttura MIB_IPNET_ROW2 a cui punta il parametro Row non è stato impostato su un indirizzo IPv4 o IPv6 valido oppure sia InterfaceLuid che InterfaceIndex membri della struttura MIB_IPNET_ROW2 non sono stati specificati. Questo errore viene restituito anche se è stato passato un indirizzo di loopback nel membro Address. |
| STATUS_NOT_FOUND | Impossibile trovare l'interfaccia specificata. Questo errore viene restituito se la funzione non riesce a trovare l'interfaccia di rete specificata dal InterfaceLuid o InterfaceIndex membro della struttura MIB_IPNET_ROW2 a cui punta il parametro Row. |
| STATUS_NOT_SUPPORTED | La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e un indirizzo IPv4 è stato specificato nel membro Address della struttura MIB_IPNET_ROW2 a cui punta il parametro riga oppure se non si trova alcun stack IPv6 nel computer locale e un indirizzo IPv6 è stato specificato nel membro Address. |
| Altro | Usare la funzione FormatMessage per ottenere la stringa del messaggio per l'errore restituito. |
Osservazioni
La funzione ResolveIpNetEntry2 viene usata per risolvere l'indirizzo fisico per una voce di indirizzo IP adiacente in un computer locale. Questa funzione scarica tutte le voci adiacenti esistenti che corrispondono all'indirizzo IP nell'interfaccia e quindi risolve l'indirizzo MAC inviando richieste ARP per un indirizzo IPv4 o Neighbor Solicitation (NS) per un indirizzo IPv6. Se viene specificato il parametro SourceAddress, ResolveIpNetEntry2 seleziona l'interfaccia con questo indirizzo IP di origine per inviare le richieste. Se il parametro sourceAddress non è specificato ( NULL è stato passato in questo parametro), ResolveIpNetEntry2 seleziona automaticamente l'interfaccia migliore per inviare le richieste.
Il driver deve inizializzare i membri seguenti della struttura di MIB_IPNET_ROW2 a cui punta il parametro Riga.
Address
Impostare su un indirizzo e una famiglia IPv4 o IPv6 validi.InterfaceLuid o InterfaceIndex
Questi membri vengono utilizzati nell'ordine elencato in precedenza. Pertanto, se si specifica InterfaceLuid, questo membro viene usato per determinare l'interfaccia. Se non è stato impostato alcun valore per il membro InterfaceLuid (il valore di questo membro è stato impostato su zero), il membro InterfaceIndex viene usato successivamente per determinare l'interfaccia.
Se l'indirizzo IP passato nel membro address della struttura MIB_IPNET_ROW2 a cui punta il parametro Row è un duplicato di un indirizzo IP adiacente esistente nell'interfaccia, la funzione ResolveIpNetEntry2 scarica la voce esistente prima di risolvere l'indirizzo IP.
Nell'output, quando la chiamata ha esito positivo, ResolveIpNetEntry2 recupera le altre proprietà per l'indirizzo IP adiacente e compila la struttura MIB_IPNET_ROW2 a cui punta il parametro Row. I membri PhysicalAddress e PhysicalAddressLength nella struttura MIB_IPNET_ROW2 vengono inizializzati in un indirizzo fisico valido.
Fabbisogno
Piattaforma di destinazione |
universale |
Versione |
Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows. |
Intestazione |
Netioapi.h (include Netioapi.h) |
Biblioteca |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |