次の方法で共有


IFEntry 構造体 (tcpioctl.h)

[この構造は、今後のバージョンの Windows で変更または使用できない可能性があります。]

16 ページから 23 ページのインターネット エンジニアリング タスク フォース (IETF) Request for Comments ( RFC) 1213 で規定されているように、TCP/IP ネットワーク (MIB-II) のネットワーク管理用管理情報ベースの簡易ネットワーク管理プロトコル バージョン 2 (SNMPv2) 標準に従った TCP/IP インターフェイスについて説明します。

構文

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;

メンバー

if_index

現在の状態に関係なく、このシステムに存在する 1 からネットワーク インターフェイスの数までの値。このインターフェイスは一意に識別され、ネットワーク管理システムの再初期化全体で保持されます。

if_type

プロトコル スタック内のネットワーク層のすぐ下にある物理プロトコルまたはリンク プロトコルに従ったインターフェイスの種類。 次の表に、RFC 1213 の 18 ページと 19 ページで列挙されたこのif_type メンバーの使用可能な値を示します。

意味
1
other (つまり、次のいずれも行いません)
2
regular1822
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 (欧州株式 T-1)
20
basicISDN
21
primaryISDN (専用シリアル)
22
propPointToPointSerial
23
Ppp
24
softwareLoopback
25
eon (CLNP over IP [11])
26
Ethernet-3Mbit
27
nsip (XNS over IP)
28
slip (汎用 SLIP)
29
Ultra (ULTRA テクノロジ)
30
ds3 (T-3)
31
sip (SMDS)
32
frame-relay(32)
 

これらの IP インターフェイスの種類と追加の IP インターフェイスの種類をサポートするフラグ定数には、Microsoft SDK の Ipifcons.h ヘッダー ファイルを含めます。

if_type メンバーの値を調べるときに、"ループバック" インターフェイスを識別する追加の定数を定義してテストすることもできます。#define IF_TYPE_LOOPBACK 0

if_mtu

インターフェイスで送受信できる最大データグラムのサイズ (バイト単位)。 ネットワーク データグラムの送信に使用されるインターフェイスの場合、これはインターフェイスで送信できる最大のネットワーク データグラムのサイズです。

if_speed

インターフェイスの現在の帯域幅の見積もり (ビット/秒)。 帯域幅が異なっていないインターフェイス、または正確な見積もりを行えないインターフェイスの場合、このメンバーには呼び出し帯域幅が含まれます。

if_physaddrlen

if_physaddr メンバーに含まれるアドレスの長さ (バイト単位)。 この種類のアドレスを持たないシリアル ポートなどのインターフェイスの場合、 if_physaddrlen メンバーは 0 です。

if_physaddr[MAX_PHYSADDR_SIZE]

プロトコル スタック内のネットワーク層のすぐ下にあるプロトコル層のインターフェイスのアドレス。 この種類のアドレスを持たないシリアル ポートなどのインターフェイスの場合、 if_physaddr メンバーには空の文字列が含まれます。

if_adminstatus

インターフェイスの目的の状態。 RFC 1213 の 20 ページで指定されている次のいずれかの値。

意味
1
を;パケットを渡す準備ができています。
2
ダウン。
3
運用パケットを渡すことができないテスト状態。

if_operstatus

インターフェイスの実際の現在の動作状態。 RFC 1213 の 20 ページで指定されている次のいずれかの値。

意味
1
を;パケットを渡す準備が整いました。
2
ダウン。
3
操作パケットを渡すことができないテスト状態。

if_lastchange

システムのネットワーク管理部分が最後に再初期化されてから 100 分の 1 秒で、このインターフェイスが実際の現在の動作状態に入った時刻。 ローカル ネットワーク管理サブシステムの最後の再初期化の前に現在の状態が入力された場合、このメンバーは 0 に設定されます。

if_inoctets

フレーミング文字を含む、このインターフェイスで受信した合計バイト数。

if_inucastpkts

上位層プロトコルに配信されるサブネットワーク ユニキャスト パケットの数。

if_innucastpkts

上位層プロトコルに配信される非ユニキャスト (サブネットワーク ブロードキャストまたはサブネットワーク マルチキャスト) パケットの数。

if_indiscards

メモリ リソースを解放するために破棄された受信パケットの数。またはその他の同様の理由により、上位層プロトコルへの配信を妨げるエラーに関連しません。

if_inerrors

上位層プロトコルへの配信を妨げるエラーを含む受信パケットの数。

if_inunknownprotos

プロトコルが不明またはサポートされていないために破棄された受信パケットの数。

if_outoctets

フレーム文字を含む、インターフェイスから送信された合計バイト数。

if_outucastpkts

上位レベルのプロトコルが要求したパケットの合計数は、破棄または送信されなかったパケットを含むサブネットワーク ユニキャスト アドレスに送信されます。

if_outnucastpkts

上位レベルのプロトコルが要求したパケットの合計数は、破棄または送信されなかったパケットを含む、非ユニキャスト (サブネットワーク ブロードキャストまたはサブネットワーク マルチキャスト) アドレスに送信されます。

if_outdiscards

メモリ リソースを解放するために破棄された送信パケットの数。またはその他の同様の理由で、送信を妨げるエラーに関連しません。

if_outerrors

エラーが原因で送信できなかった送信パケットの数。

if_outqlen

出力パケット キュー内の現在のパケット数。

if_descrlen

if_descr メンバーに含まれるインターフェイス記述テキストの、終端の null 文字をカウントしないバイト単位のサイズ。

if_descr[1]

製造元の名前、製品名、ハードウェアのバージョンなど、このインターフェイスに関する情報を含むテキスト文字列。 文字列が含まれていない場合、バッファーのサイズは 1 バイトです。

注釈

可変長 if_descr メンバーのため、 IFEntry 構造体には固定サイズがありません。 構造体の実際のインスタンスを格納するためにメモリを割り当てる目的で、合理的に安全なバッファー サイズを次のように計算できます。

maxIFEntryLen = sizeof(IFEntry) + MAX_ADAPTER_DESCRIPTION_LENGTH + 1;

要件

要件
Header tcpioctl.h

こちらもご覧ください

IOCTL_TCP_QUERY_INFORMATION_EX

管理情報ベース リファレンス