From cbfd33300a075f91bb75b958914150ed234fe48e Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Sat, 11 Apr 2020 10:49:39 -0500 Subject: [PATCH] devenum: Don't bother creating the category key for codecs if there are no codecs to register. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/devenum/createdevenum.c | 56 ------------------------------------ 1 file changed, 56 deletions(-) diff --git a/dlls/devenum/createdevenum.c b/dlls/devenum/createdevenum.c index 8e82fcdeac5..eba93f0fa06 100644 --- a/dlls/devenum/createdevenum.c +++ b/dlls/devenum/createdevenum.c @@ -52,7 +52,6 @@ static const WCHAR wszFriendlyName[] = {'F','r','i','e','n','d','l','y','N','a', static const WCHAR wszFilterData[] = {'F','i','l','t','e','r','D','a','t','a',0}; static ULONG WINAPI DEVENUM_ICreateDevEnum_AddRef(ICreateDevEnum * iface); -static HRESULT DEVENUM_CreateAMCategoryKey(const CLSID * clsidCategory); /********************************************************************** * DEVENUM_ICreateDevEnum_QueryInterface (also IUnknown) @@ -429,9 +428,6 @@ static void register_legacy_filters(void) hr = HRESULT_FROM_WIN32(lRet); } - if (SUCCEEDED(hr)) - hr = DEVENUM_CreateAMCategoryKey(&CLSID_LegacyAmFilterCategory); - if (SUCCEEDED(hr)) { for (i = 0; i < dwFilterSubkeys; i++) @@ -517,10 +513,6 @@ static BOOL CALLBACK register_dsound_devices(GUID *guid, const WCHAR *desc, cons VARIANT var; HRESULT hr; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_AudioRendererCategory); - if (FAILED(hr)) - return FALSE; - if (guid) { WCHAR *name = heap_alloc(sizeof(defaultW) + lstrlenW(desc) * sizeof(WCHAR)); @@ -578,9 +570,6 @@ static void register_waveout_devices(void) VARIANT var; HRESULT hr; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_AudioRendererCategory); - if (FAILED(hr)) return; - count = waveOutGetNumDevs(); for (i = -1; i < count; i++) @@ -627,9 +616,6 @@ static void register_wavein_devices(void) VARIANT var; HRESULT hr; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_AudioRendererCategory); - if (FAILED(hr)) return; - count = waveInGetNumDevs(); for (i = 0; i < count; i++) @@ -671,9 +657,6 @@ static void register_midiout_devices(void) VARIANT var; HRESULT hr; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_AudioRendererCategory); - if (FAILED(hr)) return; - count = midiOutGetNumDevs(); for (i = -1; i < count; i++) @@ -724,9 +707,6 @@ static void register_vfw_codecs(void) int i = 0; HIC hic; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_AudioRendererCategory); - if (FAILED(hr)) return; - while (ICInfo(ICTYPE_VIDEO, i++, &info)) { WCHAR name[5] = {LOBYTE(LOWORD(info.fccHandler)), HIBYTE(LOWORD(info.fccHandler)), @@ -784,10 +764,6 @@ static void register_avicap_devices(void) HRESULT hr; int i = 0; - hr = DEVENUM_CreateAMCategoryKey(&CLSID_VideoInputDeviceCategory); - if (FAILED(hr)) - return; - for (i = 0; i < 10; ++i) { if (!capGetDriverDescriptionW(i, friendlyname, ARRAY_SIZE(friendlyname), @@ -896,35 +872,3 @@ static const ICreateDevEnumVtbl ICreateDevEnum_Vtbl = * static CreateDevEnum instance */ ICreateDevEnum DEVENUM_CreateDevEnum = { &ICreateDevEnum_Vtbl }; - -/********************************************************************** - * DEVENUM_CreateAMCategoryKey (INTERNAL) - * - * Creates a registry key for a category at HKEY_CURRENT_USER\Software\ - * Microsoft\ActiveMovie\devenum\{clsid} - */ -static HRESULT DEVENUM_CreateAMCategoryKey(const CLSID * clsidCategory) -{ - WCHAR wszRegKey[MAX_PATH]; - HRESULT res = S_OK; - HKEY hkeyDummy = NULL; - - lstrcpyW(wszRegKey, wszActiveMovieKey); - - if (!StringFromGUID2(clsidCategory, wszRegKey + lstrlenW(wszRegKey), ARRAY_SIZE(wszRegKey) - lstrlenW(wszRegKey))) - res = E_INVALIDARG; - - if (SUCCEEDED(res)) - { - LONG lRes = RegCreateKeyW(HKEY_CURRENT_USER, wszRegKey, &hkeyDummy); - res = HRESULT_FROM_WIN32(lRes); - } - - if (hkeyDummy) - RegCloseKey(hkeyDummy); - - if (FAILED(res)) - ERR("Failed to create key HKEY_CURRENT_USER\\%s\n", debugstr_w(wszRegKey)); - - return res; -}