C++ 在线程中创建COM对象

C++ 在线程中创建COM对象,c++,multithreading,com,C++,Multithreading,Com,我有一个按钮,在按钮后面我创建了一个线程 void FunctionCallingThreadFunction() { AfxBeginThread(MyFunction, NULL); } 在MyFunction中,我正在创建一个COM对象,但当我创建它的实例时,null返回给我 MyFunction(LPVOID pvParam) { comObject.CreateInstance(__uuidof(ClassName), NULL, CLSCTX_INPROC_SERV

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

void FunctionCallingThreadFunction()
{
    AfxBeginThread(MyFunction, NULL);
}
在MyFunction中,我正在创建一个COM对象,但当我创建它的实例时,null返回给我

MyFunction(LPVOID pvParam)
{
    comObject.CreateInstance(__uuidof(ClassName), NULL, CLSCTX_INPROC_SERVER);
}
但如果我在原始函数中创建这个comObject,它就创建得很好


问题是什么?

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

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

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

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

我已经完成了CoInitializeNULL;但现在我在内存位置0x2321123处遇到另一个异常-com错误..,我已经完成了CoInitializeNULL;但现在我在内存位置0x2321123处遇到另一个异常-com错误..,我已经完成了CoInitializeNULL;但是现在我在memlory位置0x2321123处遇到另一个异常错误,@fhnaseer你在调用CreateInstance时得到了这个错误吗?我调试了它,现在我知道这个错误是一个被称为接口的应用程序,它是为不同的线程封送的,我想这是由于我的代码有些复杂,@fhnaseer这似乎是另一个问题;但是现在我在memlory位置0x2321123处遇到另一个异常错误,@fhnaseer你在调用CreateInstance时得到了这个错误吗?我调试了它,现在我知道这个错误是一个被称为接口的应用程序,它是为不同的线程封送的,我想这是由于我的代码有些复杂,@这似乎是另一个问题。