共用方式為


GetIfTable2Ex 函式 (netioapi.h)

GetIfTable2Ex 函式會擷取 MIB-II 介面數據表。

語法

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIfTable2Ex(
  [in]  MIB_IF_TABLE_LEVEL Level,
  [out] PMIB_IF_TABLE2     *Table
);

參數

[in] Level

要擷取的介面資訊層級。 此參數可以是 Netioapi.h 頭檔中所定義之MIB_IF_TABLE_LEVEL列舉類型的其中一個值。

意義
MibIfTableNormal
指定此參數時,Table 參數所指向之MIB_IF_TABLE2結構中MIB_IF_ROW2結構成員所傳回的統計數據和狀態值,會從篩選堆棧的頂端傳回。
MibIfTableRaw
數據表參數所指向之MIB_IF_TABLE2結構之MIB_IF_ROW2結構成員中傳回的統計數據和狀態值,會直接針對所查詢的介面傳回。

[out] Table

緩衝區的指標,可接收 MIB_IF_TABLE2 結構中的介面數據表。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,傳回值就是下列其中一個錯誤碼。

傳回碼 Description
ERROR_INVALID_PARAMETER
無效的參數已傳遞至 函式。 如果在 Level 參數中傳遞了不合法的值,就會傳回此錯誤。
ERROR_NOT_ENOUGH_MEMORY
記憶體資源不足,無法完成作業。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

The
GetIfTable2Ex 函式會列舉本機系統上的邏輯和實體介面,並在 MIB_IF_TABLE2 結構中傳回這項資訊。 GetIfTable2ExGetIfTable 函式的增強版本,可讓您選取要擷取的介面資訊層級。

類似的 GetIfTable2 函式也可以用來擷取介面。 但不允許指定介面的傳回層級。 呼叫 GetIfTable2Ex 函式, 並將 Level 參數設定為 MibIfTableNormal 會擷取與呼叫 GetIfTable2 函式相同的結果。

介面會在 Table 參數所指向緩衝區的MIB_IF_TABLE2結構中傳回。 MIB_IF_TABLE2 結構包含介面計數,以及每個介面MIB_IF_ROW2結構的陣列。 記憶體是由 GetIfTable2 函式配置給 MIB_IF_TABLE2 結構和這個結構中的MIB_IF_ROW2專案。 不再需要這些傳回的結構時,呼叫 FreeMibTable以釋放記憶體。

所有介面包括 NDIS 中繼驅動程式介面和 NDIS 篩選驅動程式介面,都會針對 Level 參數的其中一個可能值傳回。 Level 參數的設定會影響傳回介面之 Table 參數所指向之MIB_IF_TABLE2結構中MIB_IF_ROW2結構的統計數據和狀態成員。 例如,網路介面卡 (NIC) 會有 NDIS 迷你埠驅動程式。 您可以安裝 NDIS 中繼驅動程式,以在高階通訊協定驅動程式與 NDIS 迷你埠驅動程式之間進行介面。 NDIS 篩選驅動程式 (LWF) 可以附加在 NDIS 中繼驅動程式之上。 假設 NIC 會將 MIB_IF_ROW2 結構的 MediaConnectState 成員回報為 MediaConnectStateConnected ,但 NDIS 篩選驅動程式會修改狀態,並將狀態報告為 MediaConnectStateDisconnected。 當介面資訊使用 Level 參數設定為 MibIfTableNormal 進行查詢時,會報告篩選堆棧頂端的狀態,也就是 MediaConnectStateDisconnected 。 當介面使用 Level 參數設定為 MibIfTableRaw 進行查詢時,會直接傳回介面層級的狀態,也就是 MediaConnectStateConnected

請注意,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)
程式庫 Iphlpapi.lib
Dll Iphlpapi.dll

另請參閱

FreeMibTable

GetIfTable

GetIfTable2

IP 協助程式函式參考

MIB_IF_ROW2

MIB_IF_TABLE2