IDebugEventCallback2::Event
디버그 이벤트의 알림을 보냅니다.
구문
int Event(
IDebugEngine2 pEngine,
IDebugProcess2 pProcess,
IDebugProgram2 pProgram,
IDebugThread2 pThread,
IDebugEvent2 pEvent,
ref Guid riidEvent,
uint dwAttrib
);
매개 변수
pEngine
[in] 이 이벤트를 보내는 DE(디버그 엔진)를 나타내는 IDebugEngine2 개체입니다. 이 매개 변수를 입력하려면 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 열거형의 플래그 조합입니다.
Return Value
성공하면 S_OK
를 반환하고, 실패하면 오류 코드를 반환합니다.
설명
이 메서드를 호출할 때 dwAttrib
매개 변수는 pEvent
매개 변수에 전달된 이벤트 개체에 대해 호출된 GetAttributes 메서드에서 반환된 값과 일치해야 합니다.
모든 디버그 이벤트는 이벤트 자체가 비동기인지 여부에 관계없이 비동기적으로 게시됩니다. DE가 이 메서드를 호출할 때 반환 값은 이벤트가 처리되었는지 여부를 나타내지 않고 이벤트가 수신되었는지 여부만 나타냅니다. 실제로 대부분의 상황에서 이 메서드가 반환될 때 이벤트가 처리되지 않았습니다.