IDebugEngine2::ContinueFromSynchronousEventIDebugEngine2::ContinueFromSynchronousEvent

Chamado pelo Gerenciador de depuração de sessão (SDM) para indicar que um evento de depuração síncrona, enviado anteriormente pelo mecanismo de depuração (DE) para o SDM, foi recebido e processado.Called by the session debug manager (SDM) to indicate that a synchronous debug event, previously sent by the debug engine (DE) to the SDM, was received and processed.

SintaxeSyntax

HRESULT ContinueFromSynchronousEvent(
    IDebugEvent2* pEvent
);
HRESULT ContinueFromSynchronousEvent(
    IDebugEvent2 pEvent
);

ParâmetrosParameters

pEvent
[in] Uma IDebugEvent2 objeto que representa o evento síncrono enviado anteriormente da qual o depurador agora deve prosseguir.[in] An IDebugEvent2 object that represents the previously sent synchronous event from which the debugger should now continue.

Valor de retornoReturn Value

Se for bem-sucedido, retornará S_OK; caso contrário, retorna um código de erro.If successful, returns S_OK; otherwise, returns an error code.

ComentáriosRemarks

O DE deve verificar que ele foi a origem do evento representado pelo pEvent parâmetro.The DE must verify that it was the source of the event represented by the pEvent parameter.

ExemploExample

O exemplo a seguir mostra como implementar esse método para um simples CEngine objeto que implementa o IDebugEngine2 interface.The following example shows how to implement this method for a simple CEngine object that implements the IDebugEngine2 interface.

HRESULT CEngine::ContinueFromSynchronousEvent(IDebugEvent2* pEvent)
{
    HRESULT hr;

    // Create a pointer to a unique event interface defined for batch file
    // breaks.
    IAmABatchFileEvent *pBatEvent;
    // Check for successful query for the unique batch file event
    // interface.
    if (SUCCEEDED(pEvent->QueryInterface(IID_IAmABatchFileEvent,
                                        (void **)&pBatEvent)))
    {
        // Release the result of the QI.
        pBatEvent->Release();
        // Check thread message for notification to continue.
        if (PostThreadMessage(GetCurrentThreadId(),
                              WM_CONTINUE_SYNC_EVENT,
                              0,
                              0))
        {
            hr = S_OK;
        }
        else
        {
            hr = HRESULT_FROM_WIN32(GetLastError());
        }
    }
    else
    {
        hr = E_INVALIDARG;
    }
    return hr;
}

Consulte tambémSee also