Zebediah Figura : quartz/tests: Test that IFilterMapper enums filters registered with IFilterMapper2.
Alexandre Julliard
julliard at winehq.org
Mon Mar 5 16:14:32 CST 2018
Module: wine
Branch: master
Commit: dd92761706098f1e8d08e8736236ed40908cffd8
URL: https://source.winehq.org/git/wine.git/?a=commit;h=dd92761706098f1e8d08e8736236ed40908cffd8
Author: Zebediah Figura <z.figura12 at gmail.com>
Date: Sun Mar 4 23:11:06 2018 -0600
quartz/tests: Test that IFilterMapper enums filters registered with IFilterMapper2.
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/quartz/tests/filtermapper.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/dlls/quartz/tests/filtermapper.c b/dlls/quartz/tests/filtermapper.c
index 99e77b5..602a6d1 100644
--- a/dlls/quartz/tests/filtermapper.c
+++ b/dlls/quartz/tests/filtermapper.c
@@ -65,7 +65,9 @@ static BOOL enum_find_filter(const WCHAR *wszFilterName, IEnumMoniker *pEnum)
static void test_fm2_enummatchingfilters(void)
{
+ IEnumRegFilters *enum_reg;
IFilterMapper2 *pMapper = NULL;
+ IFilterMapper *mapper;
HRESULT hr;
REGFILTER2 rgf2;
REGFILTERPINS2 rgPins2[2];
@@ -76,6 +78,8 @@ static void test_fm2_enummatchingfilters(void)
CLSID clsidFilter2;
IEnumMoniker *pEnum = NULL;
BOOL found, registered = TRUE;
+ REGFILTER *regfilter;
+ ULONG count;
ZeroMemory(&rgf2, sizeof(rgf2));
@@ -168,6 +172,22 @@ static void test_fm2_enummatchingfilters(void)
found = enum_find_filter(wszFilterName1, pEnum);
ok(found, "EnumMatchingFilters failed to return the test filter 1\n");
}
+
+ hr = IFilterMapper2_QueryInterface(pMapper, &IID_IFilterMapper, (void **)&mapper);
+ ok(hr == S_OK, "QueryInterface(IFilterMapper) failed: %#x\n", hr);
+
+ found = FALSE;
+ hr = IFilterMapper_EnumMatchingFilters(mapper, &enum_reg, MERIT_UNLIKELY,
+ FALSE, GUID_NULL, GUID_NULL, FALSE, FALSE, GUID_NULL, GUID_NULL);
+ ok(hr == S_OK, "IFilterMapper_EnumMatchingFilters failed: %#x\n", hr);
+ while (!found && IEnumRegFilters_Next(enum_reg, 1, ®filter, &count) == S_OK)
+ {
+ trace("%s %s\n", wine_dbgstr_guid(®filter->Clsid), wine_dbgstr_w(regfilter->Name));
+ if (!lstrcmpW(regfilter->Name, wszFilterName1) && IsEqualGUID(&clsidFilter1, ®filter->Clsid))
+ found = TRUE;
+ }
+ IEnumRegFilters_Release(enum_reg);
+ ok(found, "IFilterMapper didn't find filter\n");
}
if (pEnum) IEnumMoniker_Release(pEnum);
More information about the wine-cvs
mailing list