Méthode INetworkCostManager ::SetDestinationAddresses (netlistmgr.h)

La méthode SetDestinationAddresses inscrit les adresses IPv4/IPv6 de destination spécifiées pour recevoir des notifications de coût ou de plan de données status de modification.

Syntaxe

HRESULT SetDestinationAddresses(
  [in] UINT32       length,
  [in] NLM_SOCKADDR *pDestIPAddrList,
       VARIANT_BOOL bAppend
);

Paramètres

[in] length

Nombre d’adresses IPv4/IPv6 de destination dans la liste.

[in] pDestIPAddrList

Structure de NLM_SOCKADDR contenant une liste d’adresses IPv4/IPv6 de destination pour s’inscrire au coût ou au plan de données status notification de modification.

bAppend

Si la valeur est true, pDestIPAddrList est ajouté à la liste d’adresses existante ; sinon, la liste existante sera remplacée.

Valeur retournée

Retourne S_OK en cas de réussite, sinon un code d’erreur HRESULT est retourné.

Code de retour Description
E_INVALIDARG
Retourné si l’un des éléments suivants se produit :
  • longueur est 0.
  • longueur supérieure à NLM_MAX_ADDRESS_LIST_SIZE(10)
  • bAppend est VARIANT_TRUE, mais l’inclusion du nombre de destinations abonnées dans la liste existante avec la valeur de longueur dépasse NLM_MAX_ADDRESS_SIZE.
  • Une adresse de destination dans la liste fournie n’est pas valide.
E_POINTER
destIPAddrList a la valeur NULL.
HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
La demande n'est pas prise en charge. Cette erreur est retournée si une pile IPv4 ou IPv6 n’est pas présente sur l’ordinateur local, mais qu’une adresse IPv4 ou IPv6 a été spécifiée par destIPAddr.
HRESULT_FROM_WIN32(ERROR_ALREADY_INITIALIZED)
Cette méthode a été appelée après l’inscription pour INetworkCostManagerEvents en appelant IConnectionPoint ::Advise. Pour plus d’informations, consultez Remarque.

Remarques

Cette méthode doit être appelée avant IConnectionPoint ::Advise. Une fois IConnectionPoint ::Advise appelé, cette méthode ne se termine pas correctement tant que le dernier récepteur n’appelle pas IConnectionPoint ::UnAdvise. Toutefois, cette méthode peut être appelée plusieurs fois avant l’appel à IConnectionPoint ::Advise.

Si une liste d’adresses de destination indiquées par pDestIPAddrList contient des adresses en double, une seule d’entre elles sera utilisée pour notifier les modifications de coût. Les appelants peuvent effacer une liste de destinations en appelant cette fonction dont la longueur est définie sur 0, destIPAddrList set NULL et bAppend set FALSE.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête netlistmgr.h

Voir aussi

IConnectionPoint ::Advise

IConnectionPoint ::UnAdvise

INetworkCostManager