急!如何修改老版本ATL写出来的代码?

lsgt 2005-09-20 08:49:27
比如下面这样一个类,用ATL3.0该怎么写?

class CPDevIrpSink :
public CComConnectionPoint< CComStaticArrayCONNECTDATA <1> >
{
public:
CPDevIrpSink(IConnectionPointContainer* pCont) :
CComConnectionPoint< CComStaticArrayCONNECTDATA <1> >(pCont,
&IID_IPDevIrpSink)
{
}

public:
HRESULT ProcessIrp(CPDevIrp *pIrp, IPDevIrp *pIIrp)
{
Lock();
HRESULT hr = S_FALSE;
CONNECTDATA* pcd = m_vec.begin();
CONNECTDATA* pcdend = m_vec.end();
for (; pcd < pcdend && SUCCEEDED(hr); pcd++) {
if (pcd->pUnk != NULL) {
IPDevIrpSink* pIIrpSink = (IPDevIrpSink*)pcd->pUnk;
hr = pIIrpSink->ProcessIrp(pIIrp);
}
}
Unlock();
return hr;
}
};
...全文
77 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxyjyzxyjy 2005-09-20
  • 打赏
  • 举报
回复
老版本的ATL没用过,也不知它的实现,对连接点方面的自已手工加都是很方便的,建议你卖<<深入解析ATL>>这本书来看看(讲的是3.0),可能想怎样修改都行了。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