急!如何修改老版本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;
}
};