Partager via


CreateAnycastIpAddressEntry, fonction

La fonction CreateAnycastIpAddressEntry ajoute une nouvelle entrée d’adresse IP anycast sur un ordinateur local.

Syntaxe

NETIOAPI_API CreateAnycastIpAddressEntry(
  _In_ const MIB_ANYCASTIPADDRESS_ROW *Row
);

Paramètres

Valeur retournée

CreateAnycastIpAddressEntry retourne STATUS_SUCCESS si la fonction réussit.

Si la fonction échoue, CreateAnycastIpAddressEntry retourne l’un des codes d’erreur suivants :

Code de retour Description
STATUS_INVALID_PARAMETER

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 Row , si le membre Address de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row n’a pas été défini sur une adresse IPv4 ou IPv6 de monodiffusion valide, ou si les membres InterfaceLuid et InterfaceIndex de la structure MIB_ANYCASTIPADDRESS_ROW n’ont pas été spécifiés.

STATUS_NOT_FOUND

L’interface spécifiée est introuvable. Cette erreur est retournée si la fonction ne trouve pas l’interface réseau spécifiée par le membre InterfaceLuid ou InterfaceIndex de la structure MIB_UNICASTIPADDRESS_ROW vers laquelle pointe le paramètre Row .

STATUS_NOT_SUPPORTED

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 qu’une adresse IPv4 a été spécifiée dans le membre Address de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row , ou si aucune pile IPv6 ne se trouve sur l’ordinateur local et qu’une adresse IPv6 a été spécifiée dans le membre Address .

ERROR_OBJECT_ALREADY_EXISTS

L'objet existe déjà. Cette erreur est retournée si le membre Address de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row est un doublon d’une adresse IP anycast existante sur l’interface spécifiée par le membre InterfaceLuid ou InterfaceIndex de la structure MIB_ANYCASTIPADDRESS_ROW.

Autres

Utilisez la fonction FormatMessage pour obtenir la chaîne de message de l’erreur retournée.

Notes

Votre pilote doit initialiser les membres suivants de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row .

  • Adresse
    Définissez sur une adresse et une famille IPv4 ou IPv6 en monodiffusion valides.

  • InterfaceLuid ou InterfaceIndex
    Ces membres sont utilisés dans l’ordre indiqué précédemment. Par conséquent, si InterfaceLuid est spécifié, ce membre est utilisé pour déterminer l’interface à laquelle ajouter l’adresse IP de monodiffusion. Si aucune valeur n’a été définie pour le membre InterfaceLuid (la valeur de ce membre a été définie sur zéro), le membre InterfaceIndex est ensuite utilisé pour déterminer l’interface.

Le membre ScopeId de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row est ignoré lorsque la fonction CreateAnycastIpAddressEntry est appelée. Le membre ScopeId est automatiquement déterminé par l’interface sur laquelle l’adresse est ajoutée.

La fonction CreateAnycastIpAddressEntry échoue si l’adresse IP anycast passée dans le membre Address de la structure MIB_ANYCASTIPADDRESS_ROW vers laquelle pointe le paramètre Row est un doublon d’une adresse IP anycast existante sur l’interface.

Spécifications

Plateforme cible

Universal

Version

Disponible dans Windows Vista et versions ultérieures des systèmes d’exploitation Windows.

En-tête

Netioapi.h (inclure Netioapi.h)

Bibliothèque

Netio.lib

IRQL

< DISPATCH_LEVEL

Voir aussi

DeleteAnycastIpAddressEntry

GetAnycastIpAddressEntry

GetAnycastIpAddressTable

MIB_ANYCASTIPADDRESS_ROW

MIB_ANYCASTIPADDRESS_TABLE