Condividi tramite


Funzione GetAnycastIpAddressTable

La funzione GetAnycastIpAddressTable recupera la tabella degli indirizzi IP anycast in un computer locale.

Sintassi

NETIOAPI_API GetAnycastIpAddressTable(
  _In_  ADDRESS_FAMILY              Family,
  _Out_ PMIB_ANYCASTIPADDRESS_TABLE *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 delle costanti.

    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.

    Per la famiglia di indirizzi sono attualmente supportati i valori seguenti:

    • AF_INET
      Famiglia di indirizzi IPv4. Quando si specifica questo valore, questa funzione restituisce la tabella degli indirizzi IP anycast che contiene solo voci IPv4.

    • AF_INET6
      Famiglia di indirizzi IPv6. Quando si specifica questo valore, questa funzione restituisce la tabella degli indirizzi IP anycast che contiene solo voci IPv6.

    • AF_UNSPEC
      La famiglia di indirizzi non è specificata. Quando si specifica questo valore, questa funzione restituisce la tabella degli indirizzi IP anycast che contiene sia le voci IPv4 che IPv6.

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

Valore restituito

GetAnycastIpAddressTable restituisce STATUS_SUCCESS se la funzione ha esito positivo.

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

Codice restituito Descrizione
STATUS_INVALID_PARAMETER

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

STATUS_NOT_ENOUGH_MEMORY

Per completare l'operazione sono disponibili risorse di memoria insufficienti.

STATUS_NOT_FOUND

Nessuna voce di indirizzo IP anycast, come specificato nel parametro Family , è stata trovata.

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 oppure 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.

Altro

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

Osservazioni:

La funzione GetAnycastIpAddressTable enumera gli indirizzi IP anycast in un computer locale e restituisce queste informazioni in una struttura MIB_ANYCASTIPADDRESS_TABLE .

Le voci di indirizzo IP anycast vengono restituite in una struttura MIB_ANYCASTIPADDRESS_TABLE nel buffer a cui punta il parametro Table . La struttura MIB_ANYCASTIPADDRESS_TABLE contiene un numero di voci di indirizzi IP anycast e una matrice di strutture MIB_ANYCASTIPADDRESS_ROW per ogni voce di indirizzo IP anycast. Quando queste strutture restituite non sono più necessarie, il driver deve liberare la memoria chiamando FreeMibTable.

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

Si noti che la struttura MIB_ANYCASTIPADDRESS_TABLE restituita a cui punta il parametro Table potrebbe contenere spaziatura interna per l'allineamento tra il membro NumEntries e la prima voce di matrice MIB_ANYCASTIPADDRESS_ROW nel membro Table della struttura MIB_ANYCASTIPADDRESS_TABLE. La spaziatura interna per l'allineamento potrebbe essere presente anche tra le voci della matrice MIB_ANYCASTIPADDRESS_ROW. Qualsiasi accesso a una voce di matrice MIB_ANYCASTIPADDRESS_ROW deve presupporre che la spaziatura interna esista.

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

FreeMibTable

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE