Author: hbelusca Date: Sat Dec 28 22:22:12 2013 New Revision: 61459
URL: http://svn.reactos.org/svn/reactos?rev=61459&view=rev Log: [NTVDM]: Don't display an error message if the VDD registry key (or value) just doesn't exist: it significates we just don't have any VDD to load... Thanks to Lee Schroeder and oldman on the forum for having detected this :)
Modified: branches/ntvdm/subsystems/ntvdm/vddsup.c
Modified: branches/ntvdm/subsystems/ntvdm/vddsup.c URL: http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/vddsup.c?... ============================================================================== --- branches/ntvdm/subsystems/ntvdm/vddsup.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/vddsup.c [iso-8859-1] Sat Dec 28 22:22:12 2013 @@ -251,13 +251,20 @@
HANDLE hVDD;
- /* Open the VDD registry key */ - if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, - VDDKeyName, - 0, - KEY_QUERY_VALUE, - &hVDDKey) != ERROR_SUCCESS) - { + /* Try to open the VDD registry key */ + Error = RegOpenKeyExW(HKEY_LOCAL_MACHINE, + VDDKeyName, + 0, + KEY_QUERY_VALUE, + &hVDDKey); + if (Error == ERROR_FILE_NOT_FOUND) + { + /* If the key just doesn't exist, don't do anything else */ + return TRUE; + } + else if (Error != ERROR_SUCCESS) + { + /* The key exists but there was an access error: display an error and quit */ DisplayMessage(ERROR_REGVDD); return FALSE; } @@ -272,8 +279,18 @@ &Type, NULL, &BufSize); - if (Error != ERROR_SUCCESS || Type != REG_MULTI_SZ) - { + if (Error == ERROR_FILE_NOT_FOUND) + { + /* If the value just doesn't exist, don't do anything else */ + Success = TRUE; + goto Quit; + } + else if (Error != ERROR_SUCCESS || Type != REG_MULTI_SZ) + { + /* + * The value exists but there was an access error or + * is of the wrong type: display an error and quit. + */ DisplayMessage(ERROR_REGVDD); Success = FALSE; goto Quit;