IDebugPendingBreakpoint2::Virtualize
切換這個暫止斷點的虛擬化狀態。 當暫止斷點虛擬化時,偵錯引擎會在每次新程式代碼載入程式時嘗試繫結它。
語法
HRESULT Virtualize(
BOOL fVirtualize
);
int Virtualize(
int fVirtualize
);
參數
fVirtualize
[in]設定為非零 (TRUE
) 以虛擬化暫止的斷點,或設定為零 (FALSE
) 以關閉虛擬化。
傳回值
如果成功,則會傳回 S_OK
;否則,會傳回錯誤碼。 如果斷點已刪除,則傳 E_BP_DELETED
回 。
備註
每次載入程式代碼時,都會系結虛擬化斷點。
範例
下列範例示範如何為公開IDebugPendingBreakpoint2 介面的簡單CPendingBreakpoint
物件實作這個方法。
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;
}