ICorDebugController::HasQueuedCallbacks Method

Gets a value that indicates whether any managed callbacks are currently queued for the specified thread.

Syntax

HRESULT HasQueuedCallbacks (  
    [in] ICorDebugThread *pThread,  
    [out] BOOL           *pbQueued  
);  

Parameters

pThread
[in] A pointer to an "ICorDebugThread" object that represents the thread.

pbQueued
[out] A pointer to a value that is true if any managed callbacks are currently queued for the specified thread; otherwise, false.

If null is specified for the pThread parameter, HasQueuedCallbacks will return true if there are currently managed callbacks queued for any thread.

Remarks

Callbacks will be dispatched one at a time, each time ICorDebugController::Continue is called. The debugger can check this flag if it wants to report multiple debugging events that occur simultaneously.

When debugging events are queued, they have already occurred, so the debugger must drain the entire queue to be sure of the state of the debuggee. (Call ICorDebugController::Continue to drain the queue.) For example, if the queue contains two debugging events on thread X, and the debugger suspends thread X after the first debugging event and then calls ICorDebugController::Continue, the second debugging event for thread X will be dispatched although the thread has been suspended.

Requirements

Platforms: See System Requirements.

Header: CorDebug.idl, CorDebug.h

Library: CorGuids.lib

.NET Framework Versions: Available since 1.0

See also