共用方式為


QOSCloseHandle 函式 (qos2.h)

QOSCloseHandle 函式會關閉 QOSCreateHandle 函式所傳回的句柄。

語法

ExternC BOOL QOSCloseHandle(
  [in] HANDLE QOSHandle
);

參數

[in] QOSHandle

QOSCreateHandle 所傳回之 QOS 子系統的句柄。

傳回值

如果函式成功,則傳回非零的值。

如果函式失敗,則傳回值為 0。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

傳回碼 Description
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)
程式庫 Qwave.lib
Dll Qwave.dll

另請參閱

品質 Windows 音訊/視訊體驗 (qWAVE)