Compartir a través de


Función GetIpInterfaceTable

La función GetIpInterfaceTable recupera las entradas de la interfaz IP en un equipo local.

Sintaxis

NETIOAPI_API GetIpInterfaceTable(
  _In_  ADDRESS_FAMILY         Family,
  _Out_ PMIB_IPINTERFACE_TABLE *Table
);

Parámetros

  • Familia [in]
    Familia de direcciones de interfaces IP que se van a recuperar.

    Los valores posibles para la familia de direcciones se enumeran 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.

    • AF_INET6
      Familia de direcciones IPv6.

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

  • Tabla [salida]
    Puntero a un búfer que recibe la tabla de entradas de la interfaz IP en una estructura MIB_IPINTERFACE_TABLE .

Valor devuelto

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

Si se produce un error en la función, GetIpInterfaceTable 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 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

Hay recursos de memoria insuficientes disponibles para completar la operación.

STATUS_NOT_FOUND

No se encontraron entradas de interfaz IP, como se especifica en el parámetro Family .

STATUS_NOT_SUPPORTED

No se admite la función . Este error se devuelve cuando el transporte IP especificado en el parámetro Address no está configurado en el equipo local. Este error también se devuelve en las versiones de Windows en las que no se admite esta función.

Otros

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

Observaciones

La función GetIpInterfaceTable enumera las interfaces IP de un equipo local y devuelve esta información en una estructura MIB_IPINTERFACE_TABLE .

GetIpInterfaceTable devuelve entradas de interfaz IP en una estructura de MIB_IPINTERFACE_TABLE en el búfer al que apunta el parámetro Table . La estructura MIB_IPINTERFACE_TABLE contiene un recuento de entradas de interfaz IP y una matriz de estructuras de MIB_IPINTERFACE_ROW para cada entrada de interfaz IP. Cuando estas estructuras devueltas ya no son necesarias, el controlador debe liberar la memoria llamando a la función FreeMibTable .

El controlador debe inicializar el parámetro Family para AF_INET o AF_INET6.

Tenga en cuenta que la estructura de MIB_IPINTERFACE_TABLE devuelta a la que apunta el parámetro Table puede contener relleno para la alineación entre el miembro NumEntries y la primera entrada de matriz MIB_IPINTERFACE_ROW en el miembro Table de la estructura MIB_IPINTERFACE_TABLE. El relleno para la alineación también puede estar presente entre las entradas de matriz de MIB_IPINTERFACE_ROW. Cualquier acceso a una entrada de matriz de MIB_IPINTERFACE_ROW 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

FreeMibTable

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

MIB_IPNET_ROW2

MIB_IPNET_TABLE2