在每个 WTL 示例中, CoInitialize 被称为 WinMain 的第一个函数。我知道 WTL 是基于 ATL 的,它与 COM 密切相关,但在我看来,WTL 程序很容易不使用任何 COM 代码(不是吗?)。

更令人困惑的是,ATL 具有诸如 CComCriticalSection 之类的类,尽管名称与 COM 无关。

所以我的问题是:是否有必要在 WTL 程序中调用 CoInitialize,即使没有明确使用 COM?

最佳答案

不,CoInitialize 不是 WTL 应用程序的要求。许多 WTL 类与 COM 无关。从历史上看,正如您所提到的,WTL 与 ATL 紧密相连,而 ATL 又是 COM 开发的主要框架,并且 COM 初始化是一个自然的步骤,因为无论如何应用程序都可能对 COM 执行某些操作。

关于winapi - COM 是 WTL 的要求吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29121832/

10-12 01:19
查看更多