Share via


IDebugEventCallback2::Event

Applies to: yesVisual Studio noVisual 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

Sends notification of debug events.

Syntax

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 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