COM 是 WTL 的必要条件吗?
Is COM a requirement for WTL?
在每个WTL例子中,CoInitialize
作为WinMain
的第一个函数被调用。我知道WTL是基于ATL的,它与COM密切相关,但在我看来,一个WTL程序很容易不使用任何COM代码(不是吗?)。
更让人困惑的是,ATL有类如CComCriticalSection
,尽管名字叫
,但与COM无关。
所以我的问题是:即使没有显式使用 COM,是否有必要在 WTL 程序中调用 CoInitialize
?
不,CoInitialize
不是 WTL 应用程序的要求。许多 WTL 类 与 COM 无关。正如您所提到的,从历史上看,WTL 与 ATL 紧密相连,而 ATL 又是 COM 开发的主要框架,COM 初始化是一个自然的步骤,因为应用程序可能无论如何都要用 COM 做一些事情。
在每个WTL例子中,CoInitialize
作为WinMain
的第一个函数被调用。我知道WTL是基于ATL的,它与COM密切相关,但在我看来,一个WTL程序很容易不使用任何COM代码(不是吗?)。
更让人困惑的是,ATL有类如CComCriticalSection
,尽管名字叫
所以我的问题是:即使没有显式使用 COM,是否有必要在 WTL 程序中调用 CoInitialize
?
不,CoInitialize
不是 WTL 应用程序的要求。许多 WTL 类 与 COM 无关。正如您所提到的,从历史上看,WTL 与 ATL 紧密相连,而 ATL 又是 COM 开发的主要框架,COM 初始化是一个自然的步骤,因为应用程序可能无论如何都要用 COM 做一些事情。