在 COM+ 服务中,IComQCEvents 接口是用于处理 COM+ 组件队列 (Queued Components) 的相关事件的接口。以下是 IComQCEvents 接口的简要定义:
interface IComQCEvents : public IUnknown
{
public:
    virtual HRESULT STDMETHODCALLTYPE OnEnqueue( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE OnPeek( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE OnReceive( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE OnMoveToRetryQueue( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE OnMoveToDeadQueue( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
    
    virtual HRESULT STDMETHODCALLTYPE OnReceiveAbort( 
        /* [in] */ REFGUID guidQueueId,
        /* [in] */ REFGUID guidMsgId) = 0;
};

这个接口定义了一些方法,用于处理 COM+ 组件队列的不同事件:

  •  OnEnqueue: 在消息入队列时调用。

  •  OnPeek: 在消息被查看时调用。

  •  OnReceive: 在消息被接收时调用。

  •  OnMoveToRetryQueue: 在消息移动到重试队列时调用。

  •  OnMoveToDeadQueue: 在消息移动到死信队列时调用。

  •  OnReceiveAbort: 在接收消息中断时调用。


这些方法的参数包括队列的唯一标识符 guidQueueId 和消息的唯一标识符 guidMsgId。




转载请注明出处:http://www.zyzy.cn/article/detail/25058/Win32 API/Comsvcs.h/IComQCEvents