Share via


CreateSortedAddressPairs, fonction (netioapi.h)

La fonction CreateSortedAddressPairs prend une liste fournie d’adresses IP de destination potentielles, associe les adresses de destination avec les adresses IP locales de l’ordinateur hôte et trie les paires en fonction de la paire d’adresses la mieux adaptée à la communication entre les deux homologues.

Syntaxe

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API CreateSortedAddressPairs(
  [in, optional] const PSOCKADDR_IN6 SourceAddressList,
  [in]           ULONG               SourceAddressCount,
  [in]           const PSOCKADDR_IN6 DestinationAddressList,
  [in]           ULONG               DestinationAddressCount,
  [in]           ULONG               AddressSortOptions,
  [out]          PSOCKADDR_IN6_PAIR  *SortedAddressPairList,
  [out]          ULONG               *SortedAddressPairCount
);

Paramètres

[in, optional] SourceAddressList

Doit être NULL. Réservé pour un usage futur.

[in] SourceAddressCount

Doit être égal à 0. Réservé pour un usage futur.

[in] DestinationAddressList

Pointeur vers un tableau de structures SOCKADDR_IN6 qui contiennent une liste d’adresses de destination IPv6 potentielles. Toutes les adresses IPv4 doivent être représentées au format d’adresse IPv6 mappé iPv4, ce qui permet à une application IPv6 uniquement de communiquer avec un nœud IPv4.

[in] DestinationAddressCount

Nombre d’adresses de destination pointées par le paramètre DestinationAddressList .

[in] AddressSortOptions

Réservé pour un usage futur.

[out] SortedAddressPairList

Pointeur permettant de stocker un tableau de structures SOCKADDR_IN6_PAIR qui contiennent une liste de paires d’adresses IPv6 triées dans l’ordre de communication préféré, si l’appel de fonction réussit.

[out] SortedAddressPairCount

Pointeur permettant de stocker le nombre de paires d’adresses pointées par le paramètre SortedAddressPairList , si l’appel de fonction réussit.

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
ERROR_INVALID_PARAMETER
Un paramètre non valide a été transmis à la fonction. Cette erreur est retournée si les paramètresDestinationAddressList, SortedAddressPairList ou SortedAddressPairCount null ou DestinationAddressCount étaient supérieurs à 500. Cette erreur est également retournée si SourceAddressList n’a pas la valeur NULL ou si le paramètre SourceAddressPairCount n’est pas égal à zéro.
ERROR_NOT_ENOUGH_MEMORY
L’espace de stockage disponible est insuffisant pour traiter cette commande.
ERROR_NOT_SUPPORTED
La demande n'est pas prise en charge. Cette erreur est retournée si aucune pile IPv6 n’est sur l’ordinateur local.
Autres
Utilisez FormatMessage pour obtenir la chaîne de message de l’erreur retournée.

Remarques

La fonction CreateSortedAddressPairs est définie sur Windows Vista et versions ultérieures.

La fonction CreateSortedAddressPairs prend une liste d’adresses IPv6 sources et de destination, et retourne une liste de paires d’adresses dans l’ordre trié. La liste est triée en fonction de la paire d’adresses la mieux adaptée à la communication entre l’adresse source et l’adresse de destination.

La liste des adresses sources pointées par sourceAddressList est actuellement réservée pour l’avenir et doit être un pointeur NULL . SourceAddressCount est actuellement réservé pour l’avenir et doit être égal à zéro. La fonction CreateSortedAddressPairs utilise actuellement toutes les adresses locales de l’ordinateur hôte pour la liste d’adresses source.

La liste des adresses de destination est pointée vers le paramètre DestinationAddressList . La liste des adresses de destination est un tableau de structures SOCKADDR_IN6 . Toutes les adresses IPv4 doivent être représentées au format d’adresse IPv6 mappé iPv4, ce qui permet à une application IPv6 uniquement de communiquer avec un nœud IPv4. Pour plus d’informations sur le format d’adresse IPv6 mappé iPv4, consultez Sockets double pile. Le paramètre DestinationAddressCount contient le nombre d’adresses de destination pointées par le paramètre DestinationAddressList . La fonction CreateSortedAddressPairs prend en charge un maximum de 500 adresses de destination.

Si la fonction CreateSortedAddressPairs réussit, le paramètre SortedAddressPairList pointe vers un tableau de structures SOCKADDR_IN6_PAIR qui contiennent les paires d’adresses triées. Lorsque cette liste retournée n’est plus nécessaire, libérez la mémoire utilisée par la liste en appelant la fonction FreeMibTable .

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 (include Iphlpapi.h)
Bibliothèque Iphlpapi.lib
DLL Iphlpapi.dll

Voir aussi

Sockets à double pile

FreeMibTable

SOCKADDR_IN6_PAIR

Utilisation de SIO_ADDRESS_LIST_SORT

sockaddr