Browse Source

Some notes on the environment and registry.

Documentation is good!
Iain Patterson 5 years ago
parent
commit
6456709797
2 changed files with 17 additions and 0 deletions
  1. 15 0
      env.cpp
  2. 2 0
      registry.cpp

+ 15 - 0
env.cpp

@@ -1,5 +1,20 @@
 #include "nssm.h"
 
+/*
+  Environment block is of the form:
+
+    KEY1=VALUE1 NULL
+    KEY2=VALUE2 NULL
+    NULL
+
+  A single variable KEY=VALUE has length 15:
+
+    KEY=VALUE (13) NULL (1)
+    NULL (1)
+
+  Environment variable names are case-insensitive!
+*/
+
 /* Find the length in characters of an environment block. */
 size_t environment_length(TCHAR *env) {
   size_t len = 0;

+ 2 - 0
registry.cpp

@@ -667,6 +667,7 @@ void override_milliseconds(TCHAR *service_name, HKEY key, TCHAR *value, unsigned
   if (! ok) *buffer = default_value;
 }
 
+/* Open the key of the service itself Services\<service_name>. */
 HKEY open_service_registry(const TCHAR *service_name, REGSAM sam, bool must_exist) {
   /* Get registry */
   TCHAR registry[KEY_LENGTH];
@@ -678,6 +679,7 @@ HKEY open_service_registry(const TCHAR *service_name, REGSAM sam, bool must_exis
   return open_registry_key(registry, sam, must_exist);
 }
 
+/* Open a subkey of the service Services\<service_name>\<sub>. */
 long open_registry(const TCHAR *service_name, const TCHAR *sub, REGSAM sam, HKEY *key, bool must_exist) {
   /* Get registry */
   TCHAR registry[KEY_LENGTH];