我一直在玩CryptoAPI
,一切都很好。
我已将.PFX
导入证书存储区,获得了上下文,得到了CSP
句柄。我一直在使用的每项功能都使用GetLastError
功能检查了错误。但是,当我使用CryptGetUserKey
,hCryptProv
和指向dwKeySpec
的三个参数调用UserKey
时,我收到了错误,但GetLastError
调用了2148073485
除了像{{1}}这样的随机值之外我没有给我看任何东西,这意味着什么都没有。
我怎样才能找出问题所在?
操作系统 - Windows 7 32b HP;
编程语言 - C ++;
IDE - MSVS2013 Ultimate。
答案 0 :(得分:1)
GetLastError调用没有向我显示除了2148073485之类的随机值,这意味着我没想到。
你永远失败了WINAPI。我用了五秒钟的时间来启动Calc.exe并将其转换为十六进制:8009000D
,看起来像一个完全有效的错误HRESULT。
让我们花一些时间来分析一下:
#define NTE_NO_KEY _HRESULT_TYPEDEF_(0x8009000DL)
在那里,你拥有它,它是你的错误:NTE_NO_KEY。