共用方式為


SetIpStatisticsEx 函式 (iphlpapi.h)

SetIpStatisticsEx函式會開啟或關閉 IP 轉送,並設定本機電腦的預設存留時間 (TTL) 值。

語法

IPHLPAPI_DLL_LINKAGE ULONG SetIpStatisticsEx(
  [in] PMIB_IPSTATS Statistics,
       ULONG        Family
);

參數

[in] Statistics

MIB_IPSTATS結構的指標。 呼叫端應該將此結構的 dwForwardingdwDefaultTTL 成員設定為新的值。 若要保留其中一個成員目前的值,請使用MIB_USE_CURRENT_TTL或MIB_USE_CURRENT_FORWARDING。

Family

要設定轉送和 TTL 的位址系列。

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

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

目前支援的值AF_INET,AF_INET6。

意義
AF_INET
2
網際網路通訊協定第 4 版 (IPv4) 位址系列。 指定此參數時,此函式會設定 IPv4 專案的轉送和 TTL 選項。
AF_INET6
23
網際網路通訊協定第 6 版 (IPv6) 位址系列。 指定此參數時,此函式會設定 IPv6 專案的轉送和 TTL 選項。

傳回值

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

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

傳回碼 描述
ERROR_ACCESS_DENIED
存取遭到拒絕。 此錯誤會在下列幾個情況下傳回:使用者缺少本機電腦上的必要系統管理許可權,或應用程式未在增強的殼層中執行,因為 RunAs 系統管理員) 內建系統管理員 (。
ERROR_INVALID_PARAMETER
不正確參數已傳遞至 函式。 如果在pIpStats參數中傳遞Null指標,或Family參數未設定為AF_INET,且AF_INET6,則會傳回此錯誤。 如果pIpStats參數所指向之MIB_IPSTATS結構中的dwForwarding成員包含MIB_IP_NOT_FORWARDINGMIB_IP_FORWARDINGMIB_USE_CURRENT_FORWARDING以外的值,也會傳回此錯誤。
ERROR_NOT_SUPPORTED
不支援此要求。 如果在本機電腦上沒有 IPv4 堆疊,而且在 Family 參數中指定AF_INET,或本機電腦上沒有 IPv6 堆疊,而且在 Family 成員中指定了AF_INET6,則會傳回此錯誤。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

若要只設定預設 TTL,呼叫端也可以使用 SetIpTTL 函式。

SetIpStatisticsEx函式只能由以 Administrators 群組成員身分登入的使用者呼叫。 如果 SetIpStatisticsEx 是由不是 Administrators 群組成員的使用者呼叫,則函式呼叫將會失敗,並 傳回ERROR_ACCESS_DENIED

SetIpStatisticsEx函式也可能因為使用者帳戶控制 (Windows Vista 和更新版本上的 UAC) 而失敗。 如果包含此函式的應用程式是由以內建系統管理員以外的 Administrators 群組成員身分登入的使用者所執行,除非應用程式已在資訊清單檔案中標示 為 requestedExecutionLevel 設定為 requireAdministrator,否則此呼叫將會失敗。 如果 應用程式缺少此資訊清單檔案,則以系統管理員群組成員身分登入的使用者,而不是內建系統管理員,則必須在增強殼層中執行應用程式,因為內建的 Administrator (RunAs 系統管理員) ,此函式才能成功。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 iphlpapi.h
程式庫 Iphlpapi.lib
Dll Iphlpapi.dll

另請參閱

IP 協助程式函式參考

IP 協助程式起始頁

MIB_IPSTATS

SetIpStatistics

SetIpTTL