Condividi tramite


MIB_IPNET_ROW2 struttura (netioapi.h)

La struttura MIB_IPNET_ROW2 archivia informazioni su un indirizzo IP vicino.

Sintassi

typedef struct _MIB_IPNET_ROW2 {
  SOCKADDR_INET     Address;
  NET_IFINDEX       InterfaceIndex;
  NET_LUID          InterfaceLuid;
  UCHAR             PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
  ULONG             PhysicalAddressLength;
  NL_NEIGHBOR_STATE State;
  union {
    struct {
      BOOLEAN IsRouter : 1;
      BOOLEAN IsUnreachable : 1;
    };
    UCHAR Flags;
  };
  union {
    ULONG LastReachable;
    ULONG LastUnreachable;
  } ReachabilityTime;
} MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;

Members

Address

Tipo: SOCKADDR_INET

Indirizzo IP vicino. Questo membro può essere un indirizzo IPv6 o un indirizzo IPv4.

InterfaceIndex

Tipo: NET_IFINDEX

Valore dell'indice locale per l'interfaccia di rete associata a questo indirizzo IP. Questo valore di indice può cambiare quando una scheda di rete è disabilitata e quindi abilitata o in altre circostanze e non deve essere considerata persistente.

InterfaceLuid

Tipo: NET_LUID

Identificatore univoco locale (LUID) per l'interfaccia di rete associata a questo indirizzo IP.

PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]

Tipo: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]

Indirizzo hardware fisico della scheda per l'interfaccia di rete associata a questo indirizzo IP.

PhysicalAddressLength

Tipo: ULONG

Lunghezza, in byte, dell'indirizzo hardware fisico specificato dal membro PhysicalAddress . Il valore massimo supportato è 32 byte.

State

Tipo: NL_NEIGHBOR_STATE

Stato di un indirizzo IP adiacente alla rete come definito in RFC 2461, sezione 7.3.2. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc2461.txt. Questo membro può essere uno dei valori del tipo di enumerazione NL_NEIGHBOR_STATE definito nel file di intestazione Nldef.h .

Valore Significato
NlnsUnreachable
L'indirizzo IP non è raggiungibile.
NlnsIncomplete
La risoluzione degli indirizzi è in corso e l'indirizzo del livello di collegamento del vicino non è ancora stato determinato. In particolare per IPv6, è stata inviata una richiesta di prossimità all'indirizzo IP multicast a nodo richiesto della destinazione, ma l'annuncio del vicino corrispondente non è ancora stato ricevuto.
NlnsProbe
Il vicino non è più noto per essere raggiungibile e i probe vengono inviati per verificare la raggiungibilità. Per IPv6, una conferma di raggiungibilità è attivamente ricercata tramite la ritrasmissione di probe di richieste di prossimità unicast a intervalli regolari fino a quando non viene ricevuta una conferma di raggiungibilità.
NlnsDelay
Il vicino non è più noto per essere raggiungibile e il traffico è stato recentemente inviato al vicino. Anziché eseguire immediatamente il probe del vicino, ritardare l'invio di probe per un breve periodo di tempo per dare ai protocolli di livello superiore una possibilità di fornire conferma della raggiungibilità. Per IPv6, più tempo è trascorso rispetto a quello specificato nel membro ReachabilityTime.ReachableTime dal momento che l'ultima conferma positiva è stata ricevuta che il percorso di inoltro funzionava correttamente e che è stato inviato un pacchetto. Se non viene ricevuta alcuna conferma di copertura entro un periodo di tempo (usato per ritardare il primo probe) di immettere lo stato NlnsDelay , viene inviata una richiesta vicina e il membro dello Stato viene modificato in NlnsProbe.
NlnsStale
Il vicino non è più noto per essere raggiungibile, ma finché il traffico non viene inviato al vicino, non è necessario tentare di verificare la sua raggiungibilità. Per IPv6, più tempo è trascorso rispetto a quello specificato nel membro ReachabilityTime.ReachableTime dall'ultima conferma positiva ricevuta che il percorso di inoltro funziona correttamente. Mentre lo stato è NlnsStale, non viene eseguita alcuna azione finché non viene inviato un pacchetto.

Lo stato NlnsStale viene immesso quando riceve un messaggio di individuazione adiacente non richiesto che aggiorna l'indirizzo IP memorizzato nella cache. La ricezione di tale messaggio non conferma la raggiungibilità e l'immissione dello stato NlnsStale assicura la raggiungibilità viene verificata rapidamente se la voce viene effettivamente usata. Tuttavia, la raggiungibilità non viene effettivamente verificata fino a quando la voce non viene effettivamente usata.

NlnsReachable
Il vicino è noto per essere stato raggiungibile di recente (entro decine di secondi fa). Per IPv6, una conferma positiva è stata ricevuta entro il tempo specificato nel membro ReachabilityTime.ReachableTime che il percorso di inoltro al vicino funziona correttamente. Mentre lo Stato è NlnsReachable, nessuna azione speciale viene eseguita come pacchetti vengono inviati.
NlnsPermanent
L'indirizzo IP è un indirizzo permanente.
NlnsMaximum
Valore massimo possibile per il tipo di enumerazione NL_NEIGHBOR_STATE. Questo non è un valore legale per il membro dello Stato .

IsRouter

Tipo: BOOLEAN

Valore che indica se questo indirizzo IP è un router.

IsUnreachable

Tipo: BOOLEAN

Valore che indica se questo indirizzo IP non è raggiungibile.

Flags

Tipo: UCHAR

Set di flag che indicano se l'indirizzo IP è un router e se l'indirizzo IP non è raggiungibile.

ReachabilityTime

ReachabilityTime.LastReachable

Tipo: ULONG Il tempo, in millisecondi, che un nodo presuppone che un vicino sia raggiungibile dopo aver ricevuto una conferma di raggiungibilità.

ReachabilityTime.LastUnreachable

Tipo: ULONG Il tempo, in millisecondi, che un nodo presuppone che un vicino non sia raggiungibile dopo aver ricevuto una conferma di raggiungibilità.

Commenti

La struttura MIB_IPNET_ROW2 è definita in Windows Vista e versioni successive.

La funzione GetIpNetTable2 enumera gli indirizzi IP adiacenti in un sistema locale e restituisce queste informazioni in una struttura MIB_IPNET_TABLE2 .

Per IPv4, questo include indirizzi determinati usati il protocollo di risoluzione degli indirizzi (ARP). Per IPv6, questo include indirizzi determinati usando il protocollo ND (Neighbor Discovery) per IPv6, come specificato in RFC 2461. Per altre informazioni, vedere http://www.ietf.org/rfc/rfc2461.txt.

La funzione GetIpNetEntry2 recupera un singolo indirizzo IP adiacente e restituisce queste informazioni in una struttura MIB_IPNET_ROW2 .

Si noti che il file di intestazione Netioapi.h viene incluso automaticamente nel file di intestazione Iphlpapi.h . Il file di intestazione Netioapi.h non deve mai essere usato direttamente.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Intestazione netioapi.h (includere Iphlpapi.h)

Vedi anche

CreateIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_TABLE2

SOCKADDR_INET