CreateIpNetEntry2, fonction
La fonction CreateIpNetEntry2 crée une entrée d’adresse IP voisine sur l’ordinateur local.
Syntaxe
NETIOAPI_API CreateIpNetEntry2(
_In_ const MIB_IPNET_ROW2 *Row
);
Paramètres
- Ligne [in]
Pointeur vers une entrée de structure MIB_IPNET_ROW2 pour une entrée de route IP.
Valeur retournée
CreateIpNetEntry2 retourne STATUS_SUCCESS si la fonction réussit.
Si la fonction échoue, CreateIpNetEntry2 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 l’un des éléments suivants se produit :
|
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_IPNET_ROW2 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_IPNET_ROW2 que 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_IPNET_ROW2 vers laquelle pointe le paramètre Row est un doublon d’une adresse IP voisine existante sur l’interface spécifiée par le membre InterfaceLuid ou InterfaceIndex de la structure MIB_IPNET_ROW2. |
Autres | Utilisez la fonction FormatMessage pour obtenir la chaîne de message pour l’erreur retournée. |
Notes
Votre pilote doit initialiser les membres suivants de la structure MIB_IPNET_ROW2 vers laquelle pointe le paramètre Row :
Définissez le membre Address sur une adresse et une famille IPv4 ou IPv6 valides, anycast ou multidiffusion.
Définissez les membres PhysicalAddress et PhysicalAddressLength de la structure MIB_IPNET_ROW2 sur une adresse physique valide.
Définissez InterfaceLuid ou InterfaceIndex sur la valeur LUID ou d’index de l’interface.
Les membres InterfaceLuid et InterfaceIndex sont utilisés dans l’ordre répertorié précédemment. Par conséquent, si l’interfaceLuid est spécifiée, ce membre est utilisé pour déterminer l’interface sur laquelle ajouter l’adresse IP de unidiffusion. 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.
La fonction CreateIpNetEntry2 échoue si l’adresse IP passée dans le membre Address de la structure MIB_IPNET_ROW2 vers laquelle pointe le paramètre Row est un doublon d’une adresse IP voisine existante sur l’interface.
Spécifications
Plateforme cible |
Universal |
Version |
Disponible dans Windows Vista et les versions ultérieures des systèmes d’exploitation Windows. |
En-tête |
Netioapi.h (inclure Netioapi.h) |
Bibliothèque |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |