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 |
---|---|
|
otro (es decir, ninguno de los siguientes) |
|
regular1822 |
|
hdh1822 |
|
ddn-x25 |
|
rfc877-x25 |
|
Ethernet-csmacd |
|
iso88023-csmacd |
|
iso88024-tokenBus |
|
iso88025-tokenRing |
|
iso88026-man |
|
starLan |
|
proteon-10Mbit |
|
proteon-80Mbit |
|
hyperchannel |
|
Fddi |
|
lapb |
|
Sdlc |
|
ds1 (T-1) |
|
e1 (equiv. europeo de T-1) |
|
basicISDN |
|
primaryISDN (serie propietaria) |
|
propPointToPointSerial |
|
Ppp |
|
softwareLoopback |
|
eon (CLNP sobre IP [11]) |
|
Ethernet-3Mbit |
|
nsip (XNS over IP) |
|
slip (SLIP genérico) |
|
Ultra (tecnologías ULTRA) |
|
ds3 (T-3) |
|
sip (SMDS) |
|
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 |
---|---|
|
Hacia arriba; listo para pasar paquetes. |
|
inactivo. |
|
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 |
---|---|
|
Hacia arriba; listo para pasar paquetes. |
|
inactivo. |
|
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 |