setTcpEntry 函式 (iphlpapi.h)
SetTcpEntry 函式會設定 TCP 連線的狀態。
語法
IPHLPAPI_DLL_LINKAGE DWORD SetTcpEntry(
[in] PMIB_TCPROW pTcpRow
);
參數
[in] pTcpRow
MIB_TCPROW 結構的指標。 此結構會指定要識別要修改之 TCP 連線的資訊。 它也會指定 TCP 連線的新狀態。 呼叫端必須為此結構中的所有成員指定值。
傳回值
如果函式成功,函式會 傳回NO_ERROR (零) 。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
傳回碼/值 | Description |
---|---|
|
存取遭到拒絕。 Windows Vista 和 Windows Server 2008 上傳回此錯誤的情況包括下列各項:使用者缺少本機計算機的必要系統管理許可權,或應用程式未在增強殼層中執行,因為 RunAs 系統管理員 (RunAs 系統管理員) 。 |
|
輸入參數無效,未採取任何動作。 如果 pTcpRow 參數為 NULL,或 pTcpRow 參數所指向之MIB_TCPROW結構中的數據列成員未設定為 MIB_TCP_STATE_DELETE_TCB,就會傳回此錯誤。 |
|
本機電腦上未設定 IPv4 傳輸。 |
|
函式無法設定 TCP 專案,因為應用程式正在執行非提升許可權。 |
|
使用 FormatMessage 取得傳回錯誤的訊息字串。 |
備註
目前,可以設定 TCP 連線的唯一狀態是MIB_TCP_STATE_DELETE_TCB。
在 Windows Vista 和更新版本上, SetTcpEntry 函式只能由以 Administrators 群組成員身分登入的使用者呼叫。 如果 SetTcpEntry 是由不是 Administrators 群組成員的使用者呼叫,則函數調用將會失敗,並傳回 ERROR_ACCESS_DENIED 。
SetTcpEntry 函式也可能因為 Windows Vista 和更新版本的使用者帳戶控制 (UAC) 而失敗。 如果包含此函式的應用程式是由以內建系統管理員以外的 Administrators 群組成員身分登入的使用者所執行,除非應用程式已在指令清單檔案中標示 為 requestedExecutionLevel 設定為 requireAdministrator,否則此呼叫將會失敗。 如果應用程式缺少此指令清單檔,則以系統管理員以外的 Administrators 群組成員身分登入的使用者,必須在增強的殼層中執行應用程式,因為內建的 Administrator (RunAs 系統管理員) ,此函式才能成功。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | iphlpapi.h |
程式庫 | Iphlpapi.lib |
Dll | Iphlpapi.dll |