Freigeben über


GetMulticastIpAddressTable-Funktion (netioapi.h)

Die GetMulticastIpAddressTable-Funktion ruft die Multicast-IP-Adresstabelle auf dem lokalen Computer ab.

Syntax

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetMulticastIpAddressTable(
  [in]  ADDRESS_FAMILY                Family,
  [out] PMIB_MULTICASTIPADDRESS_TABLE *Table
);

Parameter

[in] Family

Die abzurufende Adressfamilie.

Mögliche Werte für die Adressfamilie sind in der Headerdatei Winsock2.h 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 beide Konstanten verwendet werden können.

Auf der Windows SDK für Windows Vista und höher veröffentlicht, wurden die organization der Headerdateien geändert, und mögliche Werte für diesen Member sind in der Headerdatei Ws2def.h definiert. Beachten Sie, dass die Ws2def.h-Headerdatei automatisch in Winsock2.h enthalten ist und nie direkt verwendet werden sollte.

Die derzeit unterstützten Werte sind AF_INET, AF_INET6 und AF_UNSPEC.

Wert Bedeutung
AF_UNSPEC
0
Die Adressfamilie ist nicht angegeben. Wenn dieser Parameter angegeben wird, gibt diese Funktion die Multicast-IP-Adresstabelle zurück, die sowohl IPv4- als auch IPv6-Einträge enthält.
AF_INET
2
Die IPv4-Adressfamilie (Internet Protocol Version 4). Wenn dieser Parameter angegeben wird, gibt diese Funktion die Multicast-IP-Adresstabelle zurück, die nur IPv4-Einträge enthält.
AF_INET6
23
Die IPv6-Adressfamilie (Internet Protocol Version 6). Wenn dieser Parameter angegeben wird, gibt diese Funktion die Multicast-IP-Adresstabelle zurück, die nur IPv6-Einträge enthält.

[out] Table

Ein Zeiger auf eine MIB_MULTICASTIPADDRESS_TABLE-Struktur , die eine Tabelle mit Anycast-IP-Adresseinträgen auf dem lokalen Computer enthält.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Beschreibung
ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn ein NULL-Zeiger im Table-Parameter übergeben oder der Family-Parameter nicht als AF_INET, AF_INET6 oder AF_UNSPEC angegeben wurde.
ERROR_NOT_ENOUGH_MEMORY
Für den Vorgang stehen nicht genügend Arbeitsspeicherressourcen zur Verfügung.
ERROR_NOT_FOUND
Es wurden keine Anycast-IP-Adresseinträge wie im Family-Parameter angegeben gefunden.
ERROR_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 Family-Parameter angegeben wurde. Dieser Fehler wird auch zurückgegeben, wenn sich kein IPv6-Stapel auf dem lokalen Computer befindet und AF_INET6 im Family-Parameter angegeben wurde. Dieser Fehler wird auch bei Versionen von Windows zurückgegeben, in denen diese Funktion nicht unterstützt wird.
Andere
Verwenden Sie FormatMessage , um die Nachrichtenzeichenfolge für den zurückgegebenen Fehler abzurufen.

Hinweise

Die GetMulticastIpAddressTable-Funktion wird unter Windows Vista und höher definiert.

The
Die GetMulticastIpAddressTable-Funktion listet die Multicast-IP-Adressen auf einem lokalen System auf und gibt diese Informationen in einer MIB_MULTICASTIPADDRESS_TABLE-Struktur zurück.

Die Multicast-IP-Adresseinträge werden in einer MIB_MULTICASTIPADDRESS_TABLE Struktur im Puffer zurückgegeben, auf den der Table-Parameter verweist. Die MIB_MULTICASTIPADDRESS_TABLE-Struktur enthält eine Multicast-IP-Adresseintragsanzahl und ein Array von MIB_MULTICASTIPADDRESS_ROW Strukturen für jeden Multicast-IP-Adresseintrag. Wenn diese zurückgegebenen Strukturen nicht mehr erforderlich sind, geben Sie den Speicher frei, indem Sie die FreeMibTable aufrufen.

Der Family-Parameter muss entweder für AF_INET, AF_INET6 oder AF_UNSPEC initialisiert werden.

Beachten Sie, dass die zurückgegebene MIB_MULTICASTIPADDRESS_TABLE Struktur, auf die vom Table-Parameter verwiesen wird, eine Auffüllung für die Ausrichtung zwischen dem NumEntries-Element und dem ersten MIB_MULTICASTIPADDRESS_ROW Arrayeintrag im Table-Element der MIB_MULTICASTIPADDRESS_TABLE-Struktur enthalten kann. Zwischen den MIB_MULTICASTIPADDRESS_ROW Arrayeinträgen kann auch ein Abstand für die Ausrichtung vorhanden sein. Bei jedem Zugriff auf einen MIB_MULTICASTIPADDRESS_ROW Arrayeintrag sollte davon ausgegangen werden, dass eine Auffüllung vorhanden ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile netioapi.h (include Iphlpapi.h)
Bibliothek Iphlpapi.lib
DLL Iphlpapi.dll

Weitere Informationen

FreeMibTable

GetMulticastIpAddressEntry

MIB_MULTICASTIPADDRESS_ROW

MIB_MULTICASTIPADDRESS_TABLE