共用方式為


GetIfStackTable 函式

GetIfStackTable 函式會擷取網路介面堆疊數據列專案的數據表,指定介面堆棧上網路介面的關聯性。

語法

NETIOAPI_API GetIfStackTable(
  _Out_ PMIB_IFSTACK_TABLE *Table
);

參數

  • 數據表 [out]
    緩衝區的指標,接收 MIB_IFSTACK_TABLE 結構中的介面堆疊數據列專案數據表。

傳回值

如果函式成功,GetIfStackTable 會傳回STATUS_SUCCESS。

如果函式失敗,GetIfStackTable 會傳回下列其中一個錯誤碼:

傳回碼 描述
STATUS_INVALID_PARAMETER

無效的參數已傳遞至函式。 如果在 table 參數 中傳遞 NULL 指標,就會傳回此錯誤。

STATUS_NOT_ENOUGH_MEMORY

記憶體資源不足,無法完成作業。

STATUS_NOT_FOUND

找不到介面堆疊專案。

其他

使用 FormatMessage 函式取得傳回錯誤的訊息字串。

言論

GetIfStackTable 函式會列舉本機電腦上介面堆疊上的實體和邏輯網路介面,並在 MIB_IFSTACK_TABLE 結構中傳回這項資訊。

介面堆疊專案會在 Table 參數指向的緩衝區中傳回MIB_IFSTACK_TABLE結構。 MIB_IFSTACK_TABLE 結構包含介面堆疊專案計數,以及每個介面堆疊專案之 MIB_IFSTACK_ROW 結構的陣列。

介面堆棧中介面之間的關聯性在於,HigherLayerInterfaceIndex 中具有索引的介面,MIB_IFSTACK_ROW結構 成員的介面緊接在 LowerLayerInterfaceIndex MIB_IFSTACK_ROW 成員的介面上方。

記憶體是由 GetIfStackTable 函式配置給MIB_IFSTACK_TABLE結構和這個結構中的MIB_IFSTACK_ROW專案。 當不再需要這些傳回的結構時,您的驅動程式應該呼叫freeMibTable 來釋放記憶體。

請注意,傳回的 MIB_IFSTACK_TABLE 結構,Table 參數指向的 ,可能包含 NumEntries 成員與 Table 中第一個MIB_IFSTACK_ROW陣列專案之間的間距,MIB_IFSTACK_TABLE 結構 成員。 對齊方式的填補也可能存在於MIB_IFSTACK_ROW數位項目之間。 任何對MIB_IFSTACK_ROW陣列專案的存取都應該假設填補可能存在。

要求

目標平臺

通用

版本

可在 Windows Vista 和更新版本的 Windows作系統中使用。

頁眉

Netioapi.h (包括 Netioapi.h)

圖書館

Netio.lib

IRQL

< DISPATCH_LEVEL

另請參閱

FreeMibTable

GetIfEntry2

GetIfTable2

GetInvertedIfStackTable

GetIpInterfaceEntry

InitializeIpInterfaceEntry

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IFSTACK_ROW

MIB_IFSTACK_TABLE

MIB_INVERTEDIFSTACK_ROW

MIB_INVERTEDIFSTACK_TABLE

MIB_IPINTERFACE_ROW

NotifyIpInterfaceChange

SetIpInterfaceEntry