C / C ++化合物TCP

时间:2011-06-22 12:44:34

标签: c++ c windows api tcp

在命令提示符中,我可以使用:

netsh int tcp set global congestionprovider=ctcp

我想知道是否有一种方法可以在不使用system()的情况下在C / C ++中以编程方式完成相同的操作。

我假设我可能不得不使用COM?

编辑:关于如何访问我通常会通过C / C ++中的netsh访问的其他信息的信息也很好:)(例如:netsh int tcp show global

1 个答案:

答案 0 :(得分:0)

在行之间进行读取,这可以通过手动注册表修改以与Windows XP/Windows Server 2003 backport of CTCP相同的方式实现。假设您必须使用RegSetValueEx将给定值设置为1并使用RegQueryValueEx检查它以查看此时的状态。

When you apply this hotfix, the following registry subkey is created: 
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
The properties of this subkey are as follows: 
Name: TCPCongestionControl
Type: REG_DWORD
Value: 1
When the value is set to 1, CTCP support is enabled. When the value is set to 0, CTCP support is disabled.

这是否适合你,或者没有重启,取决于1)相应的组件是否自动检测注册表mods 2)是否在新的操作系统上都有。但是,这似乎不太难以尝试。