Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
755e01bc
Commit
755e01bc
authored
Oct 15, 2012
by
Hans Leidekker
Committed by
Alexandre Julliard
Oct 15, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wbemprox: Pass an object instance to class methods.
parent
00335594
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
13 deletions
+27
-13
reg.c
dlls/wbemprox/reg.c
+3
-3
services.c
dlls/wbemprox/services.c
+20
-6
wbemprox_private.h
dlls/wbemprox/wbemprox_private.h
+4
-4
No files found.
dlls/wbemprox/reg.c
View file @
755e01bc
...
...
@@ -121,7 +121,7 @@ static HRESULT enum_key( HKEY root, const WCHAR *subkey, VARIANT *names, VARIANT
return
hr
;
}
HRESULT
reg_enum_key
(
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
HRESULT
reg_enum_key
(
IWbemClassObject
*
obj
,
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
{
VARIANT
defkey
,
subkey
,
names
,
retval
;
IWbemClassObject
*
sig
;
...
...
@@ -219,7 +219,7 @@ done:
return
hr
;
}
HRESULT
reg_enum_values
(
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
HRESULT
reg_enum_values
(
IWbemClassObject
*
obj
,
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
{
VARIANT
defkey
,
subkey
,
names
,
types
,
retval
;
IWbemClassObject
*
sig
;
...
...
@@ -291,7 +291,7 @@ done:
return
hr
;
}
HRESULT
reg_get_stringvalue
(
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
HRESULT
reg_get_stringvalue
(
IWbemClassObject
*
obj
,
IWbemClassObject
*
in
,
IWbemClassObject
**
out
)
{
VARIANT
defkey
,
subkey
,
name
,
value
,
retval
;
IWbemClassObject
*
sig
;
...
...
dlls/wbemprox/services.c
View file @
755e01bc
...
...
@@ -578,6 +578,7 @@ static HRESULT WINAPI wbem_services_ExecMethod(
IWbemClassObject
**
ppOutParams
,
IWbemCallResult
**
ppCallResult
)
{
IWbemClassObject
*
obj
;
struct
table
*
table
;
class_method
*
func
;
struct
path
*
path
;
...
...
@@ -588,16 +589,29 @@ static HRESULT WINAPI wbem_services_ExecMethod(
if
(
lFlags
)
FIXME
(
"flags %08x not supported
\n
"
,
lFlags
);
if
((
hr
=
parse_path
(
strObjectPath
,
&
path
))
!=
S_OK
)
return
hr
;
if
((
hr
=
get_object
(
strObjectPath
,
&
obj
)))
return
hr
;
if
((
hr
=
parse_path
(
strObjectPath
,
&
path
))
!=
S_OK
)
{
IWbemClassObject_Release
(
obj
);
return
hr
;
}
table
=
grab_table
(
path
->
class
);
free_path
(
path
);
if
(
!
table
)
return
WBEM_E_NOT_FOUND
;
if
(
!
table
)
{
IWbemClassObject_Release
(
obj
);
return
WBEM_E_NOT_FOUND
;
}
hr
=
get_method
(
table
,
strMethodName
,
&
func
);
release_table
(
table
);
if
(
hr
!=
S_OK
)
return
hr
;
return
func
(
pInParams
,
ppOutParams
);
if
(
hr
!=
S_OK
)
{
IWbemClassObject_Release
(
obj
);
return
hr
;
}
hr
=
func
(
obj
,
pInParams
,
ppOutParams
);
IWbemClassObject_Release
(
obj
);
return
hr
;
}
static
HRESULT
WINAPI
wbem_services_ExecMethodAsync
(
...
...
dlls/wbemprox/wbemprox_private.h
View file @
755e01bc
...
...
@@ -38,7 +38,7 @@ enum param_direction
#define COL_FLAG_KEY 0x00020000
#define COL_FLAG_METHOD 0x00040000
typedef
HRESULT
(
class_method
)(
IWbemClassObject
*
,
IWbemClassObject
**
);
typedef
HRESULT
(
class_method
)(
IWbemClassObject
*
,
IWbemClassObject
*
,
IWbemClassObject
*
*
);
struct
column
{
...
...
@@ -196,9 +196,9 @@ HRESULT create_class_object(const WCHAR *, IEnumWbemClassObject *, UINT,
struct
record
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
HRESULT
EnumWbemClassObject_create
(
IUnknown
*
,
struct
query
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
reg_enum_key
(
IWbemClassObject
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
HRESULT
reg_enum_values
(
IWbemClassObject
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
HRESULT
reg_get_stringvalue
(
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
;
static
void
*
heap_alloc
(
size_t
len
)
__WINE_ALLOC_SIZE
(
1
);
static
inline
void
*
heap_alloc
(
size_t
len
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment