From 89f59a493a26cc86c6d37bb28166fb3345701339 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Wed, 3 Mar 2021 09:05:50 +0300 Subject: [PATCH] wbemprox: Pass context object to the method. Signed-off-by: Nikolay Sivov Signed-off-by: Hans Leidekker Signed-off-by: Alexandre Julliard --- dlls/wbemprox/process.c | 2 +- dlls/wbemprox/reg.c | 14 +++++------ dlls/wbemprox/security.c | 4 ++-- dlls/wbemprox/service.c | 8 +++---- dlls/wbemprox/services.c | 2 +- dlls/wbemprox/sysrestore.c | 10 ++++---- dlls/wbemprox/wbemprox_private.h | 41 ++++++++++++++++---------------- 7 files changed, 41 insertions(+), 40 deletions(-) diff --git a/dlls/wbemprox/process.c b/dlls/wbemprox/process.c index 0ee81e8b523..a9057daa384 100644 --- a/dlls/wbemprox/process.c +++ b/dlls/wbemprox/process.c @@ -62,7 +62,7 @@ done: return S_OK; } -HRESULT process_get_owner( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT process_get_owner( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT user, domain, retval; IWbemClassObject *sig, *out_params = NULL; diff --git a/dlls/wbemprox/reg.c b/dlls/wbemprox/reg.c index f021aa14af8..41195e3e21e 100644 --- a/dlls/wbemprox/reg.c +++ b/dlls/wbemprox/reg.c @@ -92,7 +92,7 @@ static HRESULT create_key( HKEY root, const WCHAR *subkey, VARIANT *retval ) return HRESULT_FROM_WIN32( res ); } -HRESULT reg_create_key( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_create_key( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, retval; IWbemClassObject *sig, *out_params = NULL; @@ -191,7 +191,7 @@ static HRESULT enum_key( HKEY root, const WCHAR *subkey, VARIANT *names, VARIANT return hr; } -HRESULT reg_enum_key( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_enum_key( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, names, retval; IWbemClassObject *sig, *out_params = NULL; @@ -301,7 +301,7 @@ done: return hr; } -HRESULT reg_enum_values( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_enum_values( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, names, types, retval; IWbemClassObject *sig, *out_params = NULL; @@ -384,7 +384,7 @@ done: return hr; } -HRESULT reg_get_stringvalue( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_get_stringvalue( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, name, value, retval; IWbemClassObject *sig, *out_params = NULL; @@ -453,7 +453,7 @@ static void set_stringvalue( HKEY root, const WCHAR *subkey, const WCHAR *name, set_variant( VT_UI4, res, NULL, retval ); } -HRESULT reg_set_stringvalue( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_set_stringvalue( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, name, value, retval; IWbemClassObject *sig, *out_params = NULL; @@ -518,7 +518,7 @@ static void set_dwordvalue( HKEY root, const WCHAR *subkey, const WCHAR *name, D set_variant( VT_UI4, res, NULL, retval ); } -HRESULT reg_set_dwordvalue( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_set_dwordvalue( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, name, value, retval; IWbemClassObject *sig, *out_params = NULL; @@ -579,7 +579,7 @@ static void delete_key( HKEY root, const WCHAR *subkey, VARIANT *retval ) set_variant( VT_UI4, res, NULL, retval ); } -HRESULT reg_delete_key( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT reg_delete_key( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT defkey, subkey, retval; IWbemClassObject *sig, *out_params = NULL; diff --git a/dlls/wbemprox/security.c b/dlls/wbemprox/security.c index b8c5d90e30d..82e45060714 100644 --- a/dlls/wbemprox/security.c +++ b/dlls/wbemprox/security.c @@ -130,7 +130,7 @@ static HRESULT get_sd( SECURITY_DESCRIPTOR **sd, DWORD *size ) return hr; } -HRESULT security_get_sd( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT security_get_sd( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT var_sd, retval; IWbemClassObject *sig, *out_params = NULL; @@ -185,7 +185,7 @@ HRESULT security_get_sd( IWbemClassObject *obj, IWbemClassObject *in, IWbemClass } -HRESULT security_set_sd( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT security_set_sd( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT retval; IWbemClassObject *sig, *out_params = NULL; diff --git a/dlls/wbemprox/service.c b/dlls/wbemprox/service.c index 56bc2c50167..4c909713dc3 100644 --- a/dlls/wbemprox/service.c +++ b/dlls/wbemprox/service.c @@ -76,7 +76,7 @@ done: return S_OK; } -HRESULT service_pause_service( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT service_pause_service( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT name, retval; IWbemClassObject *sig, *out_params = NULL; @@ -121,7 +121,7 @@ done: return hr; } -HRESULT service_resume_service( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT service_resume_service( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT name, retval; IWbemClassObject *sig, *out_params = NULL; @@ -190,7 +190,7 @@ done: return S_OK; } -HRESULT service_start_service( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT service_start_service( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT name, retval; IWbemClassObject *sig, *out_params = NULL; @@ -235,7 +235,7 @@ done: return hr; } -HRESULT service_stop_service( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT service_stop_service( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT name, retval; IWbemClassObject *sig, *out_params = NULL; diff --git a/dlls/wbemprox/services.c b/dlls/wbemprox/services.c index 7de97dbae64..5275dd348c7 100644 --- a/dlls/wbemprox/services.c +++ b/dlls/wbemprox/services.c @@ -882,7 +882,7 @@ static HRESULT WINAPI wbem_services_ExecMethod( hr = get_method( table, strMethodName, &func ); if (hr != S_OK) goto done; - hr = func( obj, pInParams, ppOutParams ); + hr = func( obj, NULL, pInParams, ppOutParams ); done: if (result) IEnumWbemClassObject_Release( result ); diff --git a/dlls/wbemprox/sysrestore.c b/dlls/wbemprox/sysrestore.c index d59077381fb..8092dd7227e 100644 --- a/dlls/wbemprox/sysrestore.c +++ b/dlls/wbemprox/sysrestore.c @@ -31,19 +31,19 @@ WINE_DEFAULT_DEBUG_CHANNEL(wbemprox); -HRESULT create_restore_point( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT create_restore_point( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { FIXME("stub\n"); return S_OK; } -HRESULT disable_restore( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT disable_restore( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { FIXME("stub\n"); return S_OK; } -HRESULT enable_restore( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT enable_restore( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { VARIANT drive, retval; IWbemClassObject *sig, *out_params = NULL; @@ -93,13 +93,13 @@ HRESULT enable_restore( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassO return hr; } -HRESULT get_last_restore_status( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT get_last_restore_status( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { FIXME("stub\n"); return E_NOTIMPL; } -HRESULT restore( IWbemClassObject *obj, IWbemClassObject *in, IWbemClassObject **out ) +HRESULT restore( IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out ) { FIXME("stub\n"); return S_OK; diff --git a/dlls/wbemprox/wbemprox_private.h b/dlls/wbemprox/wbemprox_private.h index 7e1efe65874..5ccbed18023 100644 --- a/dlls/wbemprox/wbemprox_private.h +++ b/dlls/wbemprox/wbemprox_private.h @@ -37,7 +37,8 @@ enum param_direction #define COL_FLAG_KEY 0x00020000 #define COL_FLAG_METHOD 0x00040000 -typedef HRESULT (class_method)(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **); +typedef HRESULT (class_method)(IWbemClassObject *object, IWbemContext *context, IWbemClassObject *in_params, + IWbemClassObject **out_params); enum operator { @@ -243,25 +244,25 @@ HRESULT create_class_object(const WCHAR *, IEnumWbemClassObject *, UINT, HRESULT EnumWbemClassObject_create(struct query *, LPVOID *) DECLSPEC_HIDDEN; HRESULT WbemQualifierSet_create(const WCHAR *, const WCHAR *, LPVOID *) DECLSPEC_HIDDEN; -HRESULT process_get_owner(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_create_key(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_enum_key(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_enum_values(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_get_stringvalue(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_set_stringvalue(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_set_dwordvalue(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT reg_delete_key(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT service_pause_service(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT service_resume_service(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT service_start_service(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT service_stop_service(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT security_get_sd(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT security_set_sd(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT create_restore_point(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT disable_restore(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT enable_restore(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT get_last_restore_status(IWbemClassObject *, IWbemClassObject *in, IWbemClassObject **) DECLSPEC_HIDDEN; -HRESULT restore(IWbemClassObject *, IWbemClassObject *, IWbemClassObject **) DECLSPEC_HIDDEN; +HRESULT process_get_owner(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_create_key(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_enum_key(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_enum_values(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_get_stringvalue(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_set_stringvalue(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_set_dwordvalue(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT reg_delete_key(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT service_pause_service(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT service_resume_service(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT service_start_service(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT service_stop_service(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT security_get_sd(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT security_set_sd(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT create_restore_point(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT disable_restore(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT enable_restore(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT get_last_restore_status(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; +HRESULT restore(IWbemClassObject *obj, IWbemContext *context, IWbemClassObject *in, IWbemClassObject **out) DECLSPEC_HIDDEN; static inline WCHAR *heap_strdupW( const WCHAR *src ) {