quartz: Return VFW_E_ENUM_OUT_OF_SYNC in IEnumFilters::Skip() when enum version doesn't match graph version.

Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Gijs Vermeulen 2020-11-23 17:29:26 +01:00 committed by Alexandre Julliard
parent 34c0055cfc
commit d918c6a482
2 changed files with 6 additions and 0 deletions

View File

@ -322,6 +322,9 @@ static HRESULT WINAPI EnumFilters_Skip(IEnumFilters *iface, ULONG count)
TRACE("enum_filters %p, count %u.\n", enum_filters, count);
if (enum_filters->version != enum_filters->graph->version)
return VFW_E_ENUM_OUT_OF_SYNC;
if (!enum_filters->cursor)
return S_FALSE;

View File

@ -683,6 +683,9 @@ static void test_enum_filters(void)
hr = IEnumFilters_Next(enum1, 1, filters, NULL);
ok(hr == VFW_E_ENUM_OUT_OF_SYNC, "Got hr %#x.\n", hr);
hr = IEnumFilters_Skip(enum1, 1);
ok(hr == VFW_E_ENUM_OUT_OF_SYNC, "Got hr %#x.\n", hr);
hr = IEnumFilters_Reset(enum1);
ok(hr == S_OK, "Got hr %#x.\n", hr);