Freigeben über


GetAnycastIpAddressTable-Funktion

Die GetAnycastIpAddressTable-Funktion ruft die Anycast-IP-Adresstabelle auf einem lokalen Computer ab.

Syntax

NETIOAPI_API GetAnycastIpAddressTable(
  _In_  ADDRESS_FAMILY              Family,
  _Out_ PMIB_ANYCASTIPADDRESS_TABLE *Table
);

Parameter

  • Familie [in]
    Die abzurufende Adressfamilie.

    Mögliche Werte für die Adressfamilie sind in der Winsock2.h-Headerdatei aufgeführt. Beachten Sie, dass die Werte für die AF_ Adressfamilie und PF_ Protokollfamilienkonstanten identisch sind (z. B. AF_INET und PF_INET), sodass Sie eine der beiden Konstanten verwenden können.

    Unter Windows Vista und höheren Versionen der Windows-Betriebssysteme sind mögliche Werte für den Family-Parameter in der Headerdatei Ws2def.h definiert. Beachten Sie, dass die Headerdatei Ws2def.h automatisch in Netioapi.h enthalten ist und Sie Ws2def.h niemals direkt verwenden sollten.

    Die folgenden Werte werden derzeit für die Adressfamilie unterstützt:

    • AF_INET
      Die IPv4-Adressfamilie. Wenn dieser Wert angegeben wird, gibt diese Funktion die Anycast-IP-Adresstabelle zurück, die nur IPv4-Einträge enthält.

    • AF_INET6
      Die IPv6-Adressfamilie. Wenn dieser Wert angegeben wird, gibt diese Funktion die Anycast-IP-Adresstabelle zurück, die nur IPv6-Einträge enthält.

    • AF_UNSPEC
      Die Adressfamilie ist nicht angegeben. Wenn dieser Wert angegeben wird, gibt diese Funktion die Anycast-IP-Adresstabelle zurück, die sowohl IPv4- als auch IPv6-Einträge enthält.

  • Tabelle [out]
    Ein Zeiger auf eine MIB_ANYCASTIPADDRESS_TABLE Struktur, die eine Tabelle mit Anycast-IP-Adresseinträgen auf dem lokalen Computer enthält.

Rückgabewert

GetAnycastIpAddressTable gibt STATUS_SUCCESS zurück, wenn die Funktion erfolgreich ist.

Wenn die Funktion fehlschlägt, gibt GetAnycastIpAddressTable einen der folgenden Fehlercodes zurück:

Rückgabecode Beschreibung
STATUS_INVALID_PARAMETER

Ein ungültiger Parameter wurde an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Table-Parameter übergeben wird oder der Family-Parameter nicht als AF_INET, AF_INET6 oder AF_UNSPEC angegeben wurde.

STATUS_NOT_ENOUGH_MEMORY

Unzureichende Arbeitsspeicherressourcen sind verfügbar, um den Vorgang abzuschließen.

STATUS_NOT_FOUND

Es wurden keine IP-Adresseinträge gefunden, wie im Parameter "Family " angegeben.

STATUS_NOT_SUPPORTED

Die Anforderung wird nicht unterstützt. Dieser Fehler wird zurückgegeben, wenn sich kein IPv4-Stapel auf dem lokalen Computer befindet und AF_INET im Parameter Family angegeben wurde, oder wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und AF_INET6 im Parameter Family angegeben wurde. Dieser Fehler wird auch in Versionen von Windows zurückgegeben, in denen diese Funktion nicht unterstützt wird.

Andere

Verwenden Sie die FormatMessage-Funktion, um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

Die GetAnycastIpAddressTable-Funktion listet die Anycast-IP-Adressen auf einem lokalen Computer auf und gibt diese Informationen in einer MIB_ANYCASTIPADDRESS_TABLE Struktur zurück.

Die Anycast-IP-Adresseinträge werden in einer MIB_ANYCASTIPADDRESS_TABLE Struktur im Puffer zurückgegeben, auf die der Table-Parameter verweist. Die MIB_ANYCASTIPADDRESS_TABLE-Struktur enthält eine Anycast-IP-Adresseintragsanzahl und ein Array von MIB_ANYCASTIPADDRESS_ROW Strukturen für jeden Anycast-IP-Adresseintrag. Wenn diese zurückgegebenen Strukturen nicht mehr benötigt werden, sollte Ihr Treiber den Speicher durch Aufrufen von FreeMibTable freigeben.

Der Treiber muss den Parameter Family entweder für AF_INET, AF_INET6 oder AF_UNSPEC initialisieren.

Beachten Sie, dass die zurückgegebene MIB_ANYCASTIPADDRESS_TABLE Struktur, auf die der Table-Parameter verweist, den Abstand für die Ausrichtung zwischen dem NumEntries-Element und dem ersten MIB_ANYCASTIPADDRESS_ROW Arrayeintrag im Table-Element der MIB_ANYCASTIPADDRESS_TABLE-Struktur enthalten kann. Der Abstand für die Ausrichtung kann auch zwischen den MIB_ANYCASTIPADDRESS_ROW Arrayeinträgen vorhanden sein. Jeder Zugriff auf einen MIB_ANYCASTIPADDRESS_ROW Arrayeintrag sollte davon ausgehen, dass der Abstand vorhanden ist.

Anforderungen

Zielplattform

Universell

Version

Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.

Header

Netioapi.h (Netioapi.h einschließen)

Bibliothek

Netio.lib

IRQL

< DISPATCH_LEVEL

Weitere Informationen

FreeMibTable

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE