IDebugPendingBreakpoint2::Virtualize
Alterna o estado virtualizado desse ponto de interrupção pendente. Quando um ponto de interrupção pendente é virtualizado, o mecanismo de depuração tentará vinculá-lo sempre que um novo código for carregado no programa.
Sintaxe
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
Parâmetros
fVirtualize
[em] Defina como diferente de zero () para virtualizar o ponto de interrupção pendente ou como zero (TRUE
FALSE
) para desativar a virtualização.
Valor de retorno
Se tiver êxito, retornará S_OK
. Caso contrário, retornará um código de erro. Retorna E_BP_DELETED
se o ponto de interrupção tiver sido excluído.
Comentários
Um ponto de interrupção virtualizado é vinculado sempre que o código é carregado.
Exemplo
O exemplo a seguir mostra como implementar esse método para um objeto simples CPendingBreakpoint
que expõe a 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;
}