Struktur IFEntry (tcpioctl.h)
[Struktur ini mungkin diubah atau tidak tersedia dalam versi Windows yang akan datang.]
Menjelaskan antarmuka TCP/IP yang sesuai dengan standar Protokol Manajemen Jaringan Sederhana, versi 2, (SNMPv2) untuk Basis Informasi Manajemen untuk manajemen jaringan jaringan TCP/IP (MIB-II), seperti yang ditentukan dalam Internet Engineering Task Force (IETF) Request for Comments (RFC) 1213 pada halaman 16 hingga 23.
Sintaks
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;
Anggota
if_index
Nilai antara 1 dan jumlah antarmuka jaringan yang ada pada sistem ini, terlepas dari statusnya saat ini, yang secara unik mengidentifikasi antarmuka ini dan bertahan di seluruh reinisialisasi sistem manajemen jaringan.
if_type
Jenis antarmuka sesuai dengan protokol fisik atau tautan tepat di bawah lapisan jaringan dalam tumpukan protokol. Tabel berikut mencantumkan nilai yang mungkin dari anggota if_type ini yang dijumlahkan pada halaman 18 dan 19 RFC 1213.
Nilai | Makna |
---|---|
|
lainnya (yaitu, tidak satu pun dari yang berikut) |
|
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 (ekuiv. Eropa dari T-1) |
|
basicISDN |
|
primaryISDN (serial kepemilikan) |
|
propPointToPointSerial |
|
Ppp |
|
softwareLoopback |
|
eon (CLNP melalui IP [11]) |
|
Ethernet-3Mbit |
|
nsip (XNS melalui IP) |
|
slip (SLIP generik) |
|
ultra (teknologi ULTRA) |
|
ds3 (T-3) |
|
sip (SMDS) |
|
frame-relay(32) |
Sertakan file header Ipifcons.h dari Microsoft SDK untuk konstanta bendera yang mendukung jenis antarmuka IP tambahan dan ini.
Saat Anda memeriksa nilai anggota if_type , Anda mungkin juga ingin menentukan dan menguji konstanta tambahan yang mengidentifikasi antarmuka "loopback": #define IF_TYPE_LOOPBACK 0
if_mtu
Ukuran, dalam byte, dari datagram terbesar yang dapat dikirim atau diterima pada antarmuka. Untuk antarmuka yang digunakan untuk mengirimkan datagram jaringan, ini adalah ukuran datagram jaringan terbesar yang dapat dikirim pada antarmuka.
if_speed
Perkiraan bandwidth antarmuka saat ini, dalam bit per detik. Untuk antarmuka yang tidak bervariasi dalam bandwidth atau yang tidak ada estimasi akurat yang dapat dibuat, anggota ini berisi bandwidth nominal.
if_physaddrlen
Panjang, dalam byte, dari alamat yang terkandung dalam anggota if_physaddr . Untuk antarmuka seperti port serial yang tidak memiliki alamat semacam ini, anggota if_physaddrlen adalah nol.
if_physaddr[MAX_PHYSADDR_SIZE]
Alamat antarmuka pada lapisan protokol tepat di bawah lapisan jaringan di tumpukan protokol. Untuk antarmuka seperti port serial yang tidak memiliki alamat semacam ini, anggota if_physaddr berisi string kosong.
if_adminstatus
Status antarmuka yang diinginkan; salah satu nilai berikut yang ditentukan pada halaman 20 RFC 1213.
Nilai | Makna |
---|---|
|
Atas; siap untuk meneruskan paket. |
|
Turun. |
|
Dalam keadaan pengujian, sehingga tidak ada paket operasional yang dapat diteruskan. |
if_operstatus
Status operasional aktual antarmuka saat ini; salah satu nilai berikut yang ditentukan pada halaman 20 RFC 1213.
Nilai | Makna |
---|---|
|
Naik; siap untuk meneruskan paket. |
|
Turun. |
|
Dalam keadaan pengujian, sehingga tidak ada paket operasional yang dapat diteruskan. |
if_lastchange
Waktu, dalam seratus detik, karena bagian manajemen jaringan sistem terakhir kali diinisialisasi ulang, di mana antarmuka ini memasuki status operasional aktual saat ini. Jika status saat ini dimasukkan sebelum reinisialisasi terakhir subsistem manajemen jaringan lokal, anggota ini diatur ke nol.
if_inoctets
Jumlah total byte yang diterima pada antarmuka ini, termasuk karakter pembingkaian.
if_inucastpkts
Jumlah paket unicast subnetwork yang dikirimkan ke protokol lapisan yang lebih tinggi.
if_innucastpkts
Jumlah paket non-unicast (siaran subjaringan atau multicast subnetwork) yang dikirimkan ke protokol lapisan yang lebih tinggi.
if_indiscards
Jumlah paket masuk yang telah dibuang untuk membebaskan sumber daya memori atau untuk alasan serupa lainnya yang tidak terkait dengan kesalahan apa pun yang akan mencegah pengirimannya ke protokol lapisan yang lebih tinggi.
if_inerrors
Jumlah paket masuk yang berisi kesalahan yang mencegahnya dikirim ke protokol lapisan yang lebih tinggi.
if_inunknownprotos
Jumlah paket masuk yang telah dibuang karena protokol yang tidak diketahui atau tidak didukung.
if_outoctets
Jumlah total byte yang ditransmisikan dari antarmuka, termasuk karakter pembingkaian.
if_outucastpkts
Jumlah total paket yang diminta protokol tingkat lebih tinggi ditransmisikan ke alamat unicast subnetwork, termasuk paket yang dibuang atau tidak dikirim.
if_outnucastpkts
Jumlah total paket yang diminta protokol tingkat lebih tinggi ditransmisikan ke alamat non-unicast (siaran subnet atau multicast subjaringan), termasuk yang dibuang atau tidak dikirim.
if_outdiscards
Jumlah paket keluar yang telah dibuang untuk membebaskan sumber daya memori atau karena alasan serupa lainnya yang tidak terkait dengan kesalahan apa pun yang akan mencegah pengirimannya.
if_outerrors
Jumlah paket keluar yang tidak dapat dikirimkan karena kesalahan.
if_outqlen
Jumlah paket saat ini dalam antrean paket output.
if_descrlen
Ukuran, dalam byte, tidak menghitung karakter null yang mengakhiri, dari teks deskripsi antarmuka yang terkandung dalam anggota if_descr .
if_descr[1]
String teks yang berisi informasi tentang antarmuka ini, termasuk nama produsen, nama produk, dan versi perangkat keras. Jika string tidak disertakan, ukuran buffer adalah 1 byte.
Keterangan
Karena panjang variabelnya if_descr anggota, struktur IFEntry tidak memiliki ukuran tetap. Untuk tujuan mengalokasikan memori agar berisi instans struktur yang sebenarnya, ukuran buffer yang cukup aman dapat dihitung sebagai berikut:
maxIFEntryLen = sizeof(IFEntry) + MAX_ADAPTER_DESCRIPTION_LENGTH + 1;
Persyaratan
Persyaratan | Nilai |
---|---|
Header | tcpioctl.h |