通常要创建COM接口(interface),应该在IDL文件中声明它。在我从事的项目中,我在C++的* .h文件中声明了一个COM接口(interface):
struct DECLSPEC_UUID("A67177F7-A4DD-4A80-8EE1-25CF12172068") ISomeService : public IUnknown
{
virtual ~ISomeService() {}
virtual HRESULT Initialize(const Settings& settings) = 0;
// ...
};
此外,Initialize方法采用包含std::string字段的结构作为其参数。
相应的COM类在C++中实现,并且从另一个C++模块中使用。
直到我在AppVerifier下运行代码,此方法才能正常工作。这将导致发生访问冲突异常。
所以我的问题是
最佳答案
关于c++ - 用C++声明的COM接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10883150/