I am trying to build a project in VC++2008 and it is giving the following error:
error C2664: \'HRESULT ATL::CComVariant::ReadFromStream
(IStream *,VARTYPE,ATL::
This is an error that stems from a bug in the VS2008 Service Pack 1 installation. I had the same problem.
A workaround for me was to reinstall VS 2008 (setup option "repair/clean new install") and then immediately install SP1.
The bug occurs if a Windows SDK is installed between the installation of VS2008 and SP1. In this case, the VS2008 SP1 installation updates the file atlcom.h
, but fails to update its included file atlcomcli.h
accordingly, thus ClassesAllowedInStream
is undefined.
See the discussions on MSDN Social and in this mailing list.