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 |
---|---|
|
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. |
|
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 |
---|---|
|
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 . |
|
Los recursos de memoria insuficientes están disponibles para completar la operación. |
|
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 |