Я пытаюсь добавить поддержку ToS (QoS) в SIP-клиент (взятый из открытого телефона Linphone) следующим образом:
retval = setsockopt(session->rtp.socket, proto, value_type, (SOCKET_OPTION_VALUE)&tos, sizeof(tos));
Но в Windows 7 все мои попытки добавить ToS потерпели неудачу; он продолжает устанавливать нули (как видно из Wireshark). Кто-то сказал, что это «особенность» (ошибка чтения) в Windows.
На этой странице я прочитал, как создать политику QoS, поэтому я создал ее вручную с помощью графического интерфейса:
Я попробовал следующие шаги:
- Перейдите в
HKLM\System\CurrentControlSet\Services\Tcpip\QoS
- Создайте ключ
QoS
если он не существует - Добавьте параметр
REG-SZ
именемDo not use NLA
и присвойте ему значение1
- перезагружать
Это работает, как хотелось бы, но теперь мой вопрос заключается в том, как я могу автоматизировать создание такой политики (например, чтобы это можно было сделать во время установки программы)?
[РЕДАКТИРОВАТЬ]
Мой код - чистый C, и использовать исходный код C # будет немного проблематично, так как я использую среду и инструменты minGW
с ./configure && make && make install
.