Поделиться через


Функция WSCInstallQOSTemplate (ws2spi.h)

[ Эта функция не поддерживается в Windows Vista и последующих версиях операционной системы.]

Функция WSCInstallQOSTemplate устанавливает указанный шаблон QoS в базу данных конфигурации системы.

Синтаксис

int WSCInstallQOSTemplate(
  [in] const LPGUID Guid,
  [in] LPWSABUF     QosName,
  [in] LPQOS        Qos
);

Параметры

[in] Guid

Глобальный уникальный идентификатор (GUID) для поставщика качества обслуживания (QoS).

[in] QosName

Указатель на структуру WSABUF , содержащую QoS-имя устанавливаемого шаблона.

[in] Qos

Указатель на структуру QOS , которая указывает качество спецификаций потока обслуживания и все сведения, относящиеся к поставщику для шаблона QoS.

Возвращаемое значение

Если функция WSCInstallQOSTemplate завершается успешно, возвращаемое значение равно нулю. В противном случае возвращается один из следующих кодов ошибок.

Код ошибки Значение
WSAEFAULT
Один или несколько аргументов не входят в допустимую часть адресного пространства пользователя.
WSAEINVAL
Один или несколько аргументов являются недопустимыми. Эта ошибка возвращается, если поставщик качества обслуживания, указанный в параметре Guid , недопустим или имя шаблона QoS, указанное в параметре QosName , является недопустимым. Эта ошибка также возвращается, если содержимое структуры шаблона, указанное в параметре Qos , является недопустимым или неполным.
WSAENOBUFS
Память не может быть выделена для буферов.
WSANO_RECOVERY
Произошла неустранимая ошибка. Эта ошибка возвращается при нескольких условиях, включая следующие: поставщик уже установлен, пользователь не имеет прав администратора, необходимых для записи в реестр Winsock, или произошел сбой при создании или установке записи каталога.
WSASYSCALLFAILURE
Системный вызов, который никогда не должен завершаться ошибкой, завершился сбоем.
WSA_NOT_ENOUGH_MEMORY
Недостаточно памяти. Эта ошибка возвращается, если памяти недостаточно для выделения новой записи каталога.

Комментарии

Функция WSCInstallQOSTemplate не поддерживается в Windows Vista и более поздних версиях. Если эта функция вызывается в Windows Vista и возвращается ошибка.

Функция WSCInstallQOSTemplate устанавливает шаблон QoS на основе имени QoS. Вызывающий объект функции WSCInstallQOSTemplate должен иметь соответствующие права администратора для успешного вызова.

Структуру QOS , содержащую параметры QoS, можно получить позже, вызвав функцию WSPGetQOSByName и передав соответствующее имя QoS.

Функция WSCInstallQOSTemplate устанавливает именованный шаблон QoS, содержащий
Структура QOS, указанная в параметре Qos. Если шаблон QoS уже существует с именем QoS, указанным в параметре Qosname , параметры, указанные в параметре Qos , заменяют параметры существующего шаблона.

Если для параметра Guid задано значение NULL, установленный шаблон QOS применяется ко всем поставщикам услуг. Если параметр Guid не равен NULL, установленный шаблон качества обслуживания применяется только к поставщику, указанному параметром Guid .

Параметры шаблона QoS хранятся в неизменяемом хранилище, поэтому последующие вызовы функции WSAGetQOSByName с тем же именем QoS, указанным в параметре lpQOSName , возвращают ту же структуру QOS , которая передается в функцию WSCInstallQOSTemplate .

Windows Sockets 2 включает базовый набор шаблонов качества обслуживания. Вы можете переопределить и заменить любой из этих шаблонов качества обслуживания или изменить существующий шаблон качества обслуживания, просто установив новый шаблон с существующим именем. Перед заменой или изменением существующего шаблона удалять не нужно. Вы не можете удалить базовый набор шаблонов qoS с именами, включенных в сокеты Windows 2. Однако вы можете удалить шаблоны, добавленные впоследствии, возможно, другими поставщиками услуг.

Параметр Qos указывает на структуру QOS , которая может включать буфер, содержащий параметры конкретного поставщика в элементе ProviderSpecific структуры QOS . Все параметры, относящиеся к поставщику, хранятся с базовой структурой QOS и возвращаются в последующих вызовах функции WSAGetQOSByName .

Член ProviderSpecific структуры QOS можно задать, даже если параметр Guid имеет значение NULL , чтобы установить глобальный шаблон качества обслуживания для всех поставщиков услуг. Обратите внимание, что такой подход может привести к тому, что поставщик услуг игнорирует член ProviderSpecific структуры QOS , если поставщик услуг не распознает его содержимое. Рекомендуется использовать функцию WSCInstallQOSTemplate для включения параметров конкретного поставщика в элемент ProviderSpecific структуры QOS , только если именованный шаблон устанавливается в определенном поставщике услуг (параметр Guid не равен NULL).

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ws2spi.h

См. также раздел

QOS

WSABUF

WSPGetQOSByName