Module: wine Branch: master Commit: bb80d7db9a6ded62441baf069b316e939a3cb4af URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb80d7db9a6ded62441baf069b...
Author: Hans Leidekker hans@codeweavers.com Date: Mon Jun 18 09:31:00 2012 +0200
wbemprox: Implement IEnumWbemClassObject::Skip.
---
dlls/wbemprox/class.c | 16 ++++++++++++++-- 1 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/dlls/wbemprox/class.c b/dlls/wbemprox/class.c index 9119132..b31dcbb 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 =