Estructura IFEntry (tcpioctl.h)

[Esta estructura puede modificarse o no estar disponible en versiones futuras de Windows.]

Describe una interfaz TCP/IP de acuerdo con el protocolo simple de administración de redes, versión 2, (SNMPv2) para la base de información de administración para la administración de redes TCP/IP (MIB-II), tal y como se especifica en la solicitud de comentarios (RFC) 1213 en las páginas 16 a 23.

Sintaxis

typedef struct IFEntry {
  ulong if_index;
  ulong if_type;
  ulong if_mtu;
  ulong if_speed;
  ulong if_physaddrlen;
  uchar if_physaddr[MAX_PHYSADDR_SIZE];
  ulong if_adminstatus;
  ulong if_operstatus;
  ulong if_lastchange;
  ulong if_inoctets;
  ulong if_inucastpkts;
  ulong if_innucastpkts;
  ulong if_indiscards;
  ulong if_inerrors;
  ulong if_inunknownprotos;
  ulong if_outoctets;
  ulong if_outucastpkts;
  ulong if_outnucastpkts;
  ulong if_outdiscards;
  ulong if_outerrors;
  ulong if_outqlen;
  ulong if_descrlen;
  uchar if_descr[1];
} IFEntry;

Miembros

if_index

Valor entre 1 y el número de interfaces de red presentes en este sistema, independientemente de su estado actual, que identifica de forma única esta interfaz y persiste en la reinicialización del sistema de administración de red.

if_type

El tipo de interfaz según los protocolos físicos o de vínculo inmediatamente debajo de la capa de red de la pila de protocolos. En la tabla siguiente se enumeran los valores posibles de este miembro if_type enumerados en las páginas 18 y 19 de RFC 1213.

Valor Significado
1
otro (es decir, ninguno de los siguientes)
2
regular1822
3
hdh1822
4
ddn-x25
5
rfc877-x25
6
Ethernet-csmacd
7
iso88023-csmacd
8
iso88024-tokenBus
9
iso88025-tokenRing
10
iso88026-man
11
starLan
12
proteon-10Mbit
13
proteon-80Mbit
14
hyperchannel
15
Fddi
16
lapb
17
Sdlc
18
ds1 (T-1)
19
e1 (equiv. europeo de T-1)
20
basicISDN
21
primaryISDN (serie propietaria)
22
propPointToPointSerial
23
Ppp
24
softwareLoopback
25
eon (CLNP sobre IP [11])
26
Ethernet-3Mbit
27
nsip (XNS over IP)
28
slip (SLIP genérico)
29
Ultra (tecnologías ULTRA)
30
ds3 (T-3)
31
sip (SMDS)
32
frame-relay(32)
 

Incluya el archivo de encabezado Ipifcons.h del SDK de Microsoft para las constantes de marca que admiten estos y tipos de interfaz IP adicionales.

Al examinar el valor del miembro if_type , también puede definir y probar una constante adicional que identifique una interfaz "loopback": #define IF_TYPE_LOOPBACK 0

if_mtu

Tamaño, en bytes, del datagrama más grande que se puede enviar o recibir en la interfaz. En el caso de las interfaces que se usan para transmitir datagramas de red, este es el tamaño del datagrama de red más grande que se puede enviar en la interfaz.

if_speed

Estimación del ancho de banda actual de la interfaz, en bits por segundo. En el caso de las interfaces que no varían en ancho de banda o para las que no se puede realizar ninguna estimación precisa, este miembro contiene el ancho de banda nominal.

if_physaddrlen

Longitud, en bytes, de la dirección contenida en el miembro if_physaddr . En el caso de interfaces como puertos serie que no tienen una dirección de este tipo, el miembro if_physaddrlen es cero.

if_physaddr[MAX_PHYSADDR_SIZE]

La dirección de la interfaz en la capa de protocolo inmediatamente debajo de la capa de red de la pila de protocolos. En el caso de interfaces como puertos serie que no tienen una dirección de este tipo, el miembro if_physaddr contiene una cadena vacía.

if_adminstatus

El estado deseado de la interfaz; uno de los siguientes valores especificados en la página 20 de RFC 1213.

Valor Significado
1
Hacia arriba; listo para pasar paquetes.
2
inactivo.
3
En un estado de prueba, de modo que no se pueda pasar ningún paquete operativo.

if_operstatus

El estado operativo actual real de la interfaz; uno de los siguientes valores especificados en la página 20 de RFC 1213.

Valor Significado
1
Hacia arriba; listo para pasar paquetes.
2
inactivo.
3
En un estado de prueba, de modo que no se pueda pasar ningún paquete operativo.

if_lastchange

La hora, en centésimas de segundo, desde que la parte de administración de red del sistema se reinicializa por última vez, en la que esta interfaz entró en su estado operativo actual real. Si el estado actual se especificó antes de la última reinicialización del subsistema de administración de red local, este miembro se establece en cero.

if_inoctets

Número total de bytes recibidos en esta interfaz, incluidos los caracteres de trama.

if_inucastpkts

Número de paquetes de unidifusión de subred entregados a un protocolo de capa superior.

if_innucastpkts

Número de paquetes que no son de unidifusión (difusión de subred o multidifusión de subred) entregados a un protocolo de capa superior.

if_indiscards

Número de paquetes entrantes que se han descartado para liberar recursos de memoria o por otro motivo similar no relacionado con ningún error que impida que se entreguen a un protocolo de capa superior.

if_inerrors

Número de paquetes entrantes que contienen errores que impiden que se entreguen a un protocolo de capa superior.

if_inunknownprotos

Número de paquetes entrantes que se han descartado debido a un protocolo desconocido o no admitido.

if_outoctets

Número total de bytes transmitidos fuera de la interfaz, incluidos los caracteres de trama.

if_outucastpkts

El número total de paquetes que han solicitado los protocolos de nivel superior se transmiten a una dirección de unidifusión de subred, incluidas las descartadas o no enviadas.

if_outnucastpkts

El número total de paquetes que han solicitado protocolos de nivel superior se transmiten a una dirección de no unidifusión (difusión de subred o multidifusión de subred), incluidas las que se descartaron o no se enviaron.

if_outdiscards

El número de paquetes salientes que se han descartado para liberar recursos de memoria o por otros motivos similares no relacionados con ningún error que impida su transmisión.

if_outerrors

Número de paquetes salientes que no se pudieron transmitir debido a errores.

if_outqlen

Número actual de paquetes en la cola de paquetes de salida.

if_descrlen

Tamaño, en bytes, sin contar ningún carácter nulo de terminación, del texto de descripción de la interfaz contenido en el miembro if_descr .

if_descr[1]

Cadena de texto que contiene información sobre esta interfaz, incluido el nombre del fabricante, el nombre del producto y la versión de hardware. Si la cadena no está incluida, el tamaño del búfer es de 1 byte.

Comentarios

Debido a su longitud variable if_descr miembro, la estructura IFEntry no tiene un tamaño fijo. Para asignar memoria para que contenga una instancia real de la estructura, se puede calcular un tamaño de búfer razonablemente seguro de la siguiente manera:

maxIFEntryLen = sizeof(IFEntry) + MAX_ADAPTER_DESCRIPTION_LENGTH + 1;

Requisitos

Requisito Valor
Header tcpioctl.h

Consulte también

IOCTL_TCP_QUERY_INFORMATION_EX

Referencia de la base de información de administración