QOSCloseHandle 函数 (qos2.h)

QOSCloseHandle 函数关闭 QOSCreateHandle 函数返回的句柄。

语法

ExternC BOOL QOSCloseHandle(
  [in] HANDLE QOSHandle
);

参数

[in] QOSHandle

QOSCreateHandle 返回的 QOS 子系统的句柄

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,返回值为 0。 要获得更多的错误信息,请调用 GetLastError。

返回代码 说明
ERROR_INVALID_PARAMETER
QOSHandle 参数无效。

注解

在关闭的句柄上添加的所有流将立即从系统中删除。 流出用于创建这些流的套接字的任何流量将不再标记为优先级值。 ERROR_ABORTED立即完成对这些流的任何挂起操作。

如果通过上一次调用 QOSStartTrackingClient 函数关闭的句柄跟踪任何客户端, QOSCloseHandle 指示应用程序不再使用客户端终结点。

示例

以下“CleanUpQos”函数演示了 QOSRemoveSocketFromFlowQOSCloseHandle 的用法:

有关完整示例代码列表,请参阅Windows SDK。 SDK 文件夹:Samples\NetDs\GQos\Qos2

必须包含 Winsock2.h 头文件才能使用 Winsock 定义的标识符或函数。

int CleanUpQos( HANDLE qosHandle, 
           SOCKET connSocket, 
           QOS_FLOWID qosFlowId, 
           DWORD qosFlags // qosFlags must be 0 
           )
{
  // To ensure against generating an ERROR_OPERATION_ABORTED exception
  // use a separate thread and Mutex protection to verify completion
  // of QOSRemoveSocketFromFlow before calling QOSCloseHandle.

  int result = 0;
   
  if (qosFlowId != 0)
  {
    if( QOSRemoveSocketFromFlow(
        qosHandle,
        connSocket,
        qosFlowId,
        qosFlags) != TRUE)
    
            result = WSAGetLastError();
  }

  // Under Mutex protection, add Wait function here. 

  if (qosHandle != NULL)
  {
    if( QOSCloseHandle(qosHandle) != TRUE)
        result = WSAGetLastError();
  }

  return(result);

}


要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 qos2.h (包括 Qos2.h)
Library Qwave.lib
DLL Qwave.dll

另请参阅

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