网狐棋牌QueueService

来源:互联网 发布:快餐软件首单 编辑:程序博客网 时间:2024/04/29 13:21

1.IQueueService,在SetQueueServiceSink函数中,设置IQueueServiceSink事件钩子。

2.IQueueServiceSink
通知回调函数
//////////////////////////////////////////////////////////////////////////
//函数名:OnQueueServiceSink
//WORD wIdentifier:事件数据标记
//void * pBuffer:数据指针
//WORD wDataSize:数据大小
//////////////////////////////////////////////////////////////////////////

3.CQueueServiceThread: public CWHThread
//配置函数
bool InitThread(HANDLE hCompletionPort);
//取消配置
bool UnInitThread();
//运行函数(此函数是运行在线程中)
virtual bool OnEventThreadRun();
从队列中取出一个事件包,然后处理OnQueueServiceThread

4.CQueueService:publicIQueueService
队列处理线程类
//开始服务
virtual bool StartService();
//停止服务
virtual bool ConcludeService();
//线程句柄
HANDLE GetThreadHandle();
//队列接口
//加入数据
virtual bool AddToQueue(WORD wIdentifier, void * const pBuffer, WORD wDataSize);
//设置接口
virtual bool SetQueueServiceSink(IUnknownEx * pIUnknownEx);
//负荷信息
virtual bool GetBurthenInfo(tagBurthenInfo & BurthenInfo);
//提取数据
bool GetData(tagDataHead & DataHead, void * pBuffer, WORD wBufferSize);
//数据消息
事件消息,主要由队列线程调用,内部调用OnQueueServiceSink
void OnQueueServiceThread(const tagDataHead & DataHead, void * pBuffer, WORD wDataSize);

类继承



原创粉丝点击