IDebugBoundBreakpoint2::EnableIDebugBoundBreakpoint2::Enable

Habilita ou desabilita o ponto de interrupção.Enables or disables the breakpoint.

SintaxeSyntax

HRESULT Enable(   
   BOOL fEnable  
);  
int Enable(   
   int fEnable  
);  

ParâmetrosParameters

fEnable
[in] Definir como diferente de zero (TRUE) para ativar ou zero (FALSE) para desabilitar o ponto de interrupção.[in] Set to non-zero (TRUE) to enable or to zero (FALSE) to disable the breakpoint.

Valor de retornoReturn Value

Se for bem-sucedido, retorna S_OK; caso contrário, retorna um código de erro.If successful, returns S_OK; otherwise, returns an error code. Retorna E_BP_DELETED se o estado do objeto de ponto de interrupção associado é definido como BPS_DELETED (parte do BP_STATE enumeração).Returns E_BP_DELETED if the state of the bound breakpoint object is set to BPS_DELETED (part of the BP_STATE enumeration).

ExemploExample

O exemplo a seguir mostra como implementar esse método para um simples CBoundBreakpoint objeto que expõe o IDebugBoundBreakpoint2 interface.The following example shows how to implement this method for a simple CBoundBreakpoint object that exposes the IDebugBoundBreakpoint2 interface.

HRESULT CBoundBreakpoint::Enable(BOOL fEnable)    
{    
   HRESULT hr;    

   // Verify that the bound breakpoint has not been deleted. If deleted,   
   // then return hr = E_BP_DELETED.    
   if (m_state != BPS_DELETED)    
   {    
      // Check the state of the bound breakpoint. If the breakpoint is  
      // supposed to be, but has not already been, enabled, then have the  
      // interpreter set the breakpoint.    
      if (fEnable && m_state != BPS_ENABLED)    
      {    
         hr = m_pInterp->SetBreakpoint(m_sbstrDoc, this);    
         if (hr == S_OK)    
         {    
            // Change the state of the breakpoint to BPS_ENABLED.    
            m_state = BPS_ENABLED;    
         }    
      }    
      // Check the state of the bound breakpoint. If the breakpoint is   
      // supposed to be, but has not already been, disabled, then have the   
      // interpreter remove the breakpoint.    
      else if (!fEnable && m_state != BPS_DISABLED)    
      {    
         hr = m_pInterp->RemoveBreakpoint(m_sbstrDoc, this);    
         if (hr == S_OK)    
         {    
            // Change the state of the breakpoint to BPS_DISABLED.    
            m_state = BPS_DISABLED;    
         }    
      }    
      else    
      {    
         hr = S_FALSE;    
      }    
   }    
   else    
   {    
      hr = E_BP_DELETED;    
   }    

   return hr;    
}    

Consulte tambémSee Also

IDebugBoundBreakpoint2 IDebugBoundBreakpoint2
BP_STATEBP_STATE