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 結構陣列。
介面堆疊中介面之間的關聯性是MIB_IFSTACK_ROW結構 之 HigherLayerInterfaceIndex 成員中具有索引的介面緊接在MIB_IFSTACK_ROW 結構的 LowerLayerInterfaceIndex 成員的介面上方。
記憶體是由 GetIfStackTable 函式配置給MIB_IFSTACK_TABLE結構和這個結構中的MIB_IFSTACK_ROW專案。 不再需要這些傳回的結構時,您的驅動程式應該呼叫 FreeMibTable來釋放記憶體。
請注意, Table 參數指向的傳回MIB_IFSTACK_TABLE結構,可能包含 NumEntries 成員與 MIB_IFSTACK_TABLE 結構之 Table 成員中第一個MIB_IFSTACK_ROW陣列專案之間的對齊填補。 對齊方式的填補也可能出現在MIB_IFSTACK_ROW陣列專案之間。 任何對陣列專案MIB_IFSTACK_ROW的存取都應該假設可能存在填補。
規格需求
目標平台 |
普遍 |
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
標頭 |
Netioapi.h (包括 Netioapi.h) |
程式庫 |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |