IFEntry-Struktur (tcpioctl.h)
[Diese Struktur kann in zukünftigen Versionen von Windows geändert oder nicht verfügbar sein.]
Beschreibt eine TCP/IP-Schnittstelle in Übereinstimmung mit dem Standard Simple Network Management Protocol( Version 2) (SNMPv2) für die Verwaltungsinformationsdatenbank für die Netzwerkverwaltung von TCP/IP-Netzwerken (MIB-II), wie in der IETF-Anforderung für Kommentare (RFC ) 1213 (Internet Engineering Task Force) auf den Seiten 16 bis 23 angegeben.
Syntax
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;
Member
if_index
Ein Wert zwischen 1 und der Anzahl der Netzwerkschnittstellen, die in diesem System vorhanden sind, unabhängig von ihrem aktuellen Zustand, der diese Schnittstelle eindeutig identifiziert und bei der Neuinitialisierung des Netzwerkmanagementsystems beibehalten wird.
if_type
Der Schnittstellentyp gemäß den physischen oder Linkprotokollen direkt unterhalb der Netzwerkschicht im Protokollstapel. In der folgenden Tabelle sind die möglichen Werte dieses if_type-Members aufgeführt, das auf den Seiten 18 und 19 von RFC 1213 aufgelistet ist.
Wert | Bedeutung |
---|---|
|
andere (d. a. keine der folgenden) |
|
regular1822 |
|
hdh1822 |
|
ddn-x25 |
|
rfc877-x25 |
|
Ethernet-csmacd |
|
iso88023-csmacd |
|
iso88024-tokenBus |
|
iso88025-tokenRing |
|
iso88026-man |
|
starLan |
|
proteon-10Mbit |
|
proteon-80Mbit |
|
Hyperkanal |
|
Fddi |
|
lapb |
|
Sdlc |
|
ds1 (T-1) |
|
e1 (Europäischer Äquiv. von T-1) |
|
basicISDN |
|
primaryISDN (proprietäre seriell) |
|
propPointToPointSerial |
|
Ppp |
|
softwareLoopback |
|
eon (CLNP über IP [11]) |
|
Ethernet-3Mbit |
|
nsip (XNS über IP) |
|
slip (generischer SLIP) |
|
ultra (ULTRA-Technologien) |
|
ds3 (T-3) |
|
sip (SMDS) |
|
frame-relay(32) |
Schließen Sie die Headerdatei Ipifcons.h aus dem Microsoft SDK für Flagkonstanten ein, die diese und zusätzliche IP-Schnittstellentypen unterstützen.
Wenn Sie den Wert des if_type-Members untersuchen, können Sie auch eine zusätzliche Konstante definieren und testen, die eine "Loopback"-Schnittstelle identifiziert: #define IF_TYPE_LOOPBACK 0
if_mtu
Die Größe des größten Datagramms in Bytes, das über die Schnittstelle gesendet oder empfangen werden kann. Für Schnittstellen, die zum Übertragen von Netzwerkdatengrammen verwendet werden, ist dies die Größe des größten Netzwerkdatengramms, das an die Schnittstelle gesendet werden kann.
if_speed
Eine Schätzung der aktuellen Bandbreite der Schnittstelle in Bits pro Sekunde. Für Schnittstellen, die sich nicht in der Bandbreite unterscheiden oder für die keine genaue Schätzung vorgenommen werden kann, enthält dieses Element die nominale Bandbreite.
if_physaddrlen
Die Länge der Adresse in Bytes, die im if_physaddr-Member enthalten ist. Für Schnittstellen wie serielle Ports, die keine adresse dieser Art haben, ist der if_physaddrlen Member 0.
if_physaddr[MAX_PHYSADDR_SIZE]
Die Adresse der Schnittstelle auf der Protokollebene direkt unterhalb der Netzwerkschicht im Protokollstapel. Für Schnittstellen wie serielle Ports, die keine adresse dieser Art haben, enthält das if_physaddr Member eine leere Zeichenfolge.
if_adminstatus
Der gewünschte Zustand der Schnittstelle; einer der folgenden Werte, die auf Seite 20 von RFC 1213 angegeben sind.
Wert | Bedeutung |
---|---|
|
Oben; bereit, Pakete zu übergeben. |
|
zurückgegeben. |
|
In einem Testzustand, sodass keine betriebsbereiten Pakete übergeben werden können. |
if_operstatus
Der aktuelle Betriebszustand der Schnittstelle; einer der folgenden Werte, die auf Seite 20 von RFC 1213 angegeben sind.
Wert | Bedeutung |
---|---|
|
Oben; bereit für die Übergabe von Paketen. |
|
zurückgegeben. |
|
In einem Testzustand, sodass keine betriebsbereiten Pakete übergeben werden können. |
if_lastchange
Die Zeit in hundertstel Sekunden seit der letzten Neuinitialisierung des Netzwerkverwaltungsteils des Systems, zu dem diese Schnittstelle in ihren aktuellen Betriebszustand gelangt ist. Wenn der aktuelle Zustand vor der letzten Neuinitialisierung des lokalen Netzwerkverwaltungssubsystems eingegeben wurde, wird dieser Member auf Null festgelegt.
if_inoctets
Die Gesamtanzahl der auf dieser Schnittstelle empfangenen Bytes, einschließlich Rahmenzeichen.
if_inucastpkts
Die Anzahl der Subnetz-Unicastpakete, die an ein Protokoll mit höherer Ebene übermittelt werden.
if_innucastpkts
Die Anzahl von Nicht-Unicast-Paketen (Subnetzübertragung oder Subnetzmulticast), die an ein Protokoll mit höherer Ebene übermittelt werden.
if_indiscards
Die Anzahl der eingehenden Pakete, die verworfen wurden, um Arbeitsspeicherressourcen freizugeben, oder aus einem anderen ähnlichen Grund, der nicht mit einem Fehler zusammenhängt, der verhindert, dass sie an ein Protokoll mit höherer Ebene übermittelt werden können.
if_inerrors
Die Anzahl der eingehenden Pakete, die Fehler enthalten, die verhindern, dass sie an ein Protokoll mit höherer Ebene übermittelt werden können.
if_inunknownprotos
Die Anzahl der eingehenden Pakete, die aufgrund eines unbekannten oder nicht unterstützten Protokolls verworfen wurden.
if_outoctets
Die Gesamtanzahl der Bytes, die aus der Schnittstelle übertragen werden, einschließlich der Rahmenzeichen.
if_outucastpkts
Die Gesamtanzahl der Pakete, die Protokolle auf höherer Ebene angefordert haben, werden an eine Unicastadresse des Subnetzes übertragen, einschließlich der Pakete, die verworfen oder nicht gesendet wurden.
if_outnucastpkts
Die Gesamtzahl der Pakete, die Protokolle auf höherer Ebene angefordert haben, werden an eine Nicht-Unicastadresse (Subnetzübertragung oder Subnetz-Multicast) übertragen, einschließlich der Pakete, die verworfen oder nicht gesendet wurden.
if_outdiscards
Die Anzahl der ausgehenden Pakete, die verworfen wurden, um Arbeitsspeicherressourcen freizugeben, oder aus anderen ähnlichen Gründen, die nicht mit einem Fehler zusammenhängen, der die Übertragung verhindert.
if_outerrors
Die Anzahl der ausgehenden Pakete, die aufgrund von Fehlern nicht übertragen werden konnten.
if_outqlen
Die aktuelle Anzahl von Paketen in der Ausgabepaketwarteschlange.
if_descrlen
Die Größe des Schnittstellenbeschreibungstexts im if_descr-Member in Byte ohne Zählzeichen.
if_descr[1]
Eine Textzeichenfolge, die Informationen zu dieser Schnittstelle enthält, einschließlich des Herstellernamens, des Produktnamens und der Hardwareversion. Wenn die Zeichenfolge nicht enthalten ist, beträgt die Größe des Puffers 1 Byte.
Hinweise
Aufgrund ihrer if_descr-Members mit variabler Länge verfügt die IFEntry-Struktur nicht über eine feste Größe. Zum Zweck der Zuweisung von Arbeitsspeicher, der eine tatsächliche instance der Struktur enthält, kann eine einigermaßen sichere Puffergröße wie folgt berechnet werden:
maxIFEntryLen = sizeof(IFEntry) + MAX_ADAPTER_DESCRIPTION_LENGTH + 1;
Anforderungen
Anforderung | Wert |
---|---|
Header | tcpioctl.h |