wbemprox: Prioritize ExecMethod() context over services instance one.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2021-03-03 09:05:51 +03:00 committed by Alexandre Julliard
parent 89f59a493a
commit 718ca769db
1 changed files with 4 additions and 3 deletions

View File

@ -836,11 +836,12 @@ static HRESULT WINAPI wbem_services_ExecMethod(
const BSTR strObjectPath, const BSTR strObjectPath,
const BSTR strMethodName, const BSTR strMethodName,
LONG lFlags, LONG lFlags,
IWbemContext *pCtx, IWbemContext *context,
IWbemClassObject *pInParams, IWbemClassObject *pInParams,
IWbemClassObject **ppOutParams, IWbemClassObject **ppOutParams,
IWbemCallResult **ppCallResult ) IWbemCallResult **ppCallResult )
{ {
struct wbem_services *services = impl_from_IWbemServices( iface );
IEnumWbemClassObject *result = NULL; IEnumWbemClassObject *result = NULL;
IWbemClassObject *obj = NULL; IWbemClassObject *obj = NULL;
struct query *query = NULL; struct query *query = NULL;
@ -851,7 +852,7 @@ static HRESULT WINAPI wbem_services_ExecMethod(
HRESULT hr; HRESULT hr;
TRACE("%p, %s, %s, %08x, %p, %p, %p, %p\n", iface, debugstr_w(strObjectPath), TRACE("%p, %s, %s, %08x, %p, %p, %p, %p\n", iface, debugstr_w(strObjectPath),
debugstr_w(strMethodName), lFlags, pCtx, pInParams, ppOutParams, ppCallResult); debugstr_w(strMethodName), lFlags, context, pInParams, ppOutParams, ppCallResult);
if (lFlags) FIXME("flags %08x not supported\n", lFlags); if (lFlags) FIXME("flags %08x not supported\n", lFlags);
@ -882,7 +883,7 @@ static HRESULT WINAPI wbem_services_ExecMethod(
hr = get_method( table, strMethodName, &func ); hr = get_method( table, strMethodName, &func );
if (hr != S_OK) goto done; if (hr != S_OK) goto done;
hr = func( obj, NULL, pInParams, ppOutParams ); hr = func( obj, context ? context : services->context, pInParams, ppOutParams );
done: done:
if (result) IEnumWbemClassObject_Release( result ); if (result) IEnumWbemClassObject_Release( result );