共用方式為


getIpPathTable 函式 (netioapi.h)

GetIpPathTable 函式會擷取本機電腦上的IP路徑數據表。

語法

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpPathTable(
  [in]  ADDRESS_FAMILY    Family,
  [out] PMIB_IPPATH_TABLE *Table
);

參數

[in] Family

要擷取的位址系列。

位址系列的可能值會列在 Winsock2.h 頭檔中。 請注意,AF_位址系列和PF_通訊協定系列常數的值 (相同,例如, AF_INETPF_INET) ,因此可以使用任一個常數。

在針對 Windows Vista 和更新版本發行的 Windows SDK 上,頭檔的組織已變更,而且此成員的可能值定義在 Ws2def.h 頭檔中。 請注意, Ws2def.h 頭文件會自動包含在 Winsock2.h 中,不應該直接使用。

目前支援的值是 AF_INETAF_INET6AF_UNSPEC

意義
AF_UNSPEC
0
未指定位址系列。 指定此參數時,此函式會傳回包含IPv4和IPv6專案的IP路徑數據表。
AF_INET
2
因特網通訊協定第 4 版 (IPv4) 位址系列。 指定此參數時,此函式會傳回只包含IPv4專案的IP路徑數據表。
AF_INET6
23
因特網通訊協定第 6 版 (IPv6) 位址系列。 指定此參數時,此函式會傳回只包含IPv6專案的IP路徑數據表。

[out] Table

MIB_IPPATH_TABLE 結構的指標,其中包含本機計算機上的IP路徑項目數據表。

傳回值

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

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

傳回碼 Description
ERROR_INVALID_PARAMETER
無效的參數已傳遞至 函式。 如果在 Table 參數中傳遞 NULL 指標,或 Family 參數未指定為 AF_INETAF_INET6AF_UNSPEC,則會傳回此錯誤。
ERROR_NOT_ENOUGH_MEMORY
記憶體資源不足,無法完成作業。
ERROR_NOT_FOUND
找不到 Family 參數中指定的 IP 路徑專案。
ERROR_NOT_SUPPORTED
不支援此要求。 如果本機計算機上沒有IPv4堆疊且已在Family參數中指定AF_INET,則會傳回此錯誤。 如果本機計算機上沒有IPv6堆棧,而且已在Family參數中指定AF_INET6,也會傳回此錯誤。 這個錯誤也會在不支援此函式的 Windows 版本上傳回。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

GetIpPathTable 函式是在 Windows Vista 和更新版本上定義。

The
GetIpPathTable 函式會列舉本機系統上的IP路徑專案,並在 MIB_IPPATH_TABLE 結構中傳回這項資訊。

IP 路徑專案會在 Table 參數指向的緩衝區中傳回MIB_IPPATH_TABLE結構。 MIB_IPPATH_TABLE 結構包含IP路徑專案計數,以及每個IP路徑專案的MIB_IPPATH_ROW結構數位。 當不再需要這些傳回的結構時,請呼叫 FreeMibTable釋放記憶體。

Family 參數必須初始化為 AF_INETAF_INET6AF_UNSPEC

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

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 netioapi.h (包含 Iphlpapi.h)
程式庫 Iphlpapi.lib
Dll Iphlpapi.dll

另請參閱

FlushIpPathTable

FreeMibTable

GetIpPathEntry

MIB_IPPATH_ROW

MIB_IPPATH_TABLE