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

QOSCreateHandle 返回的 QOS 子系统的句柄

[in] FlowId

指定应用程序希望从中接收通知的流标识符。 QOS_FLOWID是无符号 32 位整数。

[in] Operation

一个QOS_NOTIFY_FLOW值,该值指示所请求的通知的类型。

[in, out, optional] Size

指示 Buffer 参数的大小(以字节为单位)。

函数返回时,如果成功,此参数将指定复制到 Buffer 中的字节数。

如果此调用失败并 ERROR_INSUFFICIENT_BUFFER,则此参数将指示成功完成此操作所需的最小 缓冲区 大小。

[in, out] Buffer

指向 UINT64 的指针,该 UINT64 指示发送通知的带宽。 仅当 Operation 参数设置为 QOSNotifyAvailable 时,才使用此参数。 对于 QOSNotifyCongestedQOSNotifyUncongested 选项,此参数必须在输入时设置为 NULL

Flags

保留供将来使用。 此参数必须设置为 0。

[out, optional] Overlapped

指向用于异步输出的 OVERLAPPED 结构的指针。 如果未异步调用此函数,则此函数必须设置为 NULL

返回值

如果函数成功,则当满足 Operation 参数设置的条件时,将发送非零的返回值。

如果函数失败,返回值为 0。 要获得更多的错误信息,请调用 GetLastError。 下面是一些可能的错误代码。

返回代码 说明
ERROR_ACCESS_DISABLED_BY_POLICY
QoS 子系统当前由策略配置为不允许在此主机和目标主机之间的网络路径上执行此操作。 例如,默认策略阻止 qWAVE 试验运行到离链接目标。
ERROR_IO_PENDING
指示已成功收到通知请求。 重叠完成期间将返回结果。
ERROR_INVALID_HANDLE
QOSHandle 参数无效。
ERROR_INVALID_PARAMETER
FlowId 参数无效。
ERROR_NOT_ENOUGH_MEMORY
指示内存分配失败。
ERROR_NOT_FOUND
指定的 FlowId 无效。
ERROR_NOT_SUPPORTED
正在执行的操作需要 QoS 子系统没有的信息。 目前不支持在此网络上获取此信息。 例如,无法在目标主机处于非链接的网络路径上获取带宽估计。
ERROR_NO_SYSTEM_RESOURCES
资源不足,无法执行该操作。
ERROR_IO_DEVICE
由于出现 I/O 设备错误,因此无法执行该请求。
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
标头 qos2.h (包括 Qos2.h)
Library Qwave.lib
DLL Qwave.dll

另请参阅

质量 Windows 音频/视频体验 (qWAVE)