我试图用C编写简单的程序,它从Windows注册表中写入和读取某些内容。RegOpenKeyEx的返回值7意味着什么?
我很难猜到。是的,MSDN说我可以使用FormatMessage来检查它,但是它需要7个参数,我不知道如何使用它.(顺便说一下,这是多么糟糕的api设计)。
发布于 2015-03-16 00:50:39
RegOpenKeyEx还指出:
如果函数失败,则返回值是Winerror.h中定义的非零错误代码。
这些错误代码记录在MSDN -系统错误码页面中。如果你真的得到7,那么这个错误将对应于:
ERROR_ARENA_TRASHED 7 (0x7) 存储控制块被摧毁。
它的含义可能多种多样,从您的注册表被损坏,到一系列程序错误导致了看似奇怪的行为,或者简单地说,您得到了其他东西作为返回值,并且让人相信您正在得到7的结果。如果没有一个更完整的代码示例,很难冒险做任何更具体的事情。
P.S.:如果您试图在运行时获得错误的字符串表示,那么FormatMessage主要是方便的。如果是这样的话,您可以参考这个答案获得如何使用它的示例。
https://stackoverflow.com/questions/29064947
复制相似问题