CoInitializeEx 和 CoInitializeSecurity 失败

问题描述 投票:0回答:1

我有一个正在调用 C++ 方法的 C# 方法。 C++ 方法使用 WMI,因此在进行 WMI 选择之前它会调用

CoInitializeEx(0, COINIT_MULTITHREADED)
,然后调用
CoInitializeSecurity
等...。 我的问题,
CoInitializeEX
,如果失败并显示代码 2147417850 (
RPC_E_CHANGED_MODE
)

我尝试从 C# 创建一个新的 STA 线程,并从该线程调用 C++ 方法(并且我禁用了 Visual Studio 托管进程),

CoInitilalize
中不再出现错误,但
CoInitializeSecurity
中发生错误(2147417831,
 RPC_E_TOO_LATE
)。

纠正这一切的最佳解决方案是什么?

c++ com multithreading
1个回答
4
投票

我删除了两个电话,问题解决了。

© www.soinside.com 2019 - 2024. All rights reserved.