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結構的 InterfaceLuid 和 InterfaceIndex 成員,則會傳回此錯誤。 |
STATUS_NOT_FOUND | 找不到指定的介面。 如果函式找不到 Route 參數指向之MIB_IPFORWARD_ROW2結構的 InterfaceLuid 或 InterfaceIndex 成員所指定的網路介面,就會傳回此錯誤。 |
其他 | 使用 FormatMessage 函式來取得傳回錯誤的訊息字串。 |
備註
SetIpForwardEntry2 函式可用來設定本機計算機上現有IP路由項目的屬性。
您的驅動程式必須初始化 Row 參數指向之MIB_IPFORWARD_ROW2結構的下列成員。
DestinationPrefix
設定為有效的 IPv4 或 IPv6 位址前綴和系列。NextHop
設定為有效的 IPv4 或 IPv6 位址和系列。InterfaceLuid 或 InterfaceIndex
這些成員會依照稍早所列的順序使用。 因此,如果 指定 InterfaceLuid ,則會使用此成員來判斷介面。 如果 InterfaceLuid 成員未設定任何值(此成員的值設定為零),則接下來會使用 InterfaceIndex 成員來判斷介面。
路由計量位移,指定於路由參數指向之MIB_IPFORWARD_ROW2結構的 Metric 成員中,只代表完整路由計量的一部分。 完整計量是這個路由計量位移的組合,新增至介面計量,該計量是在關聯介面MIB_IPINTERFACE_ROW結構的計量成員中指定的。 驅動程式可以藉由呼叫 GetIpInterfaceEntry 函式來擷取介面計量。
SetIpForwardEntry2 會忽略 Row 參數指向之MIB_IPFORWARD_ROW2結構的 Age 和 Origin 成員。 這些成員是由網路堆疊所設定,無法使用 SetIpForwardEntry2 函式來變更。
如果 Route 參數指向 MIB_IPFORWARD_ROW2的 DestinationPrefix 和 NextHop 成員不符合指定介面上的 IP 路由專案,則 SetIpForwardEntry2 函式會失敗。
需求
目標平台 |
萬用 |
版本 |
可在 Windows Vista 和更新版本的 Windows 作業系統中使用。 |
頁首 |
Netioapi.h (包括 Netioapi.h) |
程式庫 |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |