[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 :)

svn path=/branches/ntvdm/; revision=61459
This commit is contained in:
Hermès Bélusca-Maïto 2013-12-28 22:22:12 +00:00
parent d944afa5c7
commit e8d3c3e4bd

View file

@ -251,13 +251,20 @@ BOOL LoadInstallableVDD(VOID)
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 @@ BOOL LoadInstallableVDD(VOID)
&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;