GetInvertedIfStackTable 関数 (netioapi.h)

GetInvertedIfStackTable 関数は、インターフェイス スタック上のネットワーク インターフェイスのリレーションシップを指定する、反転されたネットワーク インターフェイス スタック行エントリのテーブルを取得します。

構文

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetInvertedIfStackTable(
  [out] PMIB_INVERTEDIFSTACK_TABLE *Table
);

パラメーター

[out] Table

MIB_INVERTEDIFSTACK_TABLE構造体の反転インターフェイス スタック行エントリのテーブルを受け取るバッファーへのポインター。

戻り値

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

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

リターン コード 説明
ERROR_INVALID_PARAMETER
無効なパラメーターが関数に渡されました。 このエラーは、Table パラメーターに NULL ポインターが渡された場合に返されます。
ERROR_NOT_ENOUGH_MEMORY
操作を完了するために使用できるメモリ リソースが不足しています。
ERROR_NOT_FOUND
インターフェイス スタック エントリが見つかりませんでした。
その他
FormatMessage 関数を使用して、返されたエラーのメッセージ文字列を取得します。

注釈

GetInvertedIfStackTable 関数は、Windows Vista 以降で定義されています。

次に、
GetInvertedIfStackTable 関数は、ローカル システム上のインターフェイス スタック上の物理ネットワーク インターフェイスと論理ネットワーク インターフェイスを列挙し、この情報を MIB_INVERTEDIFSTACK_TABLE 構造の反転形式で返します。

インターフェイス スタック エントリは、Table パラメーターによって指されるバッファー内のMIB_INVERTEDIFSTACK_TABLE構造体で返されます。 MIB_INVERTEDIFSTACK_TABLE構造体には、インターフェイス スタック エントリ数と、各インターフェイス スタック エントリのMIB_INVERTEDIFSTACK_ROW構造体の配列が含まれています。

インターフェイス スタック内のインターフェイス間の関係は、MIB_INVERTEDIFSTACK_ROW 構造体の HigherLayerInterfaceIndex メンバーのインデックスを持つインターフェイスが、MIB_INVERTEDIFSTACK_ROW構造体の LowerLayerInterfaceIndex メンバーのインデックスを持つインターフェイスのすぐ上にあるということです

メモリは、 getInvertedIfStackTable 関数によって 、MIB_INVERTEDIFSTACK_TABLE 構造体と、この構造体内の MIB_INVERTEDIFSTACK_ROW エントリに割り当てられます。 これらの返される構造体が不要になったら、 FreeMibTable を呼び出してメモリを解放します。

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

要件

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

こちらもご覧ください

FreeMibTable

GetIfEntry2

GetIfStackTable

GetIfTable2

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry