IDebugPendingBreakpoint2::Delete
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
Deletes this pending breakpoint and all breakpoints bound from it.
Syntax
HRESULT Delete(
void
);
int Delete();
Return Value
If successful, returns S_OK
; otherwise, returns an error code. Returns E_BP_DELETED
if the breakpoint has been deleted.
Example
The following example shows how to implement this method for a simple CPendingBreakpoint
object that implements the IDebugPendingBreakpoint2 interface.
HRESULT CPendingBreakpoint::Delete(void)
{
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 pending breakpoint has bound and has an associated bound
// breakpoint, delete and release the bound breakpoint and set the
// pointer to NULL.
if (m_pBoundBP)
{
m_pBoundBP->Delete();
m_pBoundBP->Release();
m_pBoundBP = NULL;
}
// If the pending breakpoint did not bind and has an associated
// error breakpoint, release the error breakpoint and set the
// pointer to NULL.
if (m_pErrorBP)
{
m_pErrorBP->Release();
m_pErrorBP = NULL;
}
// Set the PENDING_BP_STATE in the PENDING_BP_STATE_INFO structure
// to deleted.
m_state.state = PBPS_DELETED;
}
else
{
hr = E_BP_DELETED;
}
return hr;
}