Author: akhaldi Date: Sat Apr 19 19:30:34 2014 New Revision: 62822
URL: http://svn.reactos.org/svn/reactos?rev=62822&view=rev Log: [DEVENUM_WINETEST] * Sync with Wine 1.7.17. CORE-8080
Modified: trunk/rostests/winetests/devenum/devenum.c
Modified: trunk/rostests/winetests/devenum/devenum.c URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/devenum/devenum.... ============================================================================== --- trunk/rostests/winetests/devenum/devenum.c [iso-8859-1] (original) +++ trunk/rostests/winetests/devenum/devenum.c [iso-8859-1] Sat Apr 19 19:30:34 2014 @@ -34,6 +34,8 @@ #include <uuids.h>
static const WCHAR friendly_name[] = {'F','r','i','e','n','d','l','y','N','a','m','e',0}; +static const WCHAR fcc_handlerW[] = {'F','c','c','H','a','n','d','l','e','r',0}; +static const WCHAR mrleW[] = {'m','r','l','e',0};
struct category { @@ -57,6 +59,7 @@ HRESULT res; ICreateDevEnum* create_devenum; IEnumMoniker* enum_moniker = NULL; + BOOL have_mrle = FALSE; int i;
res = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC, @@ -101,6 +104,17 @@ { trace(" ???\n"); } + + if (IsEqualGUID(&CLSID_VideoCompressorCategory, am_categories[i].clsid)) { + /* Test well known compressor to ensure that we really enumerate codecs */ + hr = IPropertyBag_Read(prop_bag, fcc_handlerW, &var, NULL); + if (SUCCEEDED(hr)) { + ok(V_VT(&var) == VT_BSTR, "V_VT(var) = %d\n", V_VT(&var)); + if(!lstrcmpW(V_BSTR(&var), mrleW)) + have_mrle = TRUE; + VariantClear(&var); + } + } }
if (prop_bag) @@ -112,6 +126,10 @@ }
ICreateDevEnum_Release(create_devenum); + + /* 64-bit windows are missing mrle codec */ + if(sizeof(void*) == 4) + ok(have_mrle, "mrle codec not found\n"); }
/* CLSID_CDeviceMoniker */