QOSCloseHandle function (qos2.h)
The QOSCloseHandle function closes a handle returned by the QOSCreateHandle function.
Syntax
ExternC BOOL QOSCloseHandle(
[in] HANDLE QOSHandle
);
Parameters
[in] QOSHandle
Handle to the QOS subsystem returned by QOSCreateHandle.
Return value
If the function succeeds, the return value is nonzero.
If the function fails, the return value is 0. To get extended error information, call GetLastError.
Return code | Description |
---|---|
|
The QOSHandle parameter is invalid. |
Remarks
All flows added on the handle being closed are immediately removed from the system. Any traffic going out of a socket used to create these flows will no longer be marked with priority values. Any pending operations on these flows are immediately completed with ERROR_ABORTED.
If any clients were being tracked through the handle being closed by a previous call to the QOSStartTrackingClient function, QOSCloseHandle indicates that the application is no longer using the client endpoint.
Examples
The following "CleanUpQos" function illustrates the use of QOSRemoveSocketFromFlow and QOSCloseHandle:
See the Windows SDK for a complete sample code listing. SDK folder: Samples\NetDs\GQos\Qos2
The Winsock2.h header file must be included to use Winsock defined identifiers or functions.
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);
}
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | qos2.h (include Qos2.h) |
Library | Qwave.lib |
DLL | Qwave.dll |