Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
f18b24ad
Commit
f18b24ad
authored
Jun 19, 2012
by
Hans Leidekker
Committed by
Alexandre Julliard
Jun 19, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wbemprox: Implement IWbemClassObject::GetNames.
parent
612f380a
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
2 deletions
+58
-2
class.c
dlls/wbemprox/class.c
+16
-2
query.c
dlls/wbemprox/query.c
+22
-0
wbemprox_private.h
dlls/wbemprox/wbemprox_private.h
+1
-0
wbemcli.idl
include/wbemcli.idl
+19
-0
No files found.
dlls/wbemprox/class.c
View file @
f18b24ad
...
@@ -314,8 +314,22 @@ static HRESULT WINAPI class_object_GetNames(
...
@@ -314,8 +314,22 @@ static HRESULT WINAPI class_object_GetNames(
VARIANT
*
pQualifierVal
,
VARIANT
*
pQualifierVal
,
SAFEARRAY
**
pNames
)
SAFEARRAY
**
pNames
)
{
{
FIXME
(
"%p, %s, %08x, %p, %p
\n
"
,
iface
,
debugstr_w
(
wszQualifierName
),
lFlags
,
pQualifierVal
,
pNames
);
struct
class_object
*
co
=
impl_from_IWbemClassObject
(
iface
);
return
E_NOTIMPL
;
struct
enum_class_object
*
ec
=
impl_from_IEnumWbemClassObject
(
co
->
iter
);
TRACE
(
"%p, %s, %08x, %p, %p
\n
"
,
iface
,
debugstr_w
(
wszQualifierName
),
lFlags
,
pQualifierVal
,
pNames
);
if
(
wszQualifierName
||
pQualifierVal
)
{
FIXME
(
"qualifier not supported
\n
"
);
return
E_NOTIMPL
;
}
if
(
lFlags
!=
WBEM_FLAG_ALWAYS
)
{
FIXME
(
"flags %08x not supported
\n
"
,
lFlags
);
return
E_NOTIMPL
;
}
return
get_properties
(
ec
->
query
->
view
,
pNames
);
}
}
static
HRESULT
WINAPI
class_object_BeginEnumeration
(
static
HRESULT
WINAPI
class_object_BeginEnumeration
(
...
...
dlls/wbemprox/query.c
View file @
f18b24ad
...
@@ -413,3 +413,25 @@ HRESULT get_propval( const struct view *view, UINT index, const WCHAR *name, VAR
...
@@ -413,3 +413,25 @@ HRESULT get_propval( const struct view *view, UINT index, const WCHAR *name, VAR
if
(
type
)
*
type
=
view
->
table
->
columns
[
column
].
type
;
if
(
type
)
*
type
=
view
->
table
->
columns
[
column
].
type
;
return
S_OK
;
return
S_OK
;
}
}
HRESULT
get_properties
(
const
struct
view
*
view
,
SAFEARRAY
**
props
)
{
SAFEARRAY
*
sa
;
BSTR
str
;
LONG
i
;
if
(
!
(
sa
=
SafeArrayCreateVector
(
VT_BSTR
,
0
,
view
->
table
->
num_cols
)))
return
E_OUTOFMEMORY
;
for
(
i
=
0
;
i
<
view
->
table
->
num_cols
;
i
++
)
{
str
=
SysAllocString
(
view
->
table
->
columns
[
i
].
name
);
if
(
!
str
||
SafeArrayPutElement
(
sa
,
&
i
,
str
)
!=
S_OK
)
{
SysFreeString
(
str
);
SafeArrayDestroy
(
sa
);
return
E_OUTOFMEMORY
;
}
}
*
props
=
sa
;
return
S_OK
;
}
dlls/wbemprox/wbemprox_private.h
View file @
f18b24ad
...
@@ -114,6 +114,7 @@ void destroy_view( struct view * ) DECLSPEC_HIDDEN;
...
@@ -114,6 +114,7 @@ void destroy_view( struct view * ) DECLSPEC_HIDDEN;
struct
table
*
get_table
(
const
WCHAR
*
)
DECLSPEC_HIDDEN
;
struct
table
*
get_table
(
const
WCHAR
*
)
DECLSPEC_HIDDEN
;
HRESULT
get_propval
(
const
struct
view
*
,
UINT
,
const
WCHAR
*
,
VARIANT
*
,
HRESULT
get_propval
(
const
struct
view
*
,
UINT
,
const
WCHAR
*
,
VARIANT
*
,
CIMTYPE
*
)
DECLSPEC_HIDDEN
;
CIMTYPE
*
)
DECLSPEC_HIDDEN
;
HRESULT
get_properties
(
const
struct
view
*
,
SAFEARRAY
**
)
DECLSPEC_HIDDEN
;
HRESULT
WbemLocator_create
(
IUnknown
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
WbemLocator_create
(
IUnknown
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
WbemServices_create
(
IUnknown
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
WbemServices_create
(
IUnknown
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
...
...
include/wbemcli.idl
View file @
f18b24ad
...
@@ -182,6 +182,25 @@ typedef [v1_enum] enum tag_WBEM_TIMEOUT_TYPE
...
@@ -182,6 +182,25 @@ typedef [v1_enum] enum tag_WBEM_TIMEOUT_TYPE
WBEM_INFINITE
=
0
xffffffff
WBEM_INFINITE
=
0
xffffffff
}
WBEM_TIMEOUT_TYPE
;
}
WBEM_TIMEOUT_TYPE
;
typedef
[
v1_enum
]
enum
tag_WBEM_CONDITION_FLAG_TYPE
{
WBEM_FLAG_ALWAYS
=
0
,
WBEM_FLAG_ONLY_IF_TRUE
=
0
x1
,
WBEM_FLAG_ONLY_IF_FALSE
=
0
x2
,
WBEM_FLAG_ONLY_IF_IDENTICAL
=
0
x3
,
WBEM_MASK_PRIMARY_CONDITION
=
0
x3
,
WBEM_FLAG_KEYS_ONLY
=
0
x4
,
WBEM_FLAG_REFS_ONLY
=
0
x8
,
WBEM_FLAG_LOCAL_ONLY
=
0
x10
,
WBEM_FLAG_PROPAGATED_ONLY
=
0
x20
,
WBEM_FLAG_SYSTEM_ONLY
=
0
x30
,
WBEM_FLAG_NONSYSTEM_ONLY
=
0
x40
,
WBEM_MASK_CONDITION_ORIGIN
=
0
x70
,
WBEM_FLAG_CLASS_OVERRIDES_ONLY
=
0
x100
,
WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES
=
0
x200
,
WBEM_MASK_CLASS_CONDITION
=
0
x300
}
WBEM_CONDITION_FLAG_TYPE
;
typedef
[
v1_enum
]
enum
tag_CIMTYPE_ENUMERATION
typedef
[
v1_enum
]
enum
tag_CIMTYPE_ENUMERATION
{
{
CIM_ILLEGAL
=
0
xfff
,
CIM_ILLEGAL
=
0
xfff
,
...
...
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