gpt4 book ai didi

c++ - 为什么 COM 类需要构造函数?如何在不注册的情况下使用 COM 类?

转载 作者:行者123 更新时间:2023-11-30 02:04:54 25 4
gpt4 key购买 nike

我正在研究来自 Windows SDK 的 DirectShow 样本。许多类都具有非默认构造函数。如何调用这些构造函数?谁提供论据?

我可以在不注册的情况下在 C++ 程序中使用这些类吗?如果是这样,我可以直接使用类构造函数。

如果我在没有注册的情况下使用 COM 类,下面的代码片段会发生什么:

Foo * foo = new Foo(.....); // note, not using CoCreateInstance
Bar * bar = foo->QueryInterface(...);
bar->Release();
delete foo; // CRASH?

谢谢!

最佳答案

它与 COM 无关,它只是以这种方式构建的框架,并且 DirectShow BaseClasses 中的构造函数参数对于将所有内容组合在一起是必需的 - 类、祖先、实例化工厂。

在不注册的情况下使用 COM 类可能可行也可能不可行。我怀疑您可能有兴趣使用不注册的 DirectShow 过滤器,并且有一篇关于该主题的好文章:Using Filters Without Registration .

关于c++ - 为什么 COM 类需要构造函数?如何在不注册的情况下使用 COM 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045465/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com