IDebugEventCallback2::Event
发送调试事件的通知。
语法
int Event(
IDebugEngine2 pEngine,
IDebugProcess2 pProcess,
IDebugProgram2 pProgram,
IDebugThread2 pThread,
IDebugEvent2 pEvent,
ref Guid riidEvent,
uint dwAttrib
);
参数
pEngine
[in]一个 IDebugEngine2 对象,该对象表示正在发送此事件的调试引擎 (DE)。 需要 DE 才能填写此参数。
pProcess
[in]一个 IDebugProcess2 对象,该对象表示事件发生的进程。 此参数由会话调试管理器(SDM)填充。 DE 始终传递此参数的 null 值。
pProgram
[in]一个 IDebugProgram2 对象,该对象表示发生此事件的程序。 对于大多数事件,此参数不是 null 值。
pThread
[in]一个 IDebugThread2 对象,该对象表示发生此事件的线程。 对于停止事件,此参数不能为 null 值,因为堆栈帧是从此参数获取的。
pEvent
[in]一个 表示调试事件的 IDebugEvent2 对象。
riidEvent
[in]用于标识要从参数获取的事件接口的 pEvent
GUID。
dwAttrib
[in]EVENTATTRIBUTES 枚举中的标志的组合。
返回值
如果成功,则返回 S_OK
;否则,返回错误代码。
备注
调用此方法时,参数dwAttrib
必须与 GetAttributes 方法返回的值匹配,如在参数中pEvent
传递的事件对象调用。
无论事件本身是否是异步的,所有调试事件都以异步方式发布。 当 DE 调用此方法时,返回值不指示是否已处理事件,仅指示是否收到该事件。 事实上,在大多数情况下,此方法返回时尚未处理该事件。