devenum: Added more strict CLSID_VideoCompressorCategory test.
This commit is contained in:
parent
e303f11628
commit
51e3c2397c
|
@ -29,6 +29,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
|
||||
{
|
||||
|
@ -52,6 +54,7 @@ static void test_devenum(IBindCtx *bind_ctx)
|
|||
HRESULT res;
|
||||
ICreateDevEnum* create_devenum;
|
||||
IEnumMoniker* enum_moniker = NULL;
|
||||
BOOL have_mrle = FALSE;
|
||||
int i;
|
||||
|
||||
res = CoCreateInstance(&CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC,
|
||||
|
@ -96,6 +99,17 @@ static void test_devenum(IBindCtx *bind_ctx)
|
|||
{
|
||||
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)
|
||||
|
@ -107,6 +121,10 @@ static void test_devenum(IBindCtx *bind_ctx)
|
|||
}
|
||||
|
||||
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 */
|
||||
|
|
Loading…
Reference in New Issue