次の方法で共有


IDebugBreakpointBoundEvent2::EnumBoundBreakpoints

このイベントでバインドされたブレークポイントの列挙子を作成します。

構文

int EnumBoundBreakpoints( 
    out IEnumDebugBoundBreakpoints2 ppEnum
);

パラメーター

ppEnum
[出力] このイベントからバインドされたすべてのブレークポイントを列挙する IEnumDebugBoundBreakpoints2 オブジェクトを返します。

戻り値

正常に終了した場合は、S_OK を返します。 バインドされたブレークポイントがない場合は、S_FALSE を返します。それ以外の場合はエラー コードを返します。

解説

バインドされたブレークポイントの一覧は、このイベントにバインドされたブレークポイントのものであり、保留中のブレークポイントからバインドされたブレークポイントの一覧全体ではない可能性があります。 保留中のブレークポイントにバインドされたすべてのブレークポイントの一覧を取得するには、GetPendingBreakpoint メソッドを呼び出して関連付けられている IDebugPendingBreakpoint2 オブジェクトを取得してから、EnumBoundBreakpoints メソッドを呼び出して、保留中のブレークポイントのすべてのバインドされたブレークポイントを格納する IEnumDebugBoundBreakpoints2 オブジェクトを取得します。

次の例は、IDebugBreakpointBoundEvent2 インターフェイスを公開する CBreakpointSetDebugEventBase オブジェクトに対してこのメソッドを実装する方法を示しています。

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 );
}

関連項目