Condividi tramite


Struttura IFEntry (tcpioctl.h)

[Questa struttura può essere modificata o non disponibile nelle versioni future di Windows.]

Descrive un'interfaccia TCP/IP in accordo con il protocollo di gestione di rete semplice, versione 2, (SNMPv2) standard per la gestione delle informazioni di gestione per la gestione delle reti TCP/IP (MIB-II), come specificato in Internet Engineering Task Force (IETF) Request for Comments (RFC) 1213 nelle pagine 16-23 .

Sintassi

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;

Members

if_index

Valore compreso tra 1 e il numero di interfacce di rete presenti in questo sistema, indipendentemente dal relativo stato corrente, che identifica in modo univoco questa interfaccia e persiste nella reinizializzazione del sistema di gestione della rete.

if_type

Tipo di interfaccia in base ai protocolli fisici o di collegamento immediatamente sotto il livello di rete nello stack di protocolli. Nella tabella seguente sono elencati i valori possibili di questo membro if_type enumerati nelle pagine 18 e 19 di RFC 1213.

Valore Significato
1
altro (ovvero, nessuno dei seguenti)
2
regolare1822
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 di T-1)
20
basicISDN
21
primaryISDN (seriale proprietario)
22
propPointToPointSerial
23
Ppp
24
softwareLoopback
25
eon (CLNP over IP [11])
26
Ethernet-3Mbit
27
nsip (XNS su IP)
28
slip (GENERIC SLIP)
29
Ultra (tecnologie ULTRA)
30
ds3 (T-3)
31
sip (SMDS)
32
frame-relay(32)
 

Includere il file di intestazione Ipifcons.h da Microsoft SDK per le costanti del flag che supportano questi tipi di interfaccia IP aggiuntivi.

Quando si esamina il valore del membro if_type , è anche possibile definire e testare una costante aggiuntiva che identifica un'interfaccia "loopback": #define IF_TYPE_LOOPBACK 0

if_mtu

Dimensioni, in byte, del datagram più grande che può essere inviato o ricevuto nell'interfaccia. Per le interfacce usate per trasmettere i datagrammi di rete, si tratta della dimensione del datagram di rete più grande che può essere inviato nell'interfaccia.

if_speed

Stima della larghezza di banda corrente dell'interfaccia, in bit al secondo. Per le interfacce che non variano nella larghezza di banda o per cui non è possibile effettuare una stima accurata, questo membro contiene la larghezza di banda nominale.

if_physaddrlen

Lunghezza, in byte, dell'indirizzo contenuto nel membro if_physaddr . Per le interfacce come le porte seriali che non hanno un indirizzo di questo tipo, il membro if_physaddrlen è zero.

if_physaddr[MAX_PHYSADDR_SIZE]

L'indirizzo dell'interfaccia al livello del protocollo immediatamente sotto il livello di rete nello stack di protocolli. Per le interfacce come le porte seriali che non hanno un indirizzo di questo tipo, il membro if_physaddr contiene una stringa vuota.

if_adminstatus

Stato desiderato dell'interfaccia; uno dei valori seguenti specificati nella pagina 20 di RFC 1213.

Valore Significato
1
Su; pronto per passare pacchetti.
2
non accessibile.
3
In uno stato di test, in modo che non sia possibile passare pacchetti operativi.

if_operstatus

Stato operativo effettivo dell'interfaccia; uno dei valori seguenti specificati nella pagina 20 di RFC 1213.

Valore Significato
1
Su; pronto per passare pacchetti.
2
non accessibile.
3
In uno stato di test, in modo che non sia possibile passare pacchetti operativi.

if_lastchange

Il tempo, in centesimi di secondo, dal momento che la parte di gestione di rete del sistema è stata reinizializzata, in corrispondenza della quale questa interfaccia ha immesso lo stato operativo corrente effettivo. Se lo stato corrente è stato immesso prima dell'ultima reinizializzazione del sottosistema di gestione della rete locale, questo membro è impostato su zero.

if_inoctets

Numero totale di byte ricevuti in questa interfaccia, inclusi i caratteri di frame.

if_inucastpkts

Numero di pacchetti unicast di sottonetwork recapitati a un protocollo di livello superiore.

if_innucastpkts

Numero di pacchetti non unicast (subnetwork broadcast o subnetwork multicast) recapitati a un protocollo a livello superiore.

if_indiscards

Numero di pacchetti in ingresso che sono stati eliminati per liberare risorse di memoria o per altri motivi simili non correlati a alcun errore che impedirebbe il loro risultato finale a un protocollo di livello superiore.

if_inerrors

Numero di pacchetti in ingresso che contengono errori che impediscono loro di essere recapitabili a un protocollo di livello superiore.

if_inunknownprotos

Numero di pacchetti in ingresso eliminati a causa di un protocollo sconosciuto o non supportato.

if_outoctets

Numero totale di byte trasmessi dall'interfaccia, inclusi i caratteri di frame.

if_outucastpkts

Numero totale di pacchetti che sono stati richiesti protocolli di livello superiore da trasmettere a un indirizzo unicast subnetwork, inclusi quelli che sono stati eliminati o non inviati.

if_outnucastpkts

Numero totale di pacchetti che sono stati richiesti protocolli di livello superiore da trasmettere a un indirizzo multicast non unicast (trasmissione secondaria o multicast di rete secondaria), inclusi quelli che sono stati eliminati o non inviati.

if_outdiscards

Numero di pacchetti in uscita eliminati per liberare risorse di memoria o per altri motivi simili non correlati a alcun errore che impedirebbe la trasmissione.

if_outerrors

Numero di pacchetti in uscita che non sono stati trasmessi a causa di errori.

if_outqlen

Numero corrente di pacchetti nella coda dei pacchetti di output.

if_descrlen

Le dimensioni, in byte, non conteggiando alcun carattere null terminante, del testo della descrizione dell'interfaccia contenuto nel membro if_descr .

if_descr[1]

Stringa di testo che contiene informazioni su questa interfaccia, tra cui il nome del produttore, il nome del prodotto e la versione hardware. Se la stringa non è inclusa, la dimensione del buffer è 1 byte.

Commenti

A causa della relativa lunghezza variabile if_descr membro, la struttura IFEntry non ha una dimensione fissa. Ai fini dell'allocazione della memoria per contenere un'istanza effettiva della struttura, è possibile calcolare le dimensioni del buffer ragionevolmente sicure come indicato di seguito:

maxIFEntryLen = sizeof(IFEntry) + MAX_ADAPTER_DESCRIPTION_LENGTH + 1;

Requisiti

Requisito Valore
Intestazione tcpioctl.h

Vedi anche

IOCTL_TCP_QUERY_INFORMATION_EX

Informazioni di riferimento sulla base delle informazioni di gestione