共用方式為


SetPerTcp6ConnectionEStats 函式 (iphlpapi.h)

SetPerTcp6ConnectionEStats 函式會在 IPv6 TCP 連線的讀取/寫入資訊中設定值。 此函式可用來啟用或停用 IPv6 TCP 連線的擴充統計數據。

語法

IPHLPAPI_DLL_LINKAGE ULONG SetPerTcp6ConnectionEStats(
  PMIB_TCP6ROW    Row,
  TCP_ESTATS_TYPE EstatsType,
  PUCHAR          Rw,
  ULONG           RwVersion,
  ULONG           RwSize,
  ULONG           Offset
);

參數

Row

IPv6 TCP 連線 之MIB_TCP6ROW 結構的指標。

EstatsType

要設定之 TCP 的擴充統計數據類型。 此參數會決定 Rw 參數中預期的資訊資料和格式。

此參數可以是 Tcpestats.h 頭檔中所定義TCP_ESTATS_TYPE列舉類型的其中一個值。

意義
TcpConnectionEstatsData
這個值會指定 TCP 連線的擴充數據傳輸資訊。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_DATA_RW_v0 結構。

TcpConnectionEstatsSndCong
這個值會指定 TCP 連線的傳送者壅塞。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_SND_CONG_RW_v0 結構。

TcpConnectionEstatsPath
這個值會指定 TCP 連線的擴充路徑度量資訊。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_PATH_RW_v0 結構。

TcpConnectionEstatsSendBuff
這個值會指定 TCP 連線的擴充輸出佇列資訊。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_SEND_BUFF_RW_v0 結構。

TcpConnectionEstatsRec
這個值會指定 TCP 連線的擴充本機接收者資訊。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_REC_RW_v0 結構。

TcpConnectionEstatsObsRec
這個值會指定 TCP 連線的擴充遠端接收者資訊。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_OBS_REC_RW_v0 結構。

TcpConnectionEstatsBandwidth
此值會指定頻寬上 TCP 連線的頻寬估計統計數據。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_BANDWIDTH_RW_v0 結構。

TcpConnectionEstatsFineRtt
這個值會指定 TCP 連線 (RTT) 估計統計數據的細部來回時間。

指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_FINE_RTT_RW_v0 結構。

Rw

緩衝區的指標,其中包含要設定的讀取/寫入資訊。 緩衝區應該包含每個結構成員的 TCP_BOOLEAN_OPTIONAL 列舉值,以指定每個成員的更新方式。

RwVersion

要設定的讀取/寫入資訊版本。 對於 Windows Vista、Windows Server 2008 和 Windows 7,此參數應設定為零。

RwSize

Rw 參數所指向緩衝區的大小,以位元組為單位。

Offset

要設定 之 Rw 參數所指向之結構中的成員位移,以位元組為單位。 此參數目前未使用,且必須設定為零。

傳回值

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

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

