#define REGISTRY_H\r
\r
#define NSSM_REGISTRY _T("SYSTEM\\CurrentControlSet\\Services\\%s\\Parameters")\r
+#define NSSM_REGISTRY_GROUPS _T("SYSTEM\\CurrentControlSet\\Control\\ServiceGroupOrder")\r
+#define NSSM_REG_GROUPS _T("List")\r
#define NSSM_REG_EXE _T("Application")\r
#define NSSM_REG_FLAGS _T("AppParameters")\r
#define NSSM_REG_DIR _T("AppDirectory")\r
#define NSSM_REG_KILL_CONSOLE_GRACE_PERIOD _T("AppStopMethodConsole")\r
#define NSSM_REG_KILL_WINDOW_GRACE_PERIOD _T("AppStopMethodWindow")\r
#define NSSM_REG_KILL_THREADS_GRACE_PERIOD _T("AppStopMethodThreads")\r
+#define NSSM_REG_KILL_PROCESS_TREE _T("AppKillProcessTree")\r
#define NSSM_REG_STDIN _T("AppStdin")\r
#define NSSM_REG_STDOUT _T("AppStdout")\r
#define NSSM_REG_STDERR _T("AppStderr")\r
#define NSSM_REG_ROTATE_BYTES_HIGH _T("AppRotateBytesHigh")\r
#define NSSM_REG_PRIORITY _T("AppPriority")\r
#define NSSM_REG_AFFINITY _T("AppAffinity")\r
+#define NSSM_REG_NO_CONSOLE _T("AppNoConsole")\r
#define NSSM_STDIO_LENGTH 29\r
\r
HKEY open_registry(const TCHAR *, const TCHAR *, REGSAM sam);\r
int create_messages();\r
int create_parameters(nssm_service_t *, bool);\r
int create_exit_action(TCHAR *, const TCHAR *, bool);\r
-int set_environment(TCHAR *, HKEY, TCHAR *, TCHAR **, unsigned long *);\r
-int format_environment(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
-int unformat_environment(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
+int get_environment(TCHAR *, HKEY, TCHAR *, TCHAR **, unsigned long *);\r
+int get_string(HKEY, TCHAR *, TCHAR *, unsigned long, bool, bool, bool);\r
+int get_string(HKEY, TCHAR *, TCHAR *, unsigned long, bool);\r
int expand_parameter(HKEY, TCHAR *, TCHAR *, unsigned long, bool, bool);\r
int expand_parameter(HKEY, TCHAR *, TCHAR *, unsigned long, bool);\r
+int set_string(HKEY, TCHAR *, TCHAR *, bool);\r
+int set_string(HKEY, TCHAR *, TCHAR *);\r
int set_expand_string(HKEY, TCHAR *, TCHAR *);\r
int set_number(HKEY, TCHAR *, unsigned long);\r
int get_number(HKEY, TCHAR *, unsigned long *, bool);\r
int get_number(HKEY, TCHAR *, unsigned long *);\r
+int format_double_null(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
+int unformat_double_null(TCHAR *, unsigned long, TCHAR **, unsigned long *);\r
void override_milliseconds(TCHAR *, HKEY, TCHAR *, unsigned long *, unsigned long, unsigned long);\r
+int get_io_parameters(nssm_service_t *, HKEY);\r
int get_parameters(nssm_service_t *, STARTUPINFO *);\r
int get_exit_action(const TCHAR *, unsigned long *, TCHAR *, bool *);\r
\r