Platform SDK: Quality of Service

TcDeleteFlow

The TcDeleteFlow function deletes a flow that has been added with the TcAddFlow function. Clients should delete all filters associated with a flow before deleting it, otherwise, an error will be returned and the function will not delete the flow.

Traffic control clients that have registered a DeleteFlowComplete handler (a mechanism for allowing traffic control to call the ClDeleteFlowComplete callback function in order to alert clients of completed flow deletions) can expect a return value of ERROR_SIGNAL_PENDING.

DWORD TcDeleteFlow(
  HANDLE FlowHandle 
);

Parameters

FlowHandle
[in] Handle for the flow, as received from a previous call to the TcAddFlow function.

Return Values

Error codes Description
NO_ERROR The function executed without errors.
ERROR_SIGNAL_PENDING The function is being executed asynchronously; the client will be called back through the client-exposed ClDeleteFlowComplete function when the flow has been added, or when the process has been completed.
ERROR_INVALID_HANDLE The flow handle is invalid or NULL.
ERROR_TC_SUPPORTED_OBJECTS_EXIST At least one filter associated with this flow exists.

Remarks

If the TcDeleteFlow function returns ERROR_SIGNAL_PENDING, the ClDeleteFlowComplete function will be called on a different thread than the thread that called the TcDeleteFlow function.

Note  Use of the TcDeleteFlow function requires administrative privilege.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Unsupported.
  Header: Declared in Traffic.h.
  Library: Use Traffic.lib.

See Also

TcEnumerateFlows, TcAddFlow, ClDeleteFlowComplete