combase: Don't start dllhost if the CLSID key doesn't exist.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2022-04-06 15:22:29 +01:00 committed by Alexandre Julliard
parent 60e10a0571
commit 2192f2de1b

View file

@ -538,6 +538,12 @@ static HRESULT create_surrogate_server(REFCLSID rclsid, HANDLE *process)
TRACE("Attempting to start surrogate server for %s\n", debugstr_guid(rclsid));
hr = open_key_for_clsid(rclsid, NULL, KEY_READ, &key);
if (FAILED(hr) && (arch == 64 || (IsWow64Process(GetCurrentProcess(), &is_wow64) && is_wow64)))
hr = open_key_for_clsid(rclsid, NULL, opposite | KEY_READ, &key);
if (FAILED(hr)) return hr;
RegCloseKey(key);
hr = open_appidkey_from_clsid(rclsid, KEY_READ, &key);
if (FAILED(hr) && (arch == 64 || (IsWow64Process(GetCurrentProcess(), &is_wow64) && is_wow64)))
{