Hans Leidekker : wbemprox: Implement IWbemServices::GetObject.
Alexandre Julliard
julliard at winehq.org
Thu Jun 28 13:55:16 CDT 2012
Module: wine
Branch: master
Commit: dc0e478d5cfa1cdf9b2504110238c10012ab2d19
URL: http://source.winehq.org/git/wine.git/?a=commit;h=dc0e478d5cfa1cdf9b2504110238c10012ab2d19
Author: Hans Leidekker <hans at codeweavers.com>
Date: Thu Jun 28 09:24:21 2012 +0200
wbemprox: Implement IWbemServices::GetObject.
---
dlls/wbemprox/services.c | 26 ++++++++++++++++++++++++--
1 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/wbemprox/services.c b/dlls/wbemprox/services.c
index aeca7c8..05a9811 100644
--- a/dlls/wbemprox/services.c
+++ b/dlls/wbemprox/services.c
@@ -239,8 +239,30 @@ static HRESULT WINAPI wbem_services_GetObject(
IWbemClassObject **ppObject,
IWbemCallResult **ppCallResult )
{
- FIXME("\n");
- return WBEM_E_FAILED;
+ static const WCHAR selectW[] = {'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ',0};
+ IEnumWbemClassObject *iter;
+ WCHAR *query;
+ HRESULT hr;
+
+ TRACE("%p, %s, 0x%08x, %p, %p, %p\n", iface, debugstr_w(strObjectPath), lFlags,
+ pCtx, ppObject, ppCallResult);
+
+ if (lFlags) FIXME("unsupported flags 0x%08x\n", lFlags);
+
+ /* FIXME: parse path */
+
+ if (!(query = heap_alloc( strlenW( strObjectPath ) * sizeof(WCHAR) + sizeof(selectW) )))
+ return E_OUTOFMEMORY;
+ strcpyW( query, selectW );
+ strcatW( query, strObjectPath );
+
+ hr = exec_query( query, &iter );
+ heap_free( query );
+ if (hr != S_OK) return hr;
+
+ hr = WbemClassObject_create( NULL, iter, 0, (void **)ppObject );
+ IEnumWbemClassObject_Release( iter );
+ return hr;
}
static HRESULT WINAPI wbem_services_GetObjectAsync(
More information about the wine-cvs
mailing list