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