[2/6] wbemprox: Implement IEnumWbemClassObject::Skip. (resend)

Hans Leidekker hans at codeweavers.com
Mon Jun 18 06:59:52 CDT 2012


---
 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 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 =
-- 
1.7.10







More information about the wine-patches mailing list