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 |
---|---|
|
altro (ovvero, nessuno dei seguenti) |
|
regolare1822 |
|
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 di T-1) |
|
basicISDN |
|
primaryISDN (seriale proprietario) |
|
propPointToPointSerial |
|
Ppp |
|
softwareLoopback |
|
eon (CLNP over IP [11]) |
|
Ethernet-3Mbit |
|
nsip (XNS su IP) |
|
slip (GENERIC SLIP) |
|
Ultra (tecnologie ULTRA) |
|
ds3 (T-3) |
|
sip (SMDS) |
|
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 |
---|---|
|
Su; pronto per passare pacchetti. |
|
non accessibile. |
|
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 |
---|---|
|
Su; pronto per passare pacchetti. |
|
non accessibile. |
|
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