Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 |