- if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, registry, 0, sam, &key) != ERROR_SUCCESS) {\r
+ long error = RegOpenKeyEx(HKEY_LOCAL_MACHINE, registry, 0, sam, &key);\r
+ if (error != ERROR_SUCCESS) {\r
+ if (error == ERROR_FILE_NOT_FOUND && ! must_exist) return 0;\r