IDebugPendingBreakpoint2::Virtualize
Przełącza zwirtualizowany stan tego oczekującego punktu przerwania. Gdy oczekujący punkt przerwania zostanie zwirtualizowany, aparat debugowania podejmie próbę powiązania go za każdym razem, gdy nowy kod zostanie załadowany do programu.
Składnia
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
Parametry
fVirtualize
[in] Ustaw wartość nonzero (TRUE
), aby zwirtualizować oczekujący punkt przerwania lub zero (FALSE
), aby wyłączyć wirtualizację.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca wartość S_OK
; w przeciwnym razie zwraca kod błędu. Zwraca wartość E_BP_DELETED
, jeśli punkt przerwania został usunięty.
Uwagi
Zwirtualizowany punkt przerwania jest powiązany za każdym razem, gdy jest ładowany kod.
Przykład
W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla prostego CPendingBreakpoint
obiektu, który uwidacznia interfejs 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;
}