如何通过 CLI 在 Windows 7 上创建基于策略的 QoS?

如何通过 CLI 在 Windows 7 上创建基于策略的 QoS?

我正在尝试向 SIP 客户端(取自开源 Linphone)添加 ToS(QoS)支持,如下所示:

retval = setsockopt(session->rtp.socket, proto, value_type, (SOCKET_OPTION_VALUE)&tos, sizeof(tos));

但在 Windows 7 中,我添加 ToS 的所有尝试都失败了;它继续设置零(如 Wireshark 中所示)。有人说这是 Windows 中的“功能”(阅读错误)。

我读这一页如何创建 QoS 策略,因此我使用 GUI 手动创建了一个:

显示 QoS 配置的策略编辑器屏幕截图

我尝试了以下步骤:

  1. HKLM\System\CurrentControlSet\Services\Tcpip\QoS
  2. QoS如果密钥不存在则创建
  3. 添加一个REG-SZ名为的参数Do not use NLA并赋予其值1
  4. 重启

它可以按预期工作,但现在我的问题是如何自动创建这样的策略(例如,以便可以在程序安装期间完成)?

[编辑]

minGW我的代码是纯 C 语言的,由于我使用的环境和工具,使用 C# 源代码会有点问题./configure && make && make install

答案1

文章在 Windows 中以编程方式更新本地策略描述了一个可以帮助解决此问题的.NET 库。

如果你不想编写.net程序,最简单的解决方案就是创建一个 自动热键宏,可能编译为 .exe,它将执行创建该组策略的 GUI 操作。

如果您使用的是 Windows 8 或 Server 2012,则可以通过 PowerShell 配置 QoS:
Windows PowerShell 中的网络服务质量 (QoS) Cmdlet

相关内容