傳回碼 Description
ERROR_ACCESS_DENIED
存取遭到拒絕。 此錯誤會在下列幾個情況下傳回:使用者缺少本機計算機上的必要系統管理許可權,或應用程式未在增強的殼層中執行,因為 RunAs 系統管理員) 內建系統管理員 (。
ERROR_INVALID_PARAMETER
參數錯誤。 如果 Row 參數是 NULL 指標,則會傳回此錯誤。
ERROR_INVALID_USER_BUFFER
提供的用戶緩衝區對要求的作業無效。 如果 Row 參數為 NULL 指標,且 RwSize 參數為非零值,則會傳回此錯誤。
ERROR_NOT_FOUND
找不到此要求的專案。 如果找不到 Row 參數中指定的 TCP 連線,就會傳回此錯誤。
ERROR_NOT_SUPPORTED
不支援此要求。 如果 RwVersionOffset 參數未設定為 0,就會傳回此錯誤。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

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

SetPerTcp6ConnectionEStats 函式可用來啟用或停用在 Row 參數中傳遞之 IPv6 TCP 連線的擴充統計數據。 默認會停用 TCP 連線的擴充統計數據。

SetPerTcp6ConnectionEStats 函式是用來在 IPv6 TCP 連線之擴充統計數據的讀取/寫入資訊中設定成員的值。 要設定之結構的類型和格式是由 EstatsType 參數所指定。 Rw 參數包含所傳遞結構的指標。 要在此結構中設定的成員是由 Offset 參數所指定。 必須指定 Rw 參數指向之 結構中的所有成員。

目前唯一支援的 TCP 連線統計數據版本是版本零。 因此,傳遞至 SetPerTcp6ConnectionEStatsRwVersion 參數應該設定為 0。

傳遞此函式 的 Rw 參數所指向的結構取決於 EstatsType 參數中傳遞的列舉值。 下表指出每個可能 EstatsType 參數類型應該在 Rw 參數中傳遞的結構類型。

EstatsType Rw 指向的結構
TcpConnectionEstatsData TCP_ESTATS_DATA_RW_v0
TcpConnectionEstatsSndCong TCP_ESTATS_SND_CONG_RW_v0
TcpConnectionEstatsPath TCP_ESTATS_PATH_RW_v0
TcpConnectionEstatsSendBuff TCP_ESTATS_SEND_BUFF_RW_v0
TcpConnectionEstatsRec TCP_ESTATS_REC_RW_v0
TcpConnectionEstatsObsRec TCP_ESTATS_OBS_REC_RW_v0
TcpConnectionEstatsBandwidth TCP_ESTATS_BANDWIDTH_RW_v0
TcpConnectionEstatsFineRtt TCP_ESTATS_FINE_RTT_RW_v0
 

Offset 參數目前未使用。 Rw 參數指向的可能結構全都有單一成員,但TCP_ESTATS_BANDWIDTH_RW_v0 結構除外。 當 EstatsType 參數設定為 TcpConnectionEstatsBandwidth 時,Rw 參數所指向的TCP_ESTATS_BANDWIDTH_RW_v0結構必須同時設定為 SetPerTcp6ConnectionEStats 函式的單一呼叫中的慣用值。

如果 RwSize 參數設定為 0,SetPerTcp6ConnectionEStats 函式會傳回NO_ERROR,而且不會變更擴充的統計數據狀態。

GetTcp6Table 函式可用來擷取本機電腦上的IPv6 TCP 連線數據表。 此函式會傳回 包含MIB_TCP6ROW 項目數位的 MIB_TCP6TABLE 結構。 傳遞給 SetPerTcp6ConnectionEStats 函式的 Row 參數必須是現有 IPv6 TCP 連線的專案。

在 IPv6 的 TCP 連線上啟用擴充統計數據之後,應用程式會呼叫 GetPerTcp6ConnectionEStats 函式來擷取 TCP 連線上的擴充統計數據。

GetPerTcp6ConnectionEStats 函式的設計目的是使用 TCP 來診斷網路和應用程式中的效能問題。 如果網路型應用程式執行不佳,TCP 可以判斷瓶頸是否位於傳送者、接收者或網路本身。 如果瓶頸在網路中,TCP 可以提供其本質的特定資訊。

如需有關 IPv4 連線擴充 TCP 統計數據的資訊,請參閱 GetPerTcpConnectionEStatsSetPerTcpConnectionEStats 函 式。

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

規格需求

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

另請參閱

GetPerTcp6ConnectionEStats

GetPerTcpConnectionEStats

GetTcp6Table

MIB_TCP6ROW

MIB_TCP6TABLE

SetPerTcpConnectionEStats

TCP_BOOLEAN_OPTIONAL

TCP_ESTATS_BANDWIDTH_RW_v0

TCP_ESTATS_DATA_RW_v0

TCP_ESTATS_FINE_RTT_RW_v0

TCP_ESTATS_OBS_REC_RW_v0

TCP_ESTATS_PATH_RW_v0

TCP_ESTATS_REC_RW_v0

TCP_ESTATS_SEND_BUFF_RW_v0

TCP_ESTATS_SND_CONG_RW_v0

TCP_ESTATS_TYPE