From f1ae13f27c380a7027a7cb153a969dc43d9a1dcb Mon Sep 17 00:00:00 2001 From: Amine Khaldi Date: Fri, 26 Sep 2014 08:56:44 +0000 Subject: [PATCH] [DEVENUM] * Sync with Wine 1.7.27. CORE-8540 svn path=/trunk/; revision=64295 --- .../dll/directx/wine/devenum/createdevenum.c | 10 +++--- .../dll/directx/wine/devenum/devenum_main.c | 8 +++++ .../dll/directx/wine/devenum/mediacatenum.c | 36 +++++++++---------- reactos/media/doc/README.WINE | 2 +- 4 files changed, 32 insertions(+), 24 deletions(-) diff --git a/reactos/dll/directx/wine/devenum/createdevenum.c b/reactos/dll/directx/wine/devenum/createdevenum.c index 77808b2bc94..3a6eff170e0 100644 --- a/reactos/dll/directx/wine/devenum/createdevenum.c +++ b/reactos/dll/directx/wine/devenum/createdevenum.c @@ -756,7 +756,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) VARIANT var; V_VT(&var) = VT_I4; - V_UNION(&var, ulVal) = i; + V_I4(&var) = i; res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); if (SUCCEEDED(res)) res = IPropertyBag_Write(pPropBag, wszWaveOutID, &var); @@ -764,7 +764,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) pPropBag = NULL; V_VT(&var) = VT_LPWSTR; - V_UNION(&var, bstrVal) = wocaps.szPname; + V_BSTR(&var) = wocaps.szPname; if (SUCCEEDED(res)) res = IPropertyBag_Write(pPropBag, wszFriendlyName, &var); if (pPropBag) @@ -837,7 +837,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) VARIANT var; V_VT(&var) = VT_I4; - V_UNION(&var, ulVal) = i; + V_I4(&var) = i; res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); if (SUCCEEDED(res)) res = IPropertyBag_Write(pPropBag, wszWaveInID, &var); @@ -845,7 +845,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) pPropBag = NULL; V_VT(&var) = VT_LPWSTR; - V_UNION(&var, bstrVal) = wicaps.szPname; + V_BSTR(&var) = wicaps.szPname; if (SUCCEEDED(res)) res = IPropertyBag_Write(pPropBag, wszFriendlyName, &var); @@ -947,7 +947,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void) OLECHAR wszVfwIndex[] = { 'V','F','W','I','n','d','e','x',0 }; VARIANT var; V_VT(&var) = VT_I4; - V_UNION(&var, ulVal) = i; + V_I4(&var) = i; res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); if (SUCCEEDED(res)) { res = IPropertyBag_Write(pPropBag, wszVfwIndex, &var); diff --git a/reactos/dll/directx/wine/devenum/devenum_main.c b/reactos/dll/directx/wine/devenum/devenum_main.c index bbf0a1922cb..21e7b47cf6a 100644 --- a/reactos/dll/directx/wine/devenum/devenum_main.c +++ b/reactos/dll/directx/wine/devenum/devenum_main.c @@ -33,7 +33,9 @@ typedef struct BOOL instance; } register_info; +#ifdef __REACTOS__ static void DEVENUM_RegisterQuartz(void); +#endif /*********************************************************************** * Global string constant definitions @@ -96,8 +98,10 @@ HRESULT WINAPI DllRegisterServer(void) res = __wine_register_resources( DEVENUM_hInstance ); +#ifdef __REACTOS__ /* Quartz is needed for IFilterMapper2 */ DEVENUM_RegisterQuartz(); +#endif /*** ActiveMovieFilter Categories ***/ @@ -146,6 +150,8 @@ HRESULT WINAPI DllUnregisterServer(void) return __wine_unregister_resources( DEVENUM_hInstance ); } +#ifdef __REACTOS__ + typedef HRESULT (WINAPI *DllRegisterServer_func)(void); /* calls DllRegisterServer() for the Quartz DLL */ @@ -162,3 +168,5 @@ static void DEVENUM_RegisterQuartz(void) ERR("Failed to register Quartz. Error was 0x%x)\n", hr); } } + +#endif diff --git a/reactos/dll/directx/wine/devenum/mediacatenum.c b/reactos/dll/directx/wine/devenum/mediacatenum.c index 3f28d2675cd..4e30d66a2c3 100644 --- a/reactos/dll/directx/wine/devenum/mediacatenum.c +++ b/reactos/dll/directx/wine/devenum/mediacatenum.c @@ -146,15 +146,15 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read( switch (V_VT(pVar)) { case VT_LPWSTR: - V_UNION(pVar, bstrVal) = CoTaskMemAlloc(received); - memcpy(V_UNION(pVar, bstrVal), pData, received); + V_BSTR(pVar) = CoTaskMemAlloc(received); + memcpy(V_BSTR(pVar), pData, received); res = S_OK; break; case VT_EMPTY: V_VT(pVar) = VT_BSTR; /* fall through */ case VT_BSTR: - V_UNION(pVar, bstrVal) = SysAllocStringLen(pData, received/sizeof(WCHAR) - 1); + V_BSTR(pVar) = SysAllocStringLen(pData, received/sizeof(WCHAR) - 1); res = S_OK; break; } @@ -168,7 +168,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read( /* fall through */ case VT_I4: case VT_UI4: - V_UNION(pVar, ulVal) = *(DWORD *)pData; + V_I4(pVar) = *(DWORD *)pData; res = S_OK; break; } @@ -186,7 +186,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read( V_VT(pVar) = VT_ARRAY | VT_UI1; /* fall through */ case VT_ARRAY | VT_UI1: - if (!(V_UNION(pVar, parray) = SafeArrayCreate(VT_UI1, 1, &bound))) + if (!(V_ARRAY(pVar) = SafeArrayCreate(VT_UI1, 1, &bound))) res = E_OUTOFMEMORY; else res = S_OK; @@ -196,12 +196,12 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read( if (res == E_INVALIDARG) break; - res = SafeArrayAccessData(V_UNION(pVar, parray), &pArrayElements); + res = SafeArrayAccessData(V_ARRAY(pVar), &pArrayElements); if (FAILED(res)) break; CopyMemory(pArrayElements, pData, received); - res = SafeArrayUnaccessData(V_UNION(pVar, parray)); + res = SafeArrayUnaccessData(V_ARRAY(pVar)); break; } } @@ -232,15 +232,15 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write( { case VT_BSTR: case VT_LPWSTR: - TRACE("writing %s\n", debugstr_w(V_UNION(pVar, bstrVal))); - lpData = V_UNION(pVar, bstrVal); + TRACE("writing %s\n", debugstr_w(V_BSTR(pVar))); + lpData = V_BSTR(pVar); dwType = REG_SZ; - cbData = (lstrlenW(V_UNION(pVar, bstrVal)) + 1) * sizeof(WCHAR); + cbData = (lstrlenW(V_BSTR(pVar)) + 1) * sizeof(WCHAR); break; case VT_I4: case VT_UI4: - TRACE("writing %u\n", V_UNION(pVar, ulVal)); - lpData = &V_UNION(pVar, ulVal); + TRACE("writing %u\n", V_UI4(pVar)); + lpData = &V_UI4(pVar); dwType = REG_DWORD; cbData = sizeof(DWORD); break; @@ -249,11 +249,11 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write( LONG lUbound = 0; LONG lLbound = 0; dwType = REG_BINARY; - res = SafeArrayGetLBound(V_UNION(pVar, parray), 1, &lLbound); - res = SafeArrayGetUBound(V_UNION(pVar, parray), 1, &lUbound); + res = SafeArrayGetLBound(V_ARRAY(pVar), 1, &lLbound); + res = SafeArrayGetUBound(V_ARRAY(pVar), 1, &lUbound); cbData = (lUbound - lLbound + 1) /* * sizeof(BYTE)*/; TRACE("cbData: %d\n", cbData); - res = SafeArrayAccessData(V_UNION(pVar, parray), &lpData); + res = SafeArrayAccessData(V_ARRAY(pVar), &lpData); break; } default: @@ -267,7 +267,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write( res = E_FAIL; if (V_VT(pVar) & VT_ARRAY) - res = SafeArrayUnaccessData(V_UNION(pVar, parray)); + res = SafeArrayUnaccessData(V_ARRAY(pVar)); return res; } @@ -418,8 +418,8 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToObject(IMoniker *iface, IBi } if (SUCCEEDED(res)) { - res = CLSIDFromString(V_UNION(&var,bstrVal), &clsID); - CoTaskMemFree(V_UNION(&var, bstrVal)); + res = CLSIDFromString(V_BSTR(&var), &clsID); + CoTaskMemFree(V_BSTR(&var)); } if (SUCCEEDED(res)) { diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 1717ffb99be..01c02edf807 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -34,7 +34,7 @@ reactos/dll/directx/wine/d3dcompiler_43 # Synced to Wine-1.7.27 reactos/dll/directx/wine/d3dx9_24 => 43 # Synced to Wine-1.7.27 reactos/dll/directx/wine/d3dxof # Synced to Wine-1.7.27 reactos/dll/directx/wine/ddraw # Synced to Wine-1.7.27 -reactos/dll/directx/wine/devenum # Synced to Wine-1.7.17 +reactos/dll/directx/wine/devenum # Synced to Wine-1.7.27 reactos/dll/directx/wine/dinput # Synced to Wine-1.7.17 reactos/dll/directx/wine/dinput8 # Synced to Wine-1.7.17 reactos/dll/directx/wine/dmusic # Synced to Wine-1.7.17