[PATCH 03/11] wbemprox: Pass context object to the method.

Nikolay Sivov nsivov at codeweavers.com
Wed Mar 3 00:05:50 CST 2021


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 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 )
 {
-- 
2.30.1




More information about the wine-devel mailing list