Compartir a través de


Función ResolveIpNetEntry2

La función de ResolveIpNetEntry2 resuelve la dirección física de una entrada de dirección IP vecina en un equipo local.

Sintaxis

NETIOAPI_API ResolveIpNetEntry2(
  _Inout_        PMIB_IPNET_ROW2 Row,
  _In_opt_ const SOCKADDR_INET   *SourceAddress
);

Parámetros

  • fila [in, out]
    Puntero a una entrada de estructura de MIB_IPNET_ROW2 para una entrada de dirección IP vecina. Si la devolución se realiza correctamente, esta estructura se actualiza con las propiedades de la dirección IP vecina.

  • sourceAddress [in, opcional]
    Puntero a una dirección IP de origen opcional que se usa para seleccionar la interfaz para enviar las solicitudes a la entrada de dirección IP vecina.

Valor devuelto

resolveIpNetEntry2 devuelve STATUS_SUCCESS si la función se ejecuta correctamente.

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

Código devuelto Descripción
STATUS_BAD_NETWORK_NAME

No se encuentra el nombre de red. Este error se devuelve si la red con la dirección IP vecina no es accesible.

STATUS_INVALID_PARAMETER

Se pasó un parámetro no válido a la función . Este error se devuelve si se pasa un puntero NULL NULL en el parámetro Row, el miembro Address de la estructura de MIB_IPNET_ROW2 que el parámetro Row de apunta a no se estableció en una dirección IPv4 o IPv6 válida, o ambos InterfaceLuid y InterfaceIndex miembros de la estructura MIB_IPNET_ROW2 no se especificaron. Este error también se devuelve si se pasó una dirección de bucle invertido en el miembro de 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 InterfaceLuid o interfaceIndex miembro de la estructura de MIB_IPNET_ROW2 a la que apunta el parámetro fila.

STATUS_NOT_SUPPORTED

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

otros

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

Observaciones

La función ResolveIpNetEntry2 se usa para resolver la dirección física de una entrada de dirección IP vecina en un equipo local. Esta función vacía cualquier entrada de vecino existente que coincida con la dirección IP de la interfaz y, a continuación, resuelve la dirección física (MAC) enviando solicitudes ARP para una dirección IPv4 o solicitudes de solicitud de vecinos (NS) para una dirección IPv6. Si se especifica el parámetro SourceAddress, ResolveIpNetEntry2 selecciona la interfaz con esta dirección IP de origen para enviar las solicitudes. Si no se especifica el parámetro sourceAddress (se pasó NULL en este parámetro), ResolveIpNetEntry2 selecciona automáticamente la mejor interfaz para enviar las solicitudes.

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

  • dirección
    Establézcalo en una dirección y familia IPv4 o IPv6 válidas.

  • InterfaceLuid o InterfaceIndex
    Estos miembros se usan en el orden que se muestra anteriormente. Por lo tanto, si se especifica interfaceLuid, este miembro se usa para determinar la interfaz. 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.

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, la función ResolveIpNetEntry2 vacía la entrada existente antes de resolver la dirección IP.

En la salida, cuando la llamada se realiza correctamente, ResolveIpNetEntry2 recupera las demás propiedades de la dirección IP vecina y rellena la estructura de MIB_IPNET_ROW2 a la que apunta el parámetro Row . Los PhysicalAddress y PhysicalAddressLength miembros de la estructura MIB_IPNET_ROW2 se inicializan en una dirección física válida.

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

CreateIpNetEntry2

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

SetIpNetEntry2