CryptGetProvParam和多线程程序

时间:2017-04-30 21:40:48

标签: windows security cryptoapi

CryptGetProvParam的MSDN文档说

不得在多线程程序的线程上使用此函数。

我希望有一些条件可以以这种方式使用它。有没有人有这个领域的经验,可以告诉我一个解决方法吗?

感谢。

1 个答案:

答案 0 :(得分:2)

一些MSDN文档是由实习生编写的,质量并不总是很好。他们显然是在讨论与多个线程同时调用此函数相关的问题,而不仅仅是在这个过程中有多个线程。

如果您查看某些查询值以及API的设计方式,应该很容易发现不能使用多个线程的查询。使用C:\TFTP / CRYPT_FIRSTNEXT)的任何内容都必须依赖某个内部状态来记住“它在哪里”。这些查询在其描述中也有线程警告。

这并不意味着其他查询是线程安全的,但我会想象它们是。您可以调试这些功能,但事情可能会随着时间/版本的变化而变化,加密系统的某些部分也是可扩展的,因此如果没有Microsoft的官方信息,您将永远无法真正了解。您可以向MSDN页面添加反馈,并希望他们更新它。