用ATL实现在COM接口中返回另一个COM类的接口

用ATL实现很简单

 

  1. HRESULT Method(IInterface **ppInterface)
  2. {
  3.     *ppInterace = new CComObject<CInterfaceImpl>;
  4.     return S_OK;
  5. }

如果 IInterface 不想让调用者通过 CoCreateInstance等函数创建,而只是想通过自己的接口生成的话,可以在COM类头文件的最后将 OBJECT_ENTRY_AUTO 替换成OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO

你可能感兴趣的:(用ATL实现在COM接口中返回另一个COM类的接口)