IDebugPendingBreakpoint2::Enable
Alterna o estado habilitado do ponto de interrupção pendente.
HRESULT Enable(
BOOL fEnable
);
int Enable(
int fEnable
);
Parâmetros
- fEnable
[in] Definir como diferente de zero (TRUE) para permitir que um ponto de interrupção pendente ou a zero (FALSE) para desativar.
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
Quando um ponto de interrupção pendente é habilitado ou desabilitado, todos os pontos de interrupção acoplados a partir dele são definidos no mesmo estado.
Esse método pode ser chamado quantas vezes for necessário, mesmo se o ponto de interrupção já está ativado ou desativado.
Exemplo
O exemplo a seguir mostra como implementar este método para um simples CPendingBreakpoint objeto que expõe a IDebugPendingBreakpoint2 interface.
HRESULT CPendingBreakpoint::Enable(BOOL fEnable)
{
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 the bound breakpoint member variable is valid, then enable or
// disable the bound breakpoint.
if (m_pBoundBP)
{
m_pBoundBP->Enable(fEnable);
}
// Set the PENDING_BP_STATE in the PENDING_BP_STATE_INFO structure
// to enabled or disabled depending on the passed BOOL condition.
m_state.state = fEnable ? PBPS_ENABLED : PBPS_DISABLED;
hr = S_OK;
}
else
{
hr = E_BP_DELETED;
}
return hr;
}