我已将COM项目从VS2013迁移到VC2010然后遇到了一个问题。在VC10中,几个方法的签名被更改,因此生成的头文件与VC10兼容,但与VS13不兼容。
HRESULT(STDMETHODCALLTYPE * QueryInterface)(
IFileStr * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
在第三个参数中添加了“__RPC__deref_out”
和使用VS2013生成的那个就像,
HRESULT(STDMETHODCALLTYPE * QueryInterface)(
IFileStr * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */
__COM_Outptr void **ppvObject);
任何人都可以建议吗?