gpt4 book ai didi

com - 如何判断是否已经为进程调用了 CoInitializeSecurity?

转载 作者:行者123 更新时间:2023-12-05 00:01:05 25 4
gpt4 key购买 nike

有没有一种简单的方法可以判断 CoInitializeSecurity 是否已经被进程调用?

我需要调用 CoInitializeEx 并使用 COM 接口(interface),但有时调用代码(我无法控制)会先调用我,在它到达 CoInitializeSecurity 之前,在它的启动序列中,然后它失败了E_RPC_TOO_LATE。

我想做的是检测 CoInitializeSecurity 还没有被调用,并延迟一小段时间(大约十秒左右)直到调用者成功进入 CoInitializeSecurity,然后我继续转到 CoInitializeEx。

添加这个延迟很好地解决了这个问题,除了,我不喜欢在每次调用时都有延迟——只是在启动期间的第一个调用。因此,需要检测 CoInitializeSecurity 是否已被调用。

最佳答案

在找到更好的方法之前,我想出了一个解决方法:

在调用 CoInitializeEx 之前,我调用了 GetProcessTimes(GetCurrentProcess(), ...) 以查看自进程创建以来已经过了多长时间。如果还没有“够久”,我就睡会儿。这让我的调用者有公平的机会在我开始点击 COM 之前访问 CoInitializeSecurity。

关于com - 如何判断是否已经为进程调用了 CoInitializeSecurity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5506597/

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