Funzione CreateSortedAddressPairs (netioapi.h)

La funzione CreateSortedAddressPairs accetta un elenco fornito di potenziali indirizzi IP di destinazione, associa gli indirizzi di destinazione agli indirizzi IP locali del computer host e ordina le coppie in base alla coppia di indirizzi IP più adatta per la comunicazione tra i due peer.

Sintassi

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
);

Parametri

[in, optional] SourceAddressList

Deve essere NULL. Riservato per utilizzi futuri.

[in] SourceAddressCount

Deve essere 0. Riservato per utilizzi futuri.

[in] DestinationAddressList

Puntatore a una matrice di strutture SOCKADDR_IN6 che contengono un elenco di potenziali indirizzi di destinazione IPv6. Tutti gli indirizzi IPv4 devono essere rappresentati nel formato di indirizzi IPv4 mappato, che consente a un'applicazione IPv6 di comunicare con un nodo IPv4.

[in] DestinationAddressCount

Numero di indirizzi di destinazione a cui punta il parametro DestinationAddressList .

[in] AddressSortOptions

Riservato per utilizzi futuri.

[out] SortedAddressPairList

Puntatore per archiviare una matrice di strutture SOCKADDR_IN6_PAIR che contengono un elenco di coppie di indirizzi IPv6 ordinati nell'ordine di comunicazione preferito, se la chiamata di funzione ha esito positivo.

[out] SortedAddressPairCount

Puntatore per archiviare il numero di coppie di indirizzi a cui punta il parametro SortedAddressPairList , se la chiamata di funzione ha esito positivo.

Valore restituito

Se la funzione ha esito positivo, il valore restituito è NO_ERROR.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Codice restituito Descrizione
ERROR_INVALID_PARAMETER
Un parametro non valido è stato passato alla funzione. Questo errore viene restituito se i parametri DestinationAddressList, SortedAddressPairList o SortedAddressPairCount o DestinationAddressCount sono maggiori di 500. Questo errore viene restituito anche se il parametro SourceAddressList non è NULL o il parametro SourceAddressPairCount non è zero.
ERROR_NOT_ENOUGH_MEMORY
L'archiviazione non è sufficiente per elaborare questo comando.
ERROR_NOT_SUPPORTED
La richiesta non è supportata. Questo errore viene restituito se non si trova alcun stack IPv6 nel computer locale.
Altri
Usare FormatMessage per ottenere la stringa di messaggio per l'errore restituito.

Commenti

La funzione CreateSortedAddressPairs è definita in Windows Vista e versioni successive.

La funzione CreateSortedAddressPairs accetta un elenco di indirizzi IPv6 di origine e di destinazione e restituisce un elenco di coppie di indirizzi in ordine ordinato. L'elenco viene ordinato in base alla coppia di indirizzi più adatto per la comunicazione tra l'indirizzo di origine e di destinazione.

L'elenco degli indirizzi di origine puntati da SourceAddressList è attualmente riservato per il futuro e deve essere un puntatore NULL . SourceAddressCount è attualmente riservato per il futuro e deve essere zero. La funzione CreateSortedAddressPairs attualmente usa tutti gli indirizzi locali del computer host per l'elenco di indirizzi di origine.

L'elenco degli indirizzi di destinazione è indicato dal parametro DestinationAddressList . L'elenco degli indirizzi di destinazione è una matrice di strutture SOCKADDR_IN6 . Tutti gli indirizzi IPv4 devono essere rappresentati nel formato di indirizzi IPv4 mappato, che consente a un'applicazione IPv6 di comunicare con un nodo IPv4. Per altre informazioni sul formato di indirizzi IPv4 mappato, vedere Dual-Stack Sockets. Il parametro DestinationAddressCount contiene il numero di indirizzi di destinazione a cui punta il parametro DestinationAddressList . La funzione CreateSortedAddressPairs supporta un massimo di 500 indirizzi di destinazione.

Se la funzione CreateSortedAddressPairs ha esito positivo, il parametro SortedAddressPairList punta a una matrice di strutture SOCKADDR_IN6_PAIR che contengono le coppie di indirizzi ordinati. Quando questo elenco restituito non è più necessario, liberare la memoria usata dall'elenco chiamando la funzione FreeMibTable .

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione netioapi.h (includere Iphlpapi.h)
Libreria Iphlpapi.lib
DLL Iphlpapi.dll

Vedi anche

Socket dual stack

FreeMibTable

SOCKADDR_IN6_PAIR

Uso di SIO_ADDRESS_LIST_SORT

sockaddr