Re: Microsoft has done it again...
That code uses the internal details of the ATL implemenation
in ATL 3.0 shipped with VC6. You'll need to modify it in
order to make it work with VC8. Read the source code of
CComDynamicUnkArray in ATL 8.0.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://vcfaq.mvps.org
=====================================
"John" <John@discussions.microsoft.com> wrote in message
news:B4021B1B-A65C-4845-AECB-86213C5F2E01@microsoft.com...
I have implemented firing across COM apartments using ATLCPImplMT.h
(KB Article: http://support.microsoft.com/kb/280512)
Now when I compile the project the following errors and warnings are
displayed when compiling the ATLCPImplMT.h header file;
error C2352: 'ATL::CComDynamicUnkArray::GetCookie' : illegal call of
non-static member function;
pend->dwCookie = _CDV::GetCookie(reinterpret_cast<IUnknown **>pDWCookie));
error C2352: 'ATL::CComDynamicUnkArray::GetUnknown' : illegal call of
non-static member function;
DWORD dwGITCookie = (DWORD)_CDV::GetUnknown(dwCookie);
warning C4311: 'type cast' : pointer truncation from 'IUnknown *' to
'DWORD';
DWORD dwGITCookie = (DWORD)(m_vec.GetAt(nConnectionIndex));
warning C4312: 'reinterpret_cast' : conversion from 'DWORD' to 'IUnknown
*'
of greater size
*pdwCookie = m_vec.Add(reinterpret_cast<IUnknown *>(dwGITCookie));
This compile cleanly, does anyone have any suggestions on how to resolve
the
compilation issues?