Función ResolveIpNetEntry2 (netioapi.h)
La función ResolveIpNetEntry2 resuelve la dirección física de una entrada de dirección IP vecina en el equipo local.
Sintaxis
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API ResolveIpNetEntry2(
[in, out] PMIB_IPNET_ROW2 Row,
[in, optional] const SOCKADDR_INET *SourceAddress
);
Parámetros
[in, out] Row
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 actualizará con las propiedades de la dirección IP vecina.
[in, optional] SourceAddress
Puntero a una dirección IP de origen opcional que se usa para seleccionar la interfaz en la que se envían las solicitudes para la entrada de dirección IP vecina.
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es NO_ERROR.
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
No se encuentra el nombre de red especificado. Este error se devuelve si la red con la dirección IP vecina no es accesible. |
|
Se pasó un parámetro no válido a la función. Este error se devuelve si se pasa un puntero NULL en el parámetro Row , el miembro Address del MIB_IPNET_ROW2 al que apunta el parámetro Row no se estableció en una dirección IPv4 o IPv6 válida, o bien no se especificaron los miembros InterfaceLuid o InterfaceIndex del MIB_IPNET_ROW2 señalados por el parámetro Row . Este error también se devuelve si se pasó una dirección de bucle invertido en el miembro Address . |
|
No se encontró la interfaz especificada. Este error se devuelve si no se encontró la interfaz de red especificada por el miembro InterfaceLuid o InterfaceIndex del MIB_IPNET_ROW2 señalado por el parámetro Row . |
|
No se admite la solicitud. Este error se devuelve si no hay ninguna pila IPv4 en el equipo local y se especificó una dirección IPv4 en el miembro Address del MIB_IPNET_ROW2 apuntado por el parámetro Row o ninguna pila IPv6 está en el equipo local y se especificó una dirección IPv6 en el miembro Address . |
|
Use FormatMessage para obtener la cadena de mensaje para el error devuelto. |
Comentarios
La función ResolveIpNetEntry2 se define en Windows Vista y versiones posteriores.
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 en 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 vecino para una dirección IPv6. Si se especifica el parámetro SourceAddress , la función ResolveIpNetEntry2 seleccionará 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), la función ResolveIpNetEntry2 seleccionará automáticamente la mejor interfaz para enviar las solicitudes.
El miembro Address de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row debe inicializarse en una dirección y familia IPv4 o IPv6 válidas. Además, al menos uno de los siguientes miembros de la estructura MIB_IPNET_ROW2 apunta al parámetro Row debe inicializarse en la interfaz: InterfaceLuid o InterfaceIndex.
Los campos se usan en el orden indicado anteriormente. Por lo tanto, si se especifica InterfaceLuid , este miembro se usa para determinar la interfaz en la que se va a agregar la dirección IP de unidifusión. Si no se estableció ningún valor para el miembro InterfaceLuid (los valores de este miembro se establecieron en cero), el miembro InterfaceIndex se usará a continuación para determinar la interfaz.
Si la dirección IP pasada en el miembro Address del MIB_IPNET_ROW2 apuntado por el parámetro Row es un duplicado de una dirección IP vecina existente en la interfaz, la función ResolveIpNetEntry2 vaciará la entrada existente antes de resolver la dirección IP.
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 miembros PhysicalAddress y PhysicalAddressLength de la estructura MIB_IPNET_ROW2 a la que apunta el parámetro Row se inicializarán en una dirección física válida.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | netioapi.h (include Iphlpapi.h) |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |