C / C ++ Составной TCP - PullRequest
       8

C / C ++ Составной TCP

4 голосов
/ 22 июня 2011

В командной строке я могу использовать:

netsh int tcp set global congestionprovider=ctcp

Мне интересно, есть ли способ, которым я мог бы выполнить то же самое программно в C / C ++ без использования system ().

Я предполагаю, что мне, вероятно, придется использовать COM?

РЕДАКТИРОВАТЬ: Также было бы неплохо получить информацию о том, как я могу получить доступ к другой информации, которую я обычно получаю через netsh в C / C ++ :) (Пример: netsh int tcp show global)

1 Ответ

0 голосов
/ 22 июня 2011

Считывание между строками может быть достигнуто с помощью ручной модификации реестра аналогично тому, как описано для Windows XP / Windows Server 2003 backport CTCP .Гипотетически, вам нужно было бы установить значение 1, используя RegSetValueEx , и проверить его, используя 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), будет ли соответствующий компонент автоматически обнаруживать моды реестра, и 2) это все, что нужно для этого на более новых ОС,Не похоже, что это было бы слишком сложно попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...