共用方式為


IP 協助程式概觀

因特網通訊協議協助程式(IP 協助程式)可讓驅動程式擷取本機計算機網路設定的相關信息,以及修改該組態。 IP 協助程式也會提供通知機制,以確保驅動程式在本機計算機網路設定的某些層面變更時收到通知。 IP 協助程式適用於 Windows Vista 和更新版本的 Microsoft Windows 操作系統。

許多IP協助程式函式會傳遞結構參數,這些參數代表與管理資訊基底 (MIB) 技術相關聯的數據類型。 IP 協助程式函式會使用這些MIB結構來代表各種網路資訊。

IP 協助程式檔會廣泛使用「配接器」和「介面」一詞。 配接器是舊版字詞,其為網路適配器的縮寫形式,原本稱為某種形式的網路硬體。 配接器是數據連結層級抽象概念。

IETF RFC 檔中將介面描述為代表節點連結附件的抽象概念。 介面是IP層級抽象概念。

您的驅動程式可以使用下列內核模式函式、MIB 結構和MIB和網路層 (NL) 列舉,在本機電腦上擷取和修改傳輸控制通訊協定/因特網通訊協定 (TCP/IP) 傳輸的組態設定。

注意

 當您開發驅動程式程式代碼時,請遵循包含頭文件的說明

介面轉換函式

函式 描述

ConvertInterfaceAliasToLuid

將網路介面的本機唯一標識碼 (LUID) 轉換為 Unicode 介面名稱。

ConvertInterfaceGuidToLuid

將網路介面的全域唯一標識碼 (GUID) 轉換為介面的 LUID。

ConvertInterfaceIndexToLuid

將網路介面的本機索引轉換為介面的 LUID。

ConvertInterfaceLuidToAlias

將網路介面的 LUID 轉換為介面別名。

ConvertInterfaceLuidToGuid

將網路介面的 LUID 轉換為介面的 GUID。

ConvertInterfaceLuidToIndex

將網路介面的 LUID 轉換為介面的本機索引。

ConvertInterfaceLuidToNameA

將網路介面的 LUID 轉換為 ANSI 介面名稱。

ConvertInterfaceLuidToNameW

將網路介面的 LUID 轉換為 Unicode 介面名稱。

ConvertInterfaceNameToLuidA

將 ANSI 網路介面名稱轉換為介面的 LUID。

ConvertInterfaceNameToLuidW

將 Unicode 網路介面名稱轉換為介面的 LUID。

if_indextoname

將網路介面的本機索引轉換為 ANSI 介面名稱。

if_nametoindex

將網路介面的 ANSI 介面名稱轉換為介面的本機索引。

介面管理功能

函式 描述

GetIfEntry2

擷取本機計算機上指定介面的資訊。

GetIfStackTable

擷取網路介面堆疊數據列項目的數據表,指定介面堆疊上網路介面的關聯性。

GetIfTable2

擷取MIB-II介面數據表。

GetIfTable2Ex

根據要擷取的介面資訊層級,擷取MIB-II介面數據表。

GetInvertedIfStackTable

擷取反向網路介面堆疊數據列項目的數據表,指定介面堆疊上網路介面的關聯性。

GetIpInterfaceEntry

擷取本機計算機上指定介面的IP資訊。

GetIpInterfaceTable

擷取本機電腦上的IP介面專案。

InitializeIpInterfaceEntry

使用預設值,初始化MIB_IPINTERFACE_ROW結構項目的成員

SetIpInterfaceEntry

設定本機電腦上的IP介面屬性。

IP 位址管理 函式

函式 描述

CreateAnycastIpAddressEntry

在本機電腦上加入新的 Anycast IP 位址專案。

CreateSortedAddressPairs

將提供的目的地位址清單與主計算機的本機 IP 位址配對,並根據慣用的通訊順序排序配對。

CreateUnicastIpAddressEntry

在本機電腦上加入新的單播IP位址專案。

DeleteAnycastIpAddressEntry

刪除本機電腦上的現有任何廣播IP位址專案。

DeleteUnicastIpAddressEntry

從本機計算機刪除現有的單播IP位址專案。

GetAnycastIpAddressEntry

擷取本機計算機上現有任何廣播IP位址項目的資訊。

GetAnycastIpAddressTable

擷取本機電腦上的 Anycast IP 位址數據表。

GetMulticastIpAddressEntry

擷取本機計算機上現有多播IP位址項目的資訊。

GetMulticastIpAddressTable

擷取本機電腦上的多播IP位址數據表。

GetUnicastIpAddressEntry

擷取本機計算機上現有單播IP位址項目的資訊。

GetUnicastIpAddressTable

擷取本機電腦上的單播IP位址數據表。

InitializeUnicastIpAddressEntry

使用本機計算機上的單播IP位址項目預設值,初始化MIB_UNICASTIPADDRESS_ROW結構。

NotifyStableUnicastIpAddressTable

擷取本機電腦上的穩定單播IP位址表。

SetUnicastIpAddressEntry

設定本機電腦上現有單播IP位址專案的屬性。

IP 鄰近位址管理功能

函式 描述

CreateIpNetEntry2

在本機計算機上建立新的鄰近IP位址專案。

DeleteIpNetEntry2

從本機計算機刪除鄰近IP位址專案。

FlushIpNetTable2

排清本機電腦上的IP鄰近數據表。

GetIpNetEntry2

擷取本機計算機上鄰近IP位址項目的資訊。

GetIpNetTable2

擷取本機電腦上的IP鄰近數據表。

ResolveIpNetEntry2

