+HKEY open_service_registry(const TCHAR *service_name, REGSAM sam, bool must_exist) {\r
+ /* Get registry */\r
+ TCHAR registry[KEY_LENGTH];\r
+ if (service_registry_path(service_name, false, 0, registry, _countof(registry)) < 0) {\r
+ log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, NSSM_REGISTRY, _T("open_service_registry()"), 0);\r
+ return 0;\r
+ }\r
+\r
+ return open_registry_key(registry, sam, must_exist);\r
+}\r
+\r
+HKEY open_registry(const TCHAR *service_name, const TCHAR *sub, REGSAM sam, bool must_exist) {\r
+ /* Get registry */\r
+ TCHAR registry[KEY_LENGTH];\r
+ if (service_registry_path(service_name, true, sub, registry, _countof(registry)) < 0) {\r
+ log_event(EVENTLOG_ERROR_TYPE, NSSM_EVENT_OUT_OF_MEMORY, NSSM_REGISTRY, _T("open_registry()"), 0);\r
+ return 0;\r
+ }\r
+\r
+ return open_registry_key(registry, sam, must_exist);\r
+}\r
+\r