2011-10-05 13 views
1

閱讀有關RegOpenKeyEx和RegCloseKey的Microsoft文檔如果RegOpenKeyEx失敗,我不確定是否需要調用close函數。如果RegOpenKeyEx不返回ERROR_SUCCESS我保證HKEY未打開?

請指點一個明確的來源,指出是否需要始終調用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

回答

2

RegOpenKeyEx只會返回一個有效的密鑰句柄,如果ERROR_SUCCESS是返回的值。這是調用者負責關閉密鑰的地方,否則不需要關閉,密鑰也不會打開。這是關於關閉打開的手柄的責任的假定協議,儘管RegOpenKeyEx function文檔中未明確提及。

這在API樣本中也是一致的。如果您在查看MSDN文章中的示例代碼之後無法確定,那麼這裏是另一個:http://msdn.microsoft.com/en-us/library/aa384182%28VS.85%29.aspx

+0

謝謝 - 我認爲這種情況,但我正在尋找一些明確的。如果沒有其他問題出現,我會將此答案標記爲已接受。 –

相關問題