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


Функция QOSNotifyFlow (qos2.h)

Функция QOSNotifyFlow регистрирует вызывающее приложение для получения уведомления об изменениях характеристик сети, таких как перегрузка. Уведомления также могут отправляться при достижении требуемой пропускной способности.

Синтаксис

ExternC BOOL QOSNotifyFlow(
  [in]                HANDLE          QOSHandle,
  [in]                QOS_FLOWID      FlowId,
  [in]                QOS_NOTIFY_FLOW Operation,
  [in, out, optional] PULONG          Size,
  [in, out]           PVOID           Buffer,
                      DWORD           Flags,
  [out, optional]     LPOVERLAPPED    Overlapped
);

Параметры

[in] QOSHandle

Дескриптор подсистемы QOS, возвращаемой QOSCreateHandle.

[in] FlowId

Указывает идентификатор потока, из которого приложение должно получать уведомления. QOS_FLOWID — это 32-разрядное целое число без знака.

[in] Operation

Значение QOS_NOTIFY_FLOW , указывающее тип запрашиваемого уведомления.

[in, out, optional] Size

Указывает размер параметра Buffer в байтах.

При успешном возвращении функции этот параметр указывает количество байтов, скопированных в буфер.

Если этот вызов завершается сбоем с ERROR_INSUFFICIENT_BUFFER, этот параметр указывает минимальный необходимый размер буфера для успешного завершения этой операции.

[in, out] Buffer

Указатель на UINT64, указывающий пропускную способность, в которую будет отправлено уведомление. Этот параметр используется только в том случае, если для параметра Operation задано значение QOSNotifyAvailable. Для параметров QOSNotifyCongested и QOSNotifyUncongested этот параметр должен иметь значение NULL на входных данных.

Flags

Зарезервировано для последующего использования. Этот параметр должен иметь значение 0.

[out, optional] Overlapped

Указатель на структуру OVERLAPPED, используемую для асинхронного вывода. Если эта функция не вызывается асинхронно, она должна иметь значение se to NULL .

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

Если функция выполняется успешно, возвращается ненулевое значение при выполнении условий, заданных параметром Operation .

Если функция завершается сбоем, возвращаемое значение равно 0. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. Ниже приведены некоторые возможные коды ошибок.

Код возврата Описание
ERROR_ACCESS_DISABLED_BY_POLICY
Подсистема качества обслуживания в настоящее время настроена политикой, чтобы запретить эту операцию на сетевом пути между этим узлом и конечным узлом. Например, политика по умолчанию запрещает запуск экспериментов qWAVE в местах назначения вне канала.
ERROR_IO_PENDING
Указывает, что запрос на уведомление был успешно получен. Результаты будут возвращены во время перекрытия завершения.
ERROR_INVALID_HANDLE
Недопустимый параметр QOSHandle .
ERROR_INVALID_PARAMETER
Недопустимый параметр FlowId .
ERROR_NOT_ENOUGH_MEMORY
Указывает, что произошел сбой выделения памяти.
ERROR_NOT_FOUND
Указан недопустимый идентификатор FlowId .
ERROR_NOT_SUPPORTED
Для выполнения операции требуются сведения, отсутствуют в подсистеме качества обслуживания. Получение этих сведений в этой сети в настоящее время не поддерживается. Например, оценка пропускной способности не может быть получена по сетевому пути, где конечный узел находится вне канала.
ERROR_NO_SYSTEM_RESOURCES
Недостаточно ресурсов для выполнения операции.
ERROR_IO_DEVICE
Выполнить запрос невозможно из-за ошибки устройства ввода-вывода.
ERROR_DEVICE_REINITIALIZATION_NEEDED
Указанное устройство требует повторной инициализации из-за ошибок оборудования. Приложение должно очистить и снова вызвать QOSCreateHandle .
ERROR_NOT_SUPPORTED
Подсистема QOS определила, что запрошенная операция не может быть завершена по указанному сетевому пути.
ERROR_ADAP_HDW_ERR
Произошла ошибка оборудования сетевого адаптера.
ERROR_HOST_UNREACHABLE
Не удается связаться с сетевым расположением.
ERROR_UNEXP_NET_ERR
Сбой сетевого подключения к удаленному узлу.
ERROR_ALREADY_EXISTS
В этом потоке уже есть запрос на получение уведомлений того же типа.

Комментарии

Эта функция может вызываться асинхронно.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header qos2.h (включая Qos2.h)
Библиотека Qwave.lib
DLL Qwave.dll

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

Качество звука и видео Windows (qWAVE)