[DEVENUM]

* Sync with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64295
This commit is contained in:
Amine Khaldi 2014-09-26 08:56:44 +00:00
parent a9a99db331
commit f1ae13f27c
4 changed files with 32 additions and 24 deletions

View file

@ -756,7 +756,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void)
VARIANT var; VARIANT var;
V_VT(&var) = VT_I4; V_VT(&var) = VT_I4;
V_UNION(&var, ulVal) = i; V_I4(&var) = i;
res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag);
if (SUCCEEDED(res)) if (SUCCEEDED(res))
res = IPropertyBag_Write(pPropBag, wszWaveOutID, &var); res = IPropertyBag_Write(pPropBag, wszWaveOutID, &var);
@ -764,7 +764,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void)
pPropBag = NULL; pPropBag = NULL;
V_VT(&var) = VT_LPWSTR; V_VT(&var) = VT_LPWSTR;
V_UNION(&var, bstrVal) = wocaps.szPname; V_BSTR(&var) = wocaps.szPname;
if (SUCCEEDED(res)) if (SUCCEEDED(res))
res = IPropertyBag_Write(pPropBag, wszFriendlyName, &var); res = IPropertyBag_Write(pPropBag, wszFriendlyName, &var);
if (pPropBag) if (pPropBag)
@ -837,7 +837,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void)
VARIANT var; VARIANT var;
V_VT(&var) = VT_I4; V_VT(&var) = VT_I4;
V_UNION(&var, ulVal) = i; V_I4(&var) = i;
res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag);
if (SUCCEEDED(res)) if (SUCCEEDED(res))
res = IPropertyBag_Write(pPropBag, wszWaveInID, &var); res = IPropertyBag_Write(pPropBag, wszWaveInID, &var);
@ -845,7 +845,7 @@ static HRESULT DEVENUM_CreateSpecialCategories(void)
pPropBag = NULL; pPropBag = NULL;
V_VT(&var) = VT_LPWSTR; V_VT(&var) = VT_LPWSTR;
V_UNION(&var, bstrVal) = wicaps.szPname; V_BSTR(&var) = wicaps.szPname;
if (SUCCEEDED(res)) if (SUCCEEDED(res))
res = IPropertyBag_Write(pPropBag, wszFriendlyName, &var); 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 }; OLECHAR wszVfwIndex[] = { 'V','F','W','I','n','d','e','x',0 };
VARIANT var; VARIANT var;
V_VT(&var) = VT_I4; V_VT(&var) = VT_I4;
V_UNION(&var, ulVal) = i; V_I4(&var) = i;
res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag); res = IMoniker_BindToStorage(pMoniker, NULL, NULL, &IID_IPropertyBag, (LPVOID)&pPropBag);
if (SUCCEEDED(res)) { if (SUCCEEDED(res)) {
res = IPropertyBag_Write(pPropBag, wszVfwIndex, &var); res = IPropertyBag_Write(pPropBag, wszVfwIndex, &var);

View file

@ -33,7 +33,9 @@ typedef struct
BOOL instance; BOOL instance;
} register_info; } register_info;
#ifdef __REACTOS__
static void DEVENUM_RegisterQuartz(void); static void DEVENUM_RegisterQuartz(void);
#endif
/*********************************************************************** /***********************************************************************
* Global string constant definitions * Global string constant definitions
@ -96,8 +98,10 @@ HRESULT WINAPI DllRegisterServer(void)
res = __wine_register_resources( DEVENUM_hInstance ); res = __wine_register_resources( DEVENUM_hInstance );
#ifdef __REACTOS__
/* Quartz is needed for IFilterMapper2 */ /* Quartz is needed for IFilterMapper2 */
DEVENUM_RegisterQuartz(); DEVENUM_RegisterQuartz();
#endif
/*** ActiveMovieFilter Categories ***/ /*** ActiveMovieFilter Categories ***/
@ -146,6 +150,8 @@ HRESULT WINAPI DllUnregisterServer(void)
return __wine_unregister_resources( DEVENUM_hInstance ); return __wine_unregister_resources( DEVENUM_hInstance );
} }
#ifdef __REACTOS__
typedef HRESULT (WINAPI *DllRegisterServer_func)(void); typedef HRESULT (WINAPI *DllRegisterServer_func)(void);
/* calls DllRegisterServer() for the Quartz DLL */ /* 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); ERR("Failed to register Quartz. Error was 0x%x)\n", hr);
} }
} }
#endif

View file

@ -146,15 +146,15 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
switch (V_VT(pVar)) switch (V_VT(pVar))
{ {
case VT_LPWSTR: case VT_LPWSTR:
V_UNION(pVar, bstrVal) = CoTaskMemAlloc(received); V_BSTR(pVar) = CoTaskMemAlloc(received);
memcpy(V_UNION(pVar, bstrVal), pData, received); memcpy(V_BSTR(pVar), pData, received);
res = S_OK; res = S_OK;
break; break;
case VT_EMPTY: case VT_EMPTY:
V_VT(pVar) = VT_BSTR; V_VT(pVar) = VT_BSTR;
/* fall through */ /* fall through */
case VT_BSTR: 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; res = S_OK;
break; break;
} }
@ -168,7 +168,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
/* fall through */ /* fall through */
case VT_I4: case VT_I4:
case VT_UI4: case VT_UI4:
V_UNION(pVar, ulVal) = *(DWORD *)pData; V_I4(pVar) = *(DWORD *)pData;
res = S_OK; res = S_OK;
break; break;
} }
@ -186,7 +186,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
V_VT(pVar) = VT_ARRAY | VT_UI1; V_VT(pVar) = VT_ARRAY | VT_UI1;
/* fall through */ /* fall through */
case VT_ARRAY | VT_UI1: 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; res = E_OUTOFMEMORY;
else else
res = S_OK; res = S_OK;
@ -196,12 +196,12 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
if (res == E_INVALIDARG) if (res == E_INVALIDARG)
break; break;
res = SafeArrayAccessData(V_UNION(pVar, parray), &pArrayElements); res = SafeArrayAccessData(V_ARRAY(pVar), &pArrayElements);
if (FAILED(res)) if (FAILED(res))
break; break;
CopyMemory(pArrayElements, pData, received); CopyMemory(pArrayElements, pData, received);
res = SafeArrayUnaccessData(V_UNION(pVar, parray)); res = SafeArrayUnaccessData(V_ARRAY(pVar));
break; break;
} }
} }
@ -232,15 +232,15 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write(
{ {
case VT_BSTR: case VT_BSTR:
case VT_LPWSTR: case VT_LPWSTR:
TRACE("writing %s\n", debugstr_w(V_UNION(pVar, bstrVal))); TRACE("writing %s\n", debugstr_w(V_BSTR(pVar)));
lpData = V_UNION(pVar, bstrVal); lpData = V_BSTR(pVar);
dwType = REG_SZ; dwType = REG_SZ;
cbData = (lstrlenW(V_UNION(pVar, bstrVal)) + 1) * sizeof(WCHAR); cbData = (lstrlenW(V_BSTR(pVar)) + 1) * sizeof(WCHAR);
break; break;
case VT_I4: case VT_I4:
case VT_UI4: case VT_UI4:
TRACE("writing %u\n", V_UNION(pVar, ulVal)); TRACE("writing %u\n", V_UI4(pVar));
lpData = &V_UNION(pVar, ulVal); lpData = &V_UI4(pVar);
dwType = REG_DWORD; dwType = REG_DWORD;
cbData = sizeof(DWORD); cbData = sizeof(DWORD);
break; break;
@ -249,11 +249,11 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write(
LONG lUbound = 0; LONG lUbound = 0;
LONG lLbound = 0; LONG lLbound = 0;
dwType = REG_BINARY; dwType = REG_BINARY;
res = SafeArrayGetLBound(V_UNION(pVar, parray), 1, &lLbound); res = SafeArrayGetLBound(V_ARRAY(pVar), 1, &lLbound);
res = SafeArrayGetUBound(V_UNION(pVar, parray), 1, &lUbound); res = SafeArrayGetUBound(V_ARRAY(pVar), 1, &lUbound);
cbData = (lUbound - lLbound + 1) /* * sizeof(BYTE)*/; cbData = (lUbound - lLbound + 1) /* * sizeof(BYTE)*/;
TRACE("cbData: %d\n", cbData); TRACE("cbData: %d\n", cbData);
res = SafeArrayAccessData(V_UNION(pVar, parray), &lpData); res = SafeArrayAccessData(V_ARRAY(pVar), &lpData);
break; break;
} }
default: default:
@ -267,7 +267,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Write(
res = E_FAIL; res = E_FAIL;
if (V_VT(pVar) & VT_ARRAY) if (V_VT(pVar) & VT_ARRAY)
res = SafeArrayUnaccessData(V_UNION(pVar, parray)); res = SafeArrayUnaccessData(V_ARRAY(pVar));
return res; return res;
} }
@ -418,8 +418,8 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToObject(IMoniker *iface, IBi
} }
if (SUCCEEDED(res)) if (SUCCEEDED(res))
{ {
res = CLSIDFromString(V_UNION(&var,bstrVal), &clsID); res = CLSIDFromString(V_BSTR(&var), &clsID);
CoTaskMemFree(V_UNION(&var, bstrVal)); CoTaskMemFree(V_BSTR(&var));
} }
if (SUCCEEDED(res)) if (SUCCEEDED(res))
{ {

View file

@ -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/d3dx9_24 => 43 # Synced to Wine-1.7.27
reactos/dll/directx/wine/d3dxof # 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/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/dinput # Synced to Wine-1.7.17
reactos/dll/directx/wine/dinput8 # 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 reactos/dll/directx/wine/dmusic # Synced to Wine-1.7.17