IDebugPendingBreakpoint2::Virtualize
Alterna o estado virtualizado isso pendentes do ponto de interrupção. Quando um ponto de interrupção pendente é virtualizado, o mecanismo de depuração tentará acoplá-lo sempre que o novo código é carregado no programa.
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
Parâmetros
- fVirtualize
[in] Definir como diferente de zero (TRUE) para virtualizar o ponto de interrupção pendente ou a zero (FALSE) para desativar a virtualização.
Valor de retorno
Se bem-sucedida, retorna S_OK; Caso contrário, retorna um código de erro. Retorna E_BP_DELETED se o ponto de interrupção foi 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 este método para um simples CPendingBreakpoint objeto que expõe a IDebugPendingBreakpoint2 interface.
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;
}