GetIfTable2 関数 (netioapi.h)

GetIfTable2 関数は、MIB-II インターフェイス テーブルを取得します。

構文

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2(
  [out] PMIB_IF_TABLE2 *Table
);

パラメーター

[out] Table

MIB_IF_TABLE2構造体内のインターフェイスのテーブルを受け取るバッファーへのポインター。

戻り値

関数が成功した場合、戻り値はNO_ERROR。

関数が失敗した場合、戻り値は次のいずれかのエラー コードになります。

リターン コード 説明
ERROR_NOT_ENOUGH_MEMORY
操作を完了するために使用できるメモリ リソースが不足しています。
その他
FormatMessage を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

次に、
GetIfTable2 関数は、ローカル システム上の論理インターフェイスと物理インターフェイスを列挙し、この情報を MIB_IF_TABLE2 構造体で返します。 GetIfTable2 は、 GetIfTable 関数の拡張バージョンです。

同様の GetIfTable2Ex 関数を使用して、返すインターフェイスのレベルを指定できます。 Level パラメーターを MibIfTableNormal に設定して GetIfTable2Ex 関数を呼び出すと、GetIfTable2 関数の呼び出しと同じ結果が取得されます。

インターフェイスは、Table パラメーターによって指されるバッファー内のMIB_IF_TABLE2構造体で返されます。 MIB_IF_TABLE2構造体には、インターフェイス数と、各インターフェイスのMIB_IF_ROW2構造体の配列が含まれています。 メモリは、MIB_IF_TABLE2構造体と、この構造体のMIB_IF_ROW2エントリに対して GetIfTable2 関数によって割り当てられます。 これらの返される構造体が不要になったら、 FreeMibTable を呼び出してメモリを解放します。

Table パラメーターによって参照されるMIB_IF_TABLE2返される構造体には、NumEntries メンバーと、MIB_IF_TABLE2 構造体の Table メンバー内の最初のMIB_IF_ROW2配列エントリとの間の配置のためのパディング含まれていることに注意してください。 配置のためのパディングは、 MIB_IF_ROW2 配列エントリ間に存在する場合もあります。 MIB_IF_ROW2配列エントリへのアクセスは、埋め込みが存在する可能性があることを前提とする必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー netioapi.h (Iphlpapi.h を含む)
Library Iphlpapi.lib
[DLL] Iphlpapi.dll

こちらもご覧ください

FreeMibTable

GetIfTable

GetIfTable2Ex

IP ヘルパー関数リファレンス

MIB_IF_ROW2

MIB_IF_TABLE2