Compartir a través de


Función GetIfTable2Ex (netioapi.h)

La función GetIfTable2Ex recupera la tabla de interfaz MIB-II.

Sintaxis

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

Parámetros

[in] Level

Nivel de información de interfaz que se va a recuperar. Este parámetro puede ser uno de los valores del tipo de enumeración MIB_IF_TABLE_LEVEL definido en el archivo de encabezado Netioapi.h .

Valor Significado
MibIfTableNormal
Los valores de estadísticas y estado devueltos en los miembros de la estructura MIB_IF_ROW2 de la estructura MIB_IF_TABLE2 a la que apunta el parámetro Table se devuelven desde la parte superior de la pila de filtros cuando se especifica este parámetro.
MibIfTableRaw
Los valores de estadísticas y estado devueltos en los miembros de la estructura MIB_IF_ROW2 de la estructura MIB_IF_TABLE2 a la que apunta el parámetro Table se devuelven directamente para la interfaz que se está consultando.

[out] Table

Puntero a un búfer que recibe la tabla de interfaces en una estructura de MIB_IF_TABLE2 .

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
ERROR_INVALID_PARAMETER
Se pasó un parámetro no válido a la función. Este error se devuelve si se pasó un valor no válido en el parámetro Level .
ERROR_NOT_ENOUGH_MEMORY
Los recursos de memoria insuficientes están disponibles para completar la operación.
Otros
Use FormatMessage para obtener la cadena de mensaje para el error devuelto.

Comentarios

The
La función GetIfTable2Ex enumera las interfaces lógicas y físicas en un sistema local y devuelve esta información en una estructura de MIB_IF_TABLE2 . GetIfTable2Ex es una versión mejorada de la función GetIfTable que permite seleccionar el nivel de información de interfaz que se va a recuperar.

También se puede usar una función GetIfTable2 similar para recuperar interfaces. pero no permite especificar el nivel de interfaces que se van a devolver. Al llamar a la función GetIfTable2Ex con el parámetro Level establecido en MibIfTableNormal , se recuperan los mismos resultados que llamar a la función GetIfTable2 .

Las interfaces se devuelven en una estructura de MIB_IF_TABLE2 en el búfer al que apunta el parámetro Table . La estructura MIB_IF_TABLE2 contiene un recuento de interfaces y una matriz de estructuras de MIB_IF_ROW2 para cada interfaz. La función GetIfTable2 asigna memoria para la estructura MIB_IF_TABLE2 y las entradas MIB_IF_ROW2 de esta estructura. Cuando estas estructuras devueltas ya no son necesarias, libere la memoria llamando a FreeMibTable.

Todas las interfaces, incluidas las interfaces de controlador intermedio de NDIS y las interfaces del controlador de filtro NDIS, se devuelven para cualquiera de los valores posibles para el parámetro Level . La configuración del parámetro Level afecta a cómo se devuelven las estadísticas y los miembros de estado de la estructura de MIB_IF_ROW2 en la estructura MIB_IF_TABLE2 a la que apunta el parámetro Table de la interfaz. Por ejemplo, una tarjeta de interfaz de red (NIC) tendrá un controlador de miniporte NDIS. Se puede instalar un controlador intermedio NDIS para interactuar entre los controladores de protocolo de nivel superior y los controladores de miniporte NDIS. Un controlador de filtro NDIS (LWF) se puede conectar sobre el controlador intermedio NDIS. Supongamos que la NIC informa al miembro MediaConnectState de la estructura de MIB_IF_ROW2 como MediaConnectStateConnected , pero el controlador de filtro NDIS modifica el estado e informa del estado como MediaConnectStateDisconnected. Cuando se consulta la información de la interfaz con el parámetro Level establecido en MibIfTableNormal, se notifica el estado en la parte superior de la pila de filtros, que es MediaConnectStateDisconnected . Cuando se consulta la interfaz con el parámetro Level establecido en MibIfTableRaw, se devuelve el estado directamente en el nivel de interfaz, que es MediaConnectStateConnected .

Tenga en cuenta que la estructura de MIB_IF_TABLE2 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_IF_ROW2 en el miembro Table de la estructura MIB_IF_TABLE2 . El relleno para la alineación también puede estar presente entre las entradas de matriz de MIB_IF_ROW2 . Cualquier acceso a una entrada de matriz de MIB_IF_ROW2 debe suponer que puede existir relleno.

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

Consulte también

FreeMibTable

GetIfTable

GetIfTable2

Referencia de la función auxiliar de IP

MIB_IF_ROW2

MIB_IF_TABLE2