阅读RegOpenKeyEx和RegCloseKey上的Microsoft文档我不确定如果RegOpenKeyEx失败我是否需要调用close函数。
请指出一个明确的来源,说明我是否需要始终调用RegCloseKey,或者只有在RegOpenKeyEx返回ERROR_SUCCESS时才需要调用它。
参考文献:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724897%28v=vs.85%29.aspx
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724837%28v=vs.85%29.aspx
答案 0 :(得分:2)
RegOpenKeyEx
是返回值, ERROR_SUCCESS
将仅返回有效的键句柄。这是调用者负责关闭密钥的地方,否则不需要关闭并且不打开密钥。虽然未在RegOpenKeyEx function文档中明确提及,但这是关于关闭已打开句柄的责任的假定协议。
这在API样本中也是一致的。如果您在检查MSDN文章中的示例代码后不确定,请执行以下操作:http://msdn.microsoft.com/en-us/library/aa384182%28VS.85%29.aspx
答案 1 :(得分:1)
我认为如果你看一下你的参考链接下面列出的例子,你可以看到它没有调用RegCloseKey,如果lResult没有返回ERROR_SUCCESS
这是它的链接:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724235(v=vs.85).aspx