Funzione GetIpNetTable2

La funzione GetIpNetTable2 recupera la tabella adiacente IP in un computer locale.

Sintassi

NETIOAPI_API GetIpNetTable2(
  _In_  ADDRESS_FAMILY    Family,
  _Out_ PMIB_IPNET_TABLE2 *Table
);

Parametri

  • Famiglia [in]
    Famiglia di indirizzi da recuperare.

    I valori possibili per la famiglia di indirizzi sono elencati nel file di intestazione Winsock2.h. Si noti che i valori per la famiglia di indirizzi AF_ e le costanti della famiglia di protocolli di PF_ sono identiche (ad esempio, AF_INET e PF_INET), in modo da poter usare una costante.

    In Windows Vista e versioni successive dei sistemi operativi Windows, i valori possibili per il parametro Family sono definiti nel file di intestazione Ws2def.h. Si noti che il file di intestazione Ws2def.h viene incluso automaticamente in Netioapi.h e non usare mai Ws2def.h direttamente.

    I valori seguenti sono attualmente supportati per la famiglia di indirizzi:

    • AF_INET
      Famiglia di indirizzi IPv4. Quando questo valore viene specificato, questa funzione restituisce la tabella degli indirizzi IP adiacenti che contiene solo voci IPv4.

    • AF_INET6
      Famiglia di indirizzi IPv6. Quando questo valore viene specificato, questa funzione restituisce la tabella degli indirizzi IP adiacenti che contiene solo voci IPv6.

    • AF_UNSPEC
      La famiglia di indirizzi non è specificata. Quando questo valore viene specificato, questa funzione restituisce la tabella degli indirizzi IP adiacenti che contiene sia voci IPv4 che IPv6.

  • Tabella [out]
    Puntatore a una struttura MIB_IPNET_TABLE2 che contiene una tabella di voci di indirizzi IP adiacenti nel computer locale.

Valore restituito

GetIpNetTable2 restituisce STATUS_SUCCESS se la funzione ha esito positivo.

Se la funzione ha esito negativo, GetIpNetTable2 restituisce uno dei codici di errore seguenti:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER

Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se un puntatore NULL viene passato nel parametro Table o il parametro Family non è stato specificato come AF_INET, AF_INET6 o AF_UNSPEC.

STATUS_NOT_ENOUGH_MEMORY

Le risorse di memoria insufficienti sono disponibili per completare l'operazione.

STATUS_NOT_FOUND

Non sono state trovate voci di indirizzi IP adiacenti, come specificato nel parametro Family .

STATUS_NOT_SUPPORTED

La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv4 nel computer locale e AF_INET è stato specificato nel parametro Family o se non si trova alcun stack IPv6 nel computer locale e AF_INET6 è stato specificato nel parametro Family . Questo errore viene restituito anche nelle versioni di Windows in cui questa funzione non è supportata.

Altri

Utilizzare la funzione FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

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

GetIpNetTable2 restituisce le voci degli indirizzi IP adiacenti in una struttura MIB_IPNET_TABLE2 nel buffer a cui punta il parametro Table . La struttura MIB_IPNET_TABLE2 contiene un conteggio di voci di indirizzi IP adiacenti e una matrice di strutture MIB_IPNET_ROW2 per ogni voce di indirizzo IP adiacente. Quando queste strutture restituite non sono più necessarie, il driver deve liberare la memoria chiamando FreeMibTable.

Il driver deve inizializzare il parametro Family in AF_INET, AF_INET6 o AF_UNSPEC.

Si noti che la struttura MIB_IPNET_TABLE2 restituita che il parametro Table punta a potrebbe contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce della matrice MIB_IPNET_ROW2 nel membro Table della struttura MIB_IPNET_TABLE2. Il riempimento per l'allineamento può essere presente anche tra le voci della matrice MIB_IPNET_ROW2. Qualsiasi accesso a una voce di matrice MIB_IPNET_ROW2 deve presupporre che la spaziatura interna possa esistere.

Requisiti

Piattaforma di destinazione

Universale

Versione

Disponibile in Windows Vista e versioni successive dei sistemi operativi Windows.

Intestazione

Netioapi.h (include Netioapi.h)

Libreria

Netio.lib

IRQL

< DISPATCH_LEVEL

Vedi anche

CreateIpNetEntry2

FlushIpNetTable2

FreeMibTable

GetIpNetEntry2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2