IDebugPendingBreakpoint2::Virtualize
Schaltet den virtualisierten Zustand dieses ausstehenden Haltepunkts um. Wenn ein ausstehender Haltepunkt virtualisiert wird, versucht das Debugmodul, es jedes Mal zu binden, wenn neuer Code in das Programm geladen wird.
Syntax
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
Parameter
fVirtualize
[in] Legen Sie auf "nonzero (TRUE
) fest, um den ausstehenden Haltepunkt zu virtualisieren, oder auf Null (FALSE
), um die Virtualisierung zu deaktivieren.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK
, andernfalls ein Fehlercode zurückgegeben. Gibt zurück E_BP_DELETED
, wenn der Haltepunkt gelöscht wurde.
Hinweise
Ein virtualisierter Haltepunkt ist jedes Mal gebunden, wenn Code geladen wird.
Beispiel
Das folgende Beispiel zeigt, wie Sie diese Methode für ein einfaches CPendingBreakpoint
Objekt implementieren, das die IDebugPendingBreakpoint2-Schnittstelle verfügbar macht.
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;
}