Sdílet prostřednictvím


IDebugPendingBreakpoint2::Virtualize

Přepíná virtualizovaný stav této čekající zarážky. Při virtualizaci čekající zarážky se ladicí modul pokusí vytvořit vazbu pokaždé, když se do programu načte nový kód.

Syntaxe

HRESULT Virtualize(
    BOOL fVirtualize
);
int Virtualize(
    int fVirtualize
);

Parametry

fVirtualize
[v] Nastavte na nenulovou (TRUE) pro virtualizaci čekající zarážky nebo na nulu (FALSE) a vypněte virtualizaci.

Vrácená hodnota

V případě úspěchu vrátí hodnotu S_OK; v opačném případě vrátí kód chyby. Vrátí E_BP_DELETED , pokud byla zarážka odstraněna.

Poznámky

Virtualizovaná zarážka je vázána při každém načtení kódu.

Příklad

Následující příklad ukazuje, jak implementovat tuto metodu pro jednoduchý CPendingBreakpoint objekt, který zveřejňuje IDebugPendingBreakpoint2 rozhraní.

HRESULT CPendingBreakpoint::Virtualize(BOOL fVirtualize)
{
    HRESULT hr;

    // Verify that the pending breakpoint has not been deleted. If deleted,
    // then return hr = E_BP_DELETED.
    if (m_state.state != PBPS_DELETED)
    {
        if (fVirtualize)
        {
            // Set the PBPSF_VIRTUALIZED flag in the PENDING_BP_STATE_FLAGS
            // structure.
            SetFlag(m_state.flags, PBPSF_VIRTUALIZED);
        }
        else
        {
            // Clear the PBPSF_VIRTUALIZED flag in the PENDING_BP_STATE_FLAGS
            // structure.
            ClearFlag(m_state.flags, PBPSF_VIRTUALIZED);
        }
        hr = S_OK;
    }
    else
    {
        hr = E_BP_DELETED;
    }

    return hr;
}

Viz také