1

我有一个按钮,在那个按钮后面我创建了一个线程,

void FunctionCallingThreadFunction()
{
    AfxBeginThread(MyFunction, NULL);
}

在 MyFunction 我正在创建一个 COM 对象,但是当我创建它的实例时,null 被返回给我,

MyFunction(LPVOID pvParam)
{
    comObject.CreateInstance(__uuidof(ClassName), NULL, CLSCTX_INPROC_SERVER);
}

但是,如果我在原始函数中创建这个 comObject,它会创建得很好,

什么问题?,

4

2 回答 2

2

CoInitialize()在尝试创建实例之前,您需要调用每个线程。

于 2012-05-02T12:18:52.427 回答
2

您需要在每个使用 COM 的线程中调用CoInitializeEx 。

于 2012-05-02T12:19:33.223 回答