mirror of
https://github.com/reactos/reactos.git
synced 2025-05-29 05:58:13 +00:00
[DEVENUM]
* Sync with Wine 1.7.27. CORE-8540 svn path=/trunk/; revision=64295
This commit is contained in:
parent
a9a99db331
commit
f1ae13f27c
4 changed files with 32 additions and 24 deletions
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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))
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in a new issue