Compartir a través de


Función CreateIpNetEntry2

La función CreateIpNetEntry2 crea una nueva entrada de dirección IP vecina en el equipo local.

Sintaxis

NETIOAPI_API CreateIpNetEntry2(
  _In_ const MIB_IPNET_ROW2 *Row
);

Parámetros

Valor devuelto

CreateIpNetEntry2 devuelve STATUS_SUCCESS si la función se realiza correctamente.

Si se produce un error en la función, CreateIpNetEntry2 devuelve uno de los siguientes códigos de error:

Código devuelto Descripción
STATUS_INVALID_PARAMETER

Se pasó un parámetro no válido a la función. Este error se devuelve si se produce uno de los siguientes elementos:

  • Se pasa un puntero NULL en el parámetro Row .

  • El miembro Address de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row no se estableció en una dirección IPv4 o IPv6 válida de unidifusión o multidifusión.

  • Los miembros PhysicalAddress y PhysicalAddressLength de la estructura MIB_IPNET_ROW2 no se establecieron en una dirección física válida.

  • Los miembros InterfaceLuid e InterfaceIndex de la estructura MIB_IPNET_ROW2 no se especificaron.

  • Se pasó una dirección de bucle invertido en el miembro Address .

STATUS_NOT_FOUND

No se encontró la interfaz especificada. Este error se devuelve si la función no encuentra la interfaz de red especificada por el miembro InterfaceLuid o InterfaceIndex de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row .

STATUS_NOT_SUPPORTED

No se admite la solicitud. Este error se devuelve si no se encuentra ninguna pila IPv4 en el equipo local y se especificó una dirección IPv4 en el miembro Address de la estructura MIB_IPNET_ROW2 que apunta el parámetro Row o si no se encuentra ninguna pila IPv6 en el equipo local y se especificó una dirección IPv6 en el miembro Address .

ERROR_OBJECT_ALREADY_EXISTS

El objeto ya existe. Este error se devuelve si el miembro Address de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row es un duplicado de una dirección IP vecina existente en la interfaz especificada por el miembro InterfaceLuid o InterfaceIndex de la estructura MIB_IPNET_ROW2.

Otros

Use la función FormatMessage para obtener la cadena de mensaje del error devuelto.

Observaciones

El controlador debe inicializar los siguientes miembros de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row :

  • Establezca el miembro Address en una dirección y familia IPv4 o IPv6 válidas de unidifusión, anycast o multidifusión.

  • Establezca los miembros PhysicalAddress y PhysicalAddressLength de la estructura MIB_IPNET_ROW2 en una dirección física válida.

  • Establezca InterfaceLuid o InterfaceIndex en el LUID o el valor de índice de la interfaz.

Los miembros InterfaceLuid e InterfaceIndex se usan en el orden enumerado anteriormente. Por lo tanto, si se especifica InterfaceLuid , este miembro se usa para determinar la interfaz en la que se agrega la dirección IP de unidifusión. Si no se estableció ningún valor para el miembro InterfaceLuid (el valor de este miembro se estableció en cero), el miembro InterfaceIndex se usa a continuación para determinar la interfaz.

Se produce un error en la función CreateIpNetEntry2 si la dirección IP que se pasa en el miembro Address de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row es un duplicado de una dirección IP vecina existente en la interfaz.

Requisitos

Plataforma de destino

Universal

Versión

Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.

Encabezado

Netioapi.h (incluya Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Consulte también

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2