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
不支援此要求。 如果 RwVersion 或 Offset 參數未設定為 0,就會傳回此錯誤。
其他
使用 FormatMessage 取得傳回錯誤的訊息字串。

備註

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

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

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

目前唯一支援的 TCP 連線統計數據版本是版本零。 因此,傳遞至 SetPerTcp6ConnectionEStats 的 RwVersion 參數應該設定為 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 統計數據的資訊,請參閱 GetPerTcpConnectionEStats 和 SetPerTcpConnectionEStats 函 式。

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