Udostępnij za pośrednictwem


IDebugBreakpointBoundEvent2::EnumBoundBreakpoints

Tworzy moduł wyliczający punktów przerwania powiązanych z tym zdarzeniem.

Składnia

int EnumBoundBreakpoints( 
    out IEnumDebugBoundBreakpoints2 ppEnum
);

Parametry

ppEnum
[out] Zwraca obiekt IEnumDebugBoundBreakpoints2 , który wylicza wszystkie punkty przerwania powiązane z tym zdarzeniem.

Wartość zwracana

Jeśli operacja powiedzie się, zwraca wartość S_OK. Zwraca wartość S_FALSE , jeśli nie ma powiązanych punktów przerwania; w przeciwnym razie zwraca kod błędu.

Uwagi

Lista powiązanych punktów przerwania dotyczy tych powiązanych z tym zdarzeniem i może nie być cała lista punktów przerwania powiązanych z oczekującym punktem przerwania. Aby uzyskać listę wszystkich punktów przerwania powiązanych z oczekującym punktem przerwania, wywołaj metodę GetPendingBreakpoint , aby uzyskać skojarzony obiekt IDebugPendingBreakpoint2 , a następnie wywołaj metodę EnumBoundBreakpoints , aby uzyskać obiekt IEnumDebugBoundBreakpoints2 zawierający wszystkie powiązane punkty przerwania dla oczekującego punktu przerwania.

Przykład

W poniższym przykładzie pokazano, jak zaimplementować tę metodę dla obiektu CBreakpointSetDebugEventBase , który uwidacznia interfejs IDebugBreakpointBoundEvent2 .

STDMETHODIMP CBreakpointSetDebugEventBase::EnumBoundBreakpoints(
    IEnumDebugBoundBreakpoints2 **ppEnum)
{
    HRESULT hRes = E_FAIL;

    if ( ppEnum )
    {
        if ( m_pEnumBound )
        {
            hRes = m_pEnumBound->Clone(ppEnum);

            if ( EVAL(S_OK == hRes) )
                (*ppEnum)->Reset();
        }
        else
            hRes = E_FAIL;
    }
    else
        hRes = E_INVALIDARG;

    return ( hRes );
}

Zobacz też