GetMulticastIpAddressTable, fonction (netioapi.h)
La fonction GetMulticastIpAddressTable récupère la table d’adresses IP de multidiffusion sur l’ordinateur local.
Syntaxe
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetMulticastIpAddressTable(
[in] ADDRESS_FAMILY Family,
[out] PMIB_MULTICASTIPADDRESS_TABLE *Table
);
Paramètres
[in] Family
Famille d’adresses à récupérer.
Les valeurs possibles pour la famille d’adresses sont répertoriées dans le fichier d’en-tête Winsock2.h . Notez que les valeurs de la AF_ adressent les constantes famille et PF_ de famille de protocole sont identiques (par exemple, AF_INET et PF_INET), de sorte que l’une ou l’autre constante peut être utilisée.
Sur le SDK Windows publié pour Windows Vista et versions ultérieures, le organization des fichiers d’en-tête a changé et les valeurs possibles pour ce membre sont définies dans le fichier d’en-tête Ws2def.h. Notez que le fichier d’en-tête Ws2def.h est automatiquement inclus dans Winsock2.h et ne doit jamais être utilisé directement.
Les valeurs actuellement prises en charge sont AF_INET, AF_INET6 et AF_UNSPEC.
[out] Table
Pointeur vers une structure de MIB_MULTICASTIPADDRESS_TABLE qui contient une table d’entrées d’adresse IP anycast sur l’ordinateur local.
Valeur retournée
Si la fonction réussit, la valeur de retour est NO_ERROR.
Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.
Code de retour | Description |
---|---|
|
Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si un pointeur NULL est passé dans le paramètre Table ou si le paramètre Familyn’a pas été spécifié comme AF_INET, AF_INET6 ou AF_UNSPEC. |
|
Des ressources de mémoire insuffisantes sont disponibles pour terminer l’opération. |
|
Aucune entrée d’adresse IP anycast spécifiée dans le paramètre Family n’a été trouvée. |
|
La demande n'est pas prise en charge. Cette erreur est retournée si aucune pile IPv4 ne se trouve sur l’ordinateur local et si AF_INET a été spécifié dans le paramètre Family . Cette erreur est également retournée si aucune pile IPv6 ne se trouve sur l’ordinateur local et si AF_INET6 a été spécifié dans le paramètre Family . Cette erreur est également retournée sur les versions de Windows où cette fonction n’est pas prise en charge. |
|
Utilisez FormatMessage pour obtenir la chaîne de message pour l’erreur retournée. |
Remarques
La fonction GetMulticastIpAddressTable est définie sur Windows Vista et versions ultérieures.
The
La fonction GetMulticastIpAddressTable énumère les adresses IP de multidiffusion sur un système local et retourne ces informations dans une structure MIB_MULTICASTIPADDRESS_TABLE .
Les entrées d’adresse IP de multidiffusion sont retournées dans une structure MIB_MULTICASTIPADDRESS_TABLE dans la mémoire tampon vers laquelle pointe le paramètre Table . La structure MIB_MULTICASTIPADDRESS_TABLE contient un nombre d’entrées d’adresses IP multidiffusion et un tableau de structures MIB_MULTICASTIPADDRESS_ROW pour chaque entrée d’adresse IP de multidiffusion. Lorsque ces structures retournées ne sont plus nécessaires, libérez la mémoire en appelant FreeMibTable.
Le paramètre Family doit être initialisé en AF_INET, AF_INET6 ou AF_UNSPEC.
Notez que la structure MIB_MULTICASTIPADDRESS_TABLE renvoyée pointée vers le paramètre Table peut contenir un remplissage pour l’alignement entre le membre NumEntries et la première entrée de tableau MIB_MULTICASTIPADDRESS_ROW dans le membre Table de la structure MIB_MULTICASTIPADDRESS_TABLE . Le remplissage pour l’alignement peut également être présent entre les entrées de tableau MIB_MULTICASTIPADDRESS_ROW . Tout accès à une entrée de tableau MIB_MULTICASTIPADDRESS_ROW doit supposer que le remplissage peut exister.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | netioapi.h (inclure Iphlpapi.h) |
Bibliothèque | Iphlpapi.lib |
DLL | Iphlpapi.dll |