IDebugEventCallback2::Event

Sends notification of debug events.

HRESULT Event( 
   IDebugEngine2*  pEngine,
   IDebugProcess2* pProcess,
   IDebugProgram2* pProgram,
   IDebugThread2*  pThread,
   IDebugEvent2*   pEvent,
   REFIID          riidEvent,
   DWORD           dwAttrib
);
int Event( 
   IDebugEngine2  pEngine,
   IDebugProcess2 pProcess,
   IDebugProgram2 pProgram,
   IDebugThread2  pThread,
   IDebugEvent2   pEvent,
   ref Guid       riidEvent,
   uint           dwAttrib
);

Parameters

  • pEngine
    [in] An IDebugEngine2 object that represents the debug engine (DE) that is sending this event. A DE is required to fill out this parameter.

  • pProcess
    [in] An IDebugProcess2 object that represents the process in which the event occurs. This parameter is filled in by the session debug manager (SDM). A DE always passes a null value for this parameter.

  • pProgram
    [in] An IDebugProgram2 object that represents the program in which this event occurs. For most events, this parameter is not a null value.

  • pThread
    [in] An IDebugThread2 object that represents the thread in which this event occurs. For stopping events, this parameter cannot be a null value as the stack frame is obtained from this parameter.

  • pEvent
    [in] An IDebugEvent2 object that represents the debug event.

  • riidEvent
    [in] GUID that identifies which event interface to obtain from the pEvent parameter.

  • dwAttrib
    [in] A combination of flags from the EVENTATTRIBUTES enumeration.

Return Value

If successful, returns S_OK; otherwise, returns an error code.

Remarks

When calling this method, the dwAttrib parameter must match the value returned from the IDebugEvent2::GetAttributes method as called on the event object passed in the pEvent parameter.

All debug events are posted asynchronously, regardless of whether an event itself is asynchronous or not. When a DE calls this method, the return value does not indicate whether the event was processed, only whether the event was received. In fact, under most circumstances, the event has not been processed when this method returns.

See Also

Reference

IDebugEventCallback2

IDebugEngine2

IDebugProcess2

IDebugProgram2

IDebugThread2

IDebugEvent2

EVENTATTRIBUTES