Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Włącza lub wyłącza punkt przerwania.
Składnia
Parametry
fEnable
[in] Ustaw wartość niezerową (TRUE), aby włączyć lub zero (FALSE), aby wyłączyć punkt przerwania.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK; w przeciwnym razie zwraca kod błędu. Zwraca E_BP_DELETED wartość , jeśli stan obiektu powiązanego punktu przerwania jest ustawiony na BPS_DELETED (część wyliczenia BP_STATE ).
Przykład
W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla prostego CBoundBreakpoint obiektu, który uwidacznia interfejs IDebugBoundBreakpoint2 .
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;
}