Condividi tramite


IDebugEngine2::ContinueFromSynchronousEvent

Chiamato dal gestore di debug della sessione (SDM) per indicare che un evento di debug sincrono, precedentemente inviato dal motore di debug (DE) al SDM, è stato ricevuto ed elaborato.

Sintassi

HRESULT ContinueFromSynchronousEvent(
    IDebugEvent2 pEvent
);

Parametri

pEvent
[in] Oggetto IDebugEvent2 che rappresenta l'evento sincrono inviato in precedenza da cui il debugger dovrebbe continuare.

Valore restituito

Se ha esito positivo, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Osservazioni:

L'oggetto DE deve verificare che sia l'origine dell'evento rappresentato dal pEvent parametro .

Esempio

Nell'esempio seguente viene illustrato come implementare questo metodo per un oggetto semplice CEngine che implementa l'interfaccia IDebugEngine2 .

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;
}

Vedi anche