Moved config parameters to HKCU\Software\Wine\DirectSound.

diff --git a/dlls/dsound/dsound_main.c b/dlls/dsound/dsound_main.c
index ab1c72a..b02d62a 100644
--- a/dlls/dsound/dsound_main.c
+++ b/dlls/dsound/dsound_main.c
@@ -116,7 +116,8 @@
                                     char *buffer, DWORD size )
 {
     if (appkey && !RegQueryValueExA( appkey, name, 0, NULL, buffer, &size )) return 0;
-    return RegQueryValueExA( defkey, name, 0, NULL, buffer, &size );
+    if (defkey && !RegQueryValueExA( defkey, name, 0, NULL, buffer, &size )) return 0;
+    return ERROR_FILE_NOT_FOUND;
 }
 
 
@@ -126,38 +127,29 @@
 
 void setup_dsound_options(void)
 {
-    char buffer[MAX_PATH+1];
+    char buffer[MAX_PATH+16];
     HKEY hkey, appkey = 0;
     DWORD len;
 
     buffer[MAX_PATH]='\0';
 
-    /* @@ Wine registry key: HKLM\Software\Wine\Wine\Config\dsound */
-    if (RegCreateKeyExA( HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\dsound", 0, NULL,
-                         REG_OPTION_VOLATILE, KEY_ALL_ACCESS, NULL, &hkey, NULL ))
-    {
-        ERR("Cannot create config registry key\n" );
-        ExitProcess(1);
-    }
+    /* @@ Wine registry key: HKCU\Software\Wine\DirectSound */
+    if (RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\DirectSound", &hkey )) hkey = 0;
 
     len = GetModuleFileNameA( 0, buffer, MAX_PATH );
     if (len && len < MAX_PATH)
     {
         HKEY tmpkey;
-
-        /* @@ Wine registry key: HKLM\Software\Wine\Wine\Config\AppDefaults\app.exe\dsound */
-        if (!RegOpenKeyA( HKEY_LOCAL_MACHINE, "Software\\Wine\\Wine\\Config\\AppDefaults", &tmpkey ))
+        /* @@ Wine registry key: HKCU\Software\Wine\AppDefaults\app.exe\DirectSound */
+        if (!RegOpenKeyA( HKEY_CURRENT_USER, "Software\\Wine\\AppDefaults", &tmpkey ))
         {
-           char appname[MAX_PATH+16];
-           char *p = strrchr( buffer, '\\' );
-           if (p!=NULL) {
-                   lstrcpynA(appname,p+1,MAX_PATH);
-                   strcat(appname,"\\dsound");
-                   TRACE("appname = [%s] \n",appname);
-                   if (RegOpenKeyA( tmpkey, appname, &appkey ))
-                       appkey = 0;
-                   RegCloseKey( tmpkey );
-           }
+            char *p, *appname = buffer;
+            if ((p = strrchr( appname, '/' ))) appname = p + 1;
+            if ((p = strrchr( appname, '\\' ))) appname = p + 1;
+            strcat( appname, "\\DirectSound" );
+            TRACE("appname = [%s] \n",appname);
+            if (RegOpenKeyA( tmpkey, appname, &appkey )) appkey = 0;
+            RegCloseKey( tmpkey );
         }
     }
 
@@ -196,7 +188,7 @@
 	    ds_default_capture = atoi(buffer);
 
     if (appkey) RegCloseKey( appkey );
-    RegCloseKey( hkey );
+    if (hkey) RegCloseKey( hkey );
 
     if (ds_emuldriver != DS_EMULDRIVER )
        WARN("ds_emuldriver = %d (default=%d)\n",ds_emuldriver, DS_EMULDRIVER);