Установка DIFFSERV/DSCP с GQOS для конкретного сокета в c
Мне нужно установить поле DSCP пакетов, отправляемых с определенного (TCP) сокета в Windows XP.
Похоже, что GQOS API должен служить этой цели (см. http://blogs.msdn.com/wndp/archive/2006/07/05/657196.aspx), но я действительно не могу найти ни одного рабочего примера или понять, как использовать его самостоятельно.
Я был бы очень признателен, если бы у кого-то из вас был рабочий пример, которым он / она мог бы поделиться.
Однако следующие обходные пути неприемлемы:
- Использование API QOS2 - он доступен только в Vista и выше (и я буду использовать его там)
- Использование TC API - это не только для данного сокета (он пытается сопоставить исходящие пакеты с фильтром) и требует прав администратора для использования 3.
- Использование SetSockOpt с IP_TOS - устарело в XP, не предназначалось для установки поля DSCP и требует изменения регистра.
Спасибо!