SetUnicastIpAddressEntry, fonction
La fonction SetUnicastIpAddressEntry définit les propriétés d’une entrée d’adresse IP de monodiffusion existante sur un ordinateur local.
Syntaxe
NETIOAPI_API SetUnicastIpAddressEntry(
_In_ const MIB_UNICASTIPADDRESS_ROW *Row
);
Paramètres
- Ligne [in]
Pointeur vers une entrée de structure MIB_UNICASTIPADDRESS_ROW pour une entrée d’adresse IP de monodiffusion existante.
Valeur retournée
SetUnicastIpAddressEntry retourne STATUS_SUCCESS si la fonction réussit.
Si la fonction échoue, SetUnicastIpAddressEntry 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_UNICASTIPADDRESS_ROW vers laquelle le paramètre Row pointe 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_UNICASTIPADDRESS_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_UNICASTIPADDRESS_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 . |
Autres | Utilisez la fonction FormatMessage pour obtenir la chaîne de message de l’erreur retournée. |
Notes
La fonction GetUnicastIpAddressEntry est généralement utilisée pour récupérer une entrée de structure MIB_UNICASTIPADDRESS_ROW existante à modifier. Un pilote peut ensuite modifier les membres de l’entrée MIB_UNICASTIPADDRESS_ROW qu’il souhaite modifier, puis appeler la fonction SetUnicastIpAddressEntry .
Un pilote peut appeler la fonction InitializeUnicastIpAddressEntry pour initialiser les membres d’une entrée de structure MIB_UNICASTIPADDRESS_ROW avec des valeurs par défaut avant d’apporter des modifications. Toutefois, le pilote enregistre généralement le membre InterfaceLuid ou InterfaceIndex avant d’appeler InitializeUnicastIpAddressEntry et restaure l’un de ces membres après l’appel.
Votre pilote doit initialiser les membres suivants de la structure MIB_UNICASTIPADDRESS_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. 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.
Si le membre OnLinkPrefixLength de la structure MIB_UNICASTIPADDRESS_ROW vers laquelle pointe le paramètre Row a la valeur 255, SetUnicastIpAddressEntry définit les propriétés d’adresse IP de monodiffusion afin que le membre OnLinkPrefixLength soit égal à la longueur de l’adresse IP. Pour une adresse IPv4 monodiffusion, OnLinkPrefixLength est défini sur 32. Pour une adresse IPv6 monodiffusion, OnLinkPrefixLength est défini sur 128. Si ces paramètres entraînent un masque de sous-réseau incorrect pour une adresse IPv4 ou un préfixe de lien incorrect pour une adresse IPv6, le pilote doit définir ce membre sur la valeur correcte avant d’appeler SetUnicastIpAddressEntry.
SetUnicastIpAddressEntry ignore les membres DadState, ScopeId et CreationTimeStamp de la structure MIB_UNICASTIPADDRESS_ROW vers laquelle pointe le paramètre Row . Ces membres sont définis par la pile réseau et ne peuvent pas être modifiés à l’aide de la fonction SetUnicastIpAddressEntry . Le membre ScopeId est automatiquement déterminé par l’interface sur laquelle l’adresse a été ajoutée.
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 |