我有一个C ++模块,它以异步方式从WMI模块接收数据。但是如果你连续几次问他,我会收到这个错误,并且只在第一次通话时得到答案。我该如何解决这个问题?
Security must be initialized prior to the transmission or reception parameters.
Changes can not be made after the initialization.
答案 0 :(得分:1)
今天遇到这个问题。此错误消息表示已调用 CoInitializeSecurity (每个进程只应调用一次)。
我通过添加一个指示是否已调用 CoInitializeSecurity 的标志来修复它,当第一次调用 CoInitializeSecurity 时,通过检查标志来设置此标志后续的电话可以避免。
考虑多线程,您可能需要为此代码块添加一个独占锁。