共用方式為


SetIpForwardEntry2 函式

SetIpForwardEntry2 函式會在本機計算機上設定IP路由項目的屬性。

語法

NETIOAPI_API SetIpForwardEntry2(
  _In_ const MIB_IPFORWARD_ROW2 *Route
);

參數

  • 路由 [in]
    IP 路由專案的MIB_IPFORWARD_ROW2結構專案的指標。 您的驅動程式必須將 MIB_IPFORWARD_ROW2 結構的 DestinationPrefix 成員設定為有效的 IP 目的地前置詞和系列、將 MIB_IPFORWARD_ROW2 的 NextHop 成員設定為有效的 IP 位址和系列,並指定 MIB_IPFORWARD_ROW2 的 InterfaceLuid 成員或 InterfaceIndex 成員。

傳回值

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

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

傳回碼 描述
STATUS_INVALID_PARAMETER

無效的參數已傳遞至函式。 如果在 Route 參數中傳遞 NULL 指標、未指定 Route 參數所指向之 MIB_IPFORWARD_ROW2 結構的 DestinationPrefix 成員、未指定MIB_IPFORWARD_ROW2結構的 NextHop 成員,或未指定MIB_IPFORWARD_ROW2結構的 InterfaceLuidInterfaceIndex 成員,則會傳回此錯誤。

STATUS_NOT_FOUND

找不到指定的介面。 如果函式找不到 Route 參數指向之MIB_IPFORWARD_ROW2結構的 InterfaceLuidInterfaceIndex 成員所指定的網路介面,就會傳回此錯誤。

其他

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

備註

SetIpForwardEntry2 函式可用來設定本機計算機上現有IP路由項目的屬性。

您的驅動程式必須初始化 Row 參數指向之MIB_IPFORWARD_ROW2結構的下列成員。

  • DestinationPrefix
    設定為有效的 IPv4 或 IPv6 位址前綴和系列。

  • NextHop
    設定為有效的 IPv4 或 IPv6 位址和系列。

  • InterfaceLuidInterfaceIndex
    這些成員會依照稍早所列的順序使用。 因此,如果 指定 InterfaceLuid ,則會使用此成員來判斷介面。 如果 InterfaceLuid 成員未設定任何值(此成員的值設定為零),則接下來會使用 InterfaceIndex 成員來判斷介面。

路由計量位移,指定於路由參數指向之MIB_IPFORWARD_ROW2結構的 Metric 成員中,只代表完整路由計量的一部分。 完整計量是這個路由計量位移的組合,新增至介面計量,該計量是在關聯介面MIB_IPINTERFACE_ROW結構的計量成員中指定的。 驅動程式可以藉由呼叫 GetIpInterfaceEntry 函式來擷取介面計量。

SetIpForwardEntry2忽略 Row 參數指向之MIB_IPFORWARD_ROW2結構的 AgeOrigin 成員。 這些成員是由網路堆疊所設定,無法使用 SetIpForwardEntry2 函式來變更

如果 Route 參數指向 MIB_IPFORWARD_ROW2的 DestinationPrefixNextHop 成員不符合指定介面上的 IP 路由專案,則 SetIpForwardEntry2 函式會失敗。

需求

目標平台

萬用

版本

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

頁首

Netioapi.h (包括 Netioapi.h)

程式庫

Netio.lib

IRQL

< DISPATCH_LEVEL

另請參閱

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2