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.