Я думаю, что структура данных HCRYPTHASH
более гибкая, чем просто использование для вызова с CryptVerifySignature()
. Он предназначен для работы с (возможно, прерывистым) потоком данных (через CryptHashData()
), что означает, что он сохраняет некоторое состояние внутри него на текущих значениях хеша. Поэтому, как только вы используете его в потоке (даже частичном), состояние безвозвратно изменяется, поэтому вы не можете использовать его в другом потоке.
Полагаю, они могли бы предоставить reset
функцию для структуры HCRYPTHASH
... но они этого не сделали!