Hans Leidekker : wbemprox: Implement IWbemServices::CreateInstanceEnum.

Alexandre Julliard julliard at winehq.org
Tue Jun 26 13:34:15 CDT 2012


Module: wine
Branch: master
Commit: 1bf73ea81d50b363e8798407675025d3cf6148ea
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=1bf73ea81d50b363e8798407675025d3cf6148ea

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Tue Jun 26 16:02:04 2012 +0200

wbemprox: Implement IWbemServices::CreateInstanceEnum.

---

 dlls/wbemprox/services.c |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/dlls/wbemprox/services.c b/dlls/wbemprox/services.c
index b4bc8fb..aeca7c8 100644
--- a/dlls/wbemprox/services.c
+++ b/dlls/wbemprox/services.c
@@ -366,13 +366,27 @@ static HRESULT WINAPI wbem_services_DeleteInstanceAsync(
 
 static HRESULT WINAPI wbem_services_CreateInstanceEnum(
     IWbemServices *iface,
-    const BSTR strFilter,
+    const BSTR strClass,
     LONG lFlags,
     IWbemContext *pCtx,
     IEnumWbemClassObject **ppEnum )
 {
-    FIXME("\n");
-    return WBEM_E_FAILED;
+    static const WCHAR selectW[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',0};
+    WCHAR *query;
+    HRESULT hr;
+
+    TRACE("%p, %s, 0%08x, %p, %p\n", iface, debugstr_w(strClass), lFlags, pCtx, ppEnum);
+
+    if (lFlags) FIXME("unsupported flags 0x%08x\n", lFlags);
+
+    if (!(query = heap_alloc( strlenW( strClass ) * sizeof(WCHAR) + sizeof(selectW) )))
+        return E_OUTOFMEMORY;
+    strcpyW( query, selectW );
+    strcatW( query, strClass );
+
+    hr = exec_query( query, ppEnum );
+    heap_free( query );
+    return hr;
 }
 
 static HRESULT WINAPI wbem_services_CreateInstanceEnumAsync(




More information about the wine-cvs mailing list