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列舉類型的其中一個值。
值 | 意義 |
---|---|
|
這個值會指定 TCP 連線的擴充數據傳輸資訊。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_DATA_RW_v0 結構。 |
|
這個值會指定 TCP 連線的傳送者壅塞。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_SND_CONG_RW_v0 結構。 |
|
這個值會指定 TCP 連線的擴充路徑度量資訊。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_PATH_RW_v0 結構。 |
|
這個值會指定 TCP 連線的擴充輸出佇列資訊。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_SEND_BUFF_RW_v0 結構。 |
|
這個值會指定 TCP 連線的擴充本機接收者資訊。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_REC_RW_v0 結構。 |
|
這個值會指定 TCP 連線的擴充遠端接收者資訊。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_OBS_REC_RW_v0 結構。 |
|
此值會指定頻寬上 TCP 連線的頻寬估計統計數據。
指定這個值時, Rw 參數所指向的緩衝區應該指向 TCP_ESTATS_BANDWIDTH_RW_v0 結構。 |
|
這個值會指定 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 |
---|---|
|
存取遭到拒絕。 此錯誤會在下列幾個情況下傳回:使用者缺少本機計算機上的必要系統管理許可權,或應用程式未在增強的殼層中執行,因為 RunAs 系統管理員) 內建系統管理員 (。 |
|
參數錯誤。 如果 Row 參數是 NULL 指標,則會傳回此錯誤。 |
|
提供的用戶緩衝區對要求的作業無效。 如果 Row 參數為 NULL 指標,且 RwSize 參數為非零值,則會傳回此錯誤。 |
|
找不到此要求的專案。 如果找不到 Row 參數中指定的 TCP 連線,就會傳回此錯誤。 |
|
不支援此要求。 如果 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 |