GetUnicastIpAddressTable-Funktion
Die GetUnicastIpAddressTable Funktion ruft die Unicast-IP-Adresstabelle auf einem lokalen Computer ab.
Syntax
NETIOAPI_API GetUnicastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_UNICASTIPADDRESS_TABLE *Table
);
Parameter
Family [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 werden mögliche Werte für den Parameter Family 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 Multicast-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 Multicast-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 Multicast-IP-Adresstabelle zurück, die sowohl IPv4- als auch IPv6-Einträge enthält.
Tabelle [out]
Ein Zeiger auf eine MIB_UNICASTIPADDRESS_TABLE Struktur, die eine Tabelle mit Unicast-IP-Adresseinträgen auf dem lokalen Computer enthält.
Rückgabewert
GetUnicastIpAddressTable- gibt STATUS_SUCCESS zurück, wenn die Funktion erfolgreich ist.
Wenn die Funktion fehlschlägt, gibt GetUnicastIpAddressTable einen der folgenden Fehlercodes zurück:
Rückgabecode | Beschreibung |
---|---|
STATUS_INVALID_PARAMETER | An die Funktion wurde ein ungültiger Parameter übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL- Zeiger im Table Parameter übergeben wird oder der parameter Family 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 Unicast-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. |
Bemerkungen
Die GetUnicastIpAddressTable--Funktion listet die Unicast-IP-Adressen auf einem lokalen Computer auf und gibt diese Informationen in einer MIB_UNICASTIPADDRESS_TABLE Struktur zurück.
GetUnicastIpAddressTable gibt die Unicast-IP-Adresseinträge in einer MIB_UNICASTIPADDRESS_TABLE Struktur im Puffer zurück, auf die der Table Parameter verweist. Die MIB_UNICASTIPADDRESS_TABLE-Struktur enthält eine Eincast-IP-Adresseintragsanzahl und ein Array von MIB_UNICASTIPADDRESS_ROW Strukturen für jeden Unicast-IP-Adresseintrag. Wenn diese zurückgegebenen Strukturen nicht mehr benötigt werden, sollte Der Treiber den Speicher freigeben, indem FreeMibTable-aufgerufen wird.
Der Treiber muss den Parameter Family entweder in AF_INET, AF_INET6 oder AF_UNSPEC initialisieren.
Beachten Sie, dass die zurückgegebene MIB_UNICASTIPADDRESS_TABLE Struktur, auf die der Table Parameter verweist, einen Abstand für die Ausrichtung zwischen dem element NumEntries und dem ersten MIB_UNICASTIPADDRESS_ROW Arrayeintrag im Table Member der MIB_UNICASTIPADDRESS_TABLE Struktur enthalten kann. Der Abstand für die Ausrichtung kann auch zwischen den MIB_UNICASTIPADDRESS_ROW Arrayeinträgen vorhanden sein. Jeder Zugriff auf einen MIB_UNICASTIPADDRESS_ROW Arrayeintrag sollte davon ausgehen, dass der Abstand möglicherweise vorhanden ist.
Anforderungen
Zielplattform |
universelle |
Version |
Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme. |
Kopfball |
Netioapi.h (include Netioapi.h) |
Bibliothek |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |
Siehe auch
InitializeUnicastIpAddressEntry-