gpt4 book ai didi

c++ - CoCreateInstance() 永不返回

转载 作者:搜寻专家 更新时间:2023-10-31 01:52:18 30 4
gpt4 key购买 nike

我有一个 DLL,我需要在其中调用 CoCreateInstance()。在 Dllmain() 中,我创建了一个新线程来运行我的函数 do_stuff()。 CoCreateInstance() 在 do_stuff() 中调用,如下所示。

BOOL WINAPI DllMain(HMODULE hModule, DWORD fdwReason, LPVOID lpvReserved) {
...
switch(fdwReason) {
case DLL_PROCESS_ATTACH:
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)do_stuff, NULL, 0, NULL);
...
break;
...
}
...
return TRUE;
}

DWORD WINAPI do_stuff(void) {
...
HRESULT hr = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (SUCCEEDED(hr)) {
hr = CoCreateInstance(rclsid, NULL, CLSCTX_LOCAL_SERVER, riid, ppv);
...

但是,CoCreateInstance() 挂起并且永远不会返回。我也尝试过使用 MULTITHREADED 选项,但无济于事。欢迎任何反馈或想法。

最佳答案

关于c++ - CoCreateInstance() 永不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12853684/

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