C++ COM组件Event派发

调用IDispEventImpl和SINK_ENTRY_EX进行事件接受的时候,为什么一直都收不到0x60020002的消息?
tli文件是有如下的
inline HRESULT ISchedulerEvents::OnTestMessage ( long messageType, struct ITestMessage * messageData ) {
return _com_dispatch_method(this, 0x60020002, DISPATCH_METHOD, VT_EMPTY, NULL,
L"\x0003\x0009", messageType, messageData);
事件代码如下
#import .....tlb no_namespace named_guids
class EventReceiver :

public IDispEventImpl EventReceiver,
&DIID_ISchedulerEvents,
&LIBID_RScheduler,
5, 600>
{

public:

STDMETHOD (OnDebugMessage)(BSTR strWin, BSTR strText, int traceLevel, bool NoEndOfLine);
STDMETHOD (OnTestMessage)(long messageType, struct ITestMessage * messageData);

BEGIN_SINK_MAP(EventReceiver)  
      SINK_ENTRY_EX(0, DIID_ISchedulerEvents, 0x60020000, OnDebugMessage) 
      SINK_ENTRY_EX(0, DIID_ISchedulerEvents, 0x60020002, OnTestMessage)
END_SINK_MAP() 

有没有地方对应的触发事件,fire_event