IDebugPendingBreakpoint2::Enable
Переключает состояние включено ожидающей точки останова.
Синтаксис
Параметры
fEnable
[in] Установите значение nonzero (TRUE
), чтобы включить ожидающая точка останова или нулевая (FALSE
) для отключения.
Возвращаемое значение
В случае успешного выполнения возвращается S_OK
; в противном случае возвращается код ошибки. Возвращает, E_BP_DELETED
если точка останова удалена.
Замечания
Если ожидающая точка останова включена или отключена, все точки останова, привязанные к нему, устанавливаются в одно и то же состояние.
Этот метод может вызываться столько раз, сколько необходимо, даже если точка останова уже включена или отключена.
Пример
В следующем примере показано, как реализовать этот метод для простого CPendingBreakpoint
объекта, предоставляющего интерфейс IDebugPendingBreakpoint2 .
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;
}