Compartir a través de


Función GetIpForwardTable2

La función GetIpForwardTable2 recupera las entradas de ruta IP en un equipo local.

Sintaxis

NETIOAPI_API GetIpForwardTable2(
  _In_  ADDRESS_FAMILY        Family,
  _Out_ PMIB_IPFORWARD_TABLE2 *Table
);

Parámetros

  • familia [in]
    Familia de direcciones que se va a recuperar.

    Los valores posibles para la familia de direcciones aparecen en el archivo de encabezado Winsock2.h. Tenga en cuenta que los valores de la familia de direcciones AF_ y las constantes de familia de protocolos PF_ son idénticos (por ejemplo, AF_INET y PF_INET), por lo que puede usar cualquiera de las constantes.

    En Windows Vista y versiones posteriores de los sistemas operativos Windows, los valores posibles para el parámetro Family se definen en el archivo de encabezado Ws2def.h. Tenga en cuenta que el archivo de encabezado Ws2def.h se incluye automáticamente en Netioapi.h y nunca debe usar Ws2def.h directamente.

    Actualmente se admiten los siguientes valores para la familia de direcciones:

    • AF_INET
      Familia de direcciones IPv4. Cuando se especifica este valor, esta función devuelve la tabla de enrutamiento IP que contiene solo entradas IPv4.

    • AF_INET6
      Familia de direcciones IPv6. Cuando se especifica este valor, esta función devuelve la tabla de enrutamiento IP que contiene solo entradas IPv6.

    • AF_UNSPEC
      La familia de direcciones no está especificada. Cuando se especifica este valor, esta función devuelve la tabla de enrutamiento IP que contiene entradas IPv4 e IPv6.

  • tabla [out]
    Puntero a una estructura MIB_IPFORWARD_TABLE2 que contiene una tabla de entradas de ruta IP en el equipo local.

Valor devuelto

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

Si se produce un error en la función, GetIpForwardTable2 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 pasa un puntero de NULL NULL en el parámetro Table o el parámetro Family no se especificó como AF_INET, AF_INET6 o AF_UNSPEC.

STATUS_NOT_ENOUGH_MEMORY

Los recursos de memoria insuficientes están disponibles para completar la operación.

STATUS_NOT_FOUND

No se encontraron entradas de ruta IP, como se especifica en el parámetro familia.

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ó AF_INET en el parámetro Family, o si no se encuentra ninguna pila IPv6 en el equipo local y se especificó AF_INET6 en el parámetro Family. Este error también se devuelve en versiones de Windows en las que no se admite esta función.

otros

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

Observaciones

La función GetIpForwardTable2 enumera las entradas de ruta IP en un equipo local y devuelve esta información en una estructura de MIB_IPFORWARD_TABLE2.

Las entradas de ruta IP se devuelven en una estructura de MIB_IPFORWARD_TABLE2 en el búfer al que apunta el parámetro tabla de. La estructura MIB_IPFORWARD_TABLE2 contiene un recuento de entradas de ruta IP y una matriz de estructuras de MIB_IPFORWARD_ROW2 para cada entrada de ruta IP. Cuando estas estructuras devueltas ya no son necesarias, el controlador debe liberar la memoria llamando a FreeMibTable.

El controlador debe inicializar el parámetro Family en AF_INET, AF_INET6 o AF_UNSPEC.

Tenga en cuenta que la estructura de MIB_IPFORWARD_TABLE2 devuelta que el parámetro Table apunta a podría contener relleno para la alineación entre el miembro NumEntries y la primera entrada de matriz de MIB_IPFORWARD_ROW2 en la tabla miembro de la estructura MIB_IPFORWARD_TABLE2. El relleno para la alineación también puede estar presente entre las entradas de MIB_IPFORWARD_ROW2 matriz. Cualquier acceso a una entrada de matriz de MIB_IPFORWARD_ROW2 debe suponer que puede existir relleno.

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

FreeMibTable

GetBestRoute2

GetIpForwardEntry2

initializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2