Я использую идентичный вызов "CryptUnprotectData" (выставленный из Crypt32.dll) между XP и Vista. Прекрасно работает в XP. Я получаю следующее исключение при запуске в Vista:
"Decryption failed. Key not valid for use in specified state."
Как и ожидалось, версии crypt32.dll различаются в XP и Vista (на самом деле более ранняя версия w / XP, возможно, в результате SP3 или другого обновления).
Точнее говоря, я шифрую данные, помещаю их в реестр, затем читаю и дешифрую, используя «CryptUnprotectData». UAC выключен.
Кто-нибудь видел это раньше?