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プログラムを書きたくない場合は、最も簡単な解決策は、 オートホットキーグループ ポリシーを作成する GUI 操作を実行するマクロ (.exe にコンパイルされる可能性があります)。

Windows 8 または Server 2012 を使用している場合は、PowerShell を使用して QoS を構成できます。
Windows PowerShell のネットワーク Quality of Service (QoS) コマンドレット

関連情報