Share via


IDebugPendingBreakpoint2::Virtualize

Bascule l’état virtualisé de ce point d’arrêt en attente. Lorsqu’un point d’arrêt en attente est virtualisé, le moteur de débogage tente de le lier chaque fois que le nouveau code se charge dans le programme.

Syntaxe

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

Paramètres

fVirtualize
[in] Défini sur différent de zéro (TRUE) pour virtualiser le point d’arrêt en attente, ou sur zéro (FALSE) pour désactiver la virtualisation.

Valeur de retour

En cas de réussite, retourne S_OK , sinon, retourne un code d'erreur. Retourne E_BP_DELETED si le point d’arrêt a été supprimé.

Notes

Un point d’arrêt virtualisé est lié chaque fois que le code est chargé.

Exemple

L’exemple suivant montre comment implémenter cette méthode pour un objet simple CPendingBreakpoint qui expose l’interface IDebugPendingBreakpoint2 .

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

Voir aussi