From bb80d7db9a6ded62441baf069b316e939a3cb4af Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Mon, 18 Jun 2012 09:31:00 +0200 Subject: [PATCH] wbemprox: Implement IEnumWbemClassObject::Skip. --- dlls/wbemprox/class.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/wbemprox/class.c b/dlls/wbemprox/class.c index 9119132b91b..b31dcbb569d 100644 --- a/dlls/wbemprox/class.c +++ b/dlls/wbemprox/class.c @@ -152,8 +152,20 @@ static HRESULT WINAPI enum_class_object_Skip( LONG lTimeout, ULONG nCount ) { - FIXME("%p, %d, %u\n", iface, lTimeout, nCount); - return E_NOTIMPL; + struct enum_class_object *ec = impl_from_IEnumWbemClassObject( iface ); + struct view *view = ec->query->view; + + TRACE("%p, %d, %u\n", iface, lTimeout, nCount); + + if (lTimeout != WBEM_INFINITE) FIXME("timeout not supported\n"); + + if (view->index + nCount >= view->count) + { + view->index = view->count - 1; + return WBEM_S_FALSE; + } + view->index += nCount; + return WBEM_S_NO_ERROR; } static const IEnumWbemClassObjectVtbl enum_class_object_vtbl =