解析本機計算機上鄰近IP位址專案的實體位址。

SetIpNetEntry2

設定本機計算機上現有鄰近IP位址專案的實體位址。

IP 路徑管理功能

函式 描述

FlushIpPathTable

排清本機電腦上的IP路徑數據表。

GetIpPathEntry

擷取本機電腦上的IP路徑項目資訊。

GetIpPathTable

擷取本機電腦上的IP路徑項目資訊。

IP 路由管理功能

函式 描述

CreateIpForwardEntry2

在本機電腦上建立新的IP路由專案。

DeleteIpForwardEntry2

從本機計算機刪除IP路由專案。

GetBestRoute2

擷取本機電腦上的IP路由專案,以取得指定目的地IP位址的最佳路由。

GetIpForwardEntry2

擷取本機電腦上的IP路由項目資訊。

GetIpForwardTable2

擷取本機電腦上的IP路由專案。

InitializeIpForwardEntry

使用本機計算機上的IP路由項目預設值,初始化MIB_IPFORWARD_ROW2結構。

SetIpForwardEntry2

設定本機電腦上的IP路由項目屬性。

IP 資料表記憶體管理功能

函式 描述

FreeMibTable

釋放由傳回網路介面、位址和路由數據表的函式配置的緩衝區(例如 GetIfTable2 GetAnycastIpAddressTable)。

通知函式

函式 描述

CancelMibChangeNotify2

取消註冊 IP 介面變更、IP 位址變更、IP 路由變更,以及擷取穩定單播 IP 位址數據表之變更通知的驅動程式。

NotifyIpInterfaceChange

註冊驅動程式,以通知本機計算機上所有IP介面、IPv4介面或IPv6介面的變更。

NotifyRouteChange2

註冊以通知本機電腦上的IP路由項目變更。

NotifyUnicastIpAddressChange

註冊以通知本機計算機上所有單播IP介面、單播IPv4位址或單播IPv6位址的變更。

Teredo IPv6 用戶端管理功能

函式 描述

GetTeredoPort

擷取 Teredo 用戶端在本機電腦上所使用的動態 UDP 連接埠號碼。

NotifyTeredoPortChange

註冊,以通知 Teredo 用戶端在本機電腦上用於 Teredo 服務埠的 UDP 埠號碼變更。

NotifyStableUnicastIpAddressTable

擷取本機電腦上的穩定單播IP位址表。

MIB 結構

結構 描述

IP_ADDRESS_PREFIX

儲存IP位址前置綴。

MIB_ANYCASTIPADDRESS_ROW

儲存任何廣播IP位址的相關信息。

MIB_ANYCASTIPADDRESS_TABLE

包含任何廣播IP位址項目的數據表。

MIB_IF_ROW2

儲存特定介面的相關信息。

MIB_IF_TABLE2

包含邏輯和實體介面項目的數據表。

MIB_IFSTACK_ROW

表示兩個網路介面之間的關聯性。

MIB_IFSTACK_TABLE

包含網路介面堆疊中的數據列項目數據表。 下表指定介面堆疊上網路介面的關聯性。

MIB_INVERTEDIFSTACK_ROW

表示兩個網路介面之間的關聯性。

MIB_INVERTEDIFSTACK_TABLE

包含反向網路介面堆疊數據列項目的數據表。 下表會以反向順序指定介面堆疊上網路介面的關聯性。

MIB_IPFORWARD_ROW2

儲存IP路由專案的相關信息。

MIB_IPFORWARD_TABLE2

包含IP路由項目的數據表。

MIB_IPINTERFACE_ROW

儲存網路介面上特定IP位址系列的介面管理資訊。

MIB_IPINTERFACE_TABLE

包含IP介面項目的數據表。

MIB_IPNET_ROW2

儲存鄰近IP位址的相關信息。

MIB_IPNET_TABLE2

包含鄰近IP位址項目的數據表。

MIB_IPPATH_ROW

儲存IP路徑項目的相關信息。

MIB_IPPATH_TABLE

包含IP路徑項目的數據表。

MIB_MULTICASTIPADDRESS_ROW

儲存多播IP位址的相關信息。

MIB_MULTICASTIPADDRESS_TABLE

包含多播IP位址項目的數據表。

MIB_UNICASTIPADDRESS_ROW

儲存單播IP位址的相關信息。

MIB_UNICASTIPADDRESS_TABLE

包含單播IP位址項目的數據表。

MIB 列舉

列舉型別 描述

MIB_IF_TABLE_LEVEL

定義要擷取的介面資訊層級。

MIB_NOTIFICATION_TYPE

定義通知發生時傳遞至回呼函式的通知類型。

NL 列舉

列舉型別 描述

NL_ADDRESS_TYPE

指定網路層的IP位址類型。

NL_DAD_STATE

定義重複的位址偵測 (DAD) 狀態。

NL_LINK_LOCAL_ADDRESS_BEHAVIOR

定義連結本機地址行為。

NL_NEIGHBOR_STATE

定義網路層鄰近IP位址的狀態,如 RFC 2461 第 7.3.2 節中所述。

NL_PREFIX_ORIGIN

定義IP位址前置詞或網路部分的來源。

NL_ROUTE_ORIGIN

定義IP路由的來源。

NL_ROUTE_PROTOCOL

定義IP路由新增的路由機制,如 RFC 4292 中所述。

NL_ROUTER_DISCOVERY_BEHAVIOR

定義路由器探索行為,如 RFC 2461 中所述。

NL_SUFFIX_ORIGIN

定義IP位址後綴或主機部分的來源。