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
2797cd8e
Commit
2797cd8e
authored
Jan 22, 2013
by
Hans Leidekker
Committed by
Alexandre Julliard
Jan 22, 2013
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wbemprox: Add a stub implementation of IWbemQualifierSet.
parent
7a27ffb2
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
224 additions
and
1 deletion
+224
-1
Makefile.in
dlls/wbemprox/Makefile.in
+1
-0
class.c
dlls/wbemprox/class.c
+1
-1
qualifier.c
dlls/wbemprox/qualifier.c
+183
-0
wbemprox_private.h
dlls/wbemprox/wbemprox_private.h
+1
-0
wbemcli.idl
include/wbemcli.idl
+38
-0
No files found.
dlls/wbemprox/Makefile.in
View file @
2797cd8e
...
...
@@ -6,6 +6,7 @@ C_SRCS = \
class.c
\
main.c
\
process.c
\
qualifier.c
\
query.c
\
reg.c
\
service.c
\
...
...
dlls/wbemprox/class.c
View file @
2797cd8e
...
...
@@ -547,7 +547,7 @@ static HRESULT WINAPI class_object_GetPropertyQualifierSet(
IWbemQualifierSet
**
ppQualSet
)
{
FIXME
(
"%p, %s, %p
\n
"
,
iface
,
debugstr_w
(
wszProperty
),
ppQualSet
);
return
E_NOTIMPL
;
return
WbemQualifierSet_create
(
NULL
,
(
void
**
)
ppQualSet
)
;
}
static
HRESULT
WINAPI
class_object_Clone
(
...
...
dlls/wbemprox/qualifier.c
0 → 100644
View file @
2797cd8e
/*
* Copyright 2013 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#define COBJMACROS
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "wbemcli.h"
#include "wine/debug.h"
#include "wbemprox_private.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
wbemprox
);
struct
qualifier_set
{
IWbemQualifierSet
IWbemQualifierSet_iface
;
LONG
refs
;
};
static
inline
struct
qualifier_set
*
impl_from_IWbemQualifierSet
(
IWbemQualifierSet
*
iface
)
{
return
CONTAINING_RECORD
(
iface
,
struct
qualifier_set
,
IWbemQualifierSet_iface
);
}
static
ULONG
WINAPI
qualifier_set_AddRef
(
IWbemQualifierSet
*
iface
)
{
struct
qualifier_set
*
set
=
impl_from_IWbemQualifierSet
(
iface
);
return
InterlockedIncrement
(
&
set
->
refs
);
}
static
ULONG
WINAPI
qualifier_set_Release
(
IWbemQualifierSet
*
iface
)
{
struct
qualifier_set
*
set
=
impl_from_IWbemQualifierSet
(
iface
);
LONG
refs
=
InterlockedDecrement
(
&
set
->
refs
);
if
(
!
refs
)
{
TRACE
(
"destroying %p
\n
"
,
set
);
heap_free
(
set
);
}
return
refs
;
}
static
HRESULT
WINAPI
qualifier_set_QueryInterface
(
IWbemQualifierSet
*
iface
,
REFIID
riid
,
void
**
ppvObject
)
{
struct
qualifier_set
*
set
=
impl_from_IWbemQualifierSet
(
iface
);
TRACE
(
"%p, %s, %p
\n
"
,
set
,
debugstr_guid
(
riid
),
ppvObject
);
if
(
IsEqualGUID
(
riid
,
&
IID_IWbemQualifierSet
)
||
IsEqualGUID
(
riid
,
&
IID_IUnknown
)
)
{
*
ppvObject
=
set
;
}
else
{
FIXME
(
"interface %s not implemented
\n
"
,
debugstr_guid
(
riid
));
return
E_NOINTERFACE
;
}
IWbemQualifierSet_AddRef
(
iface
);
return
S_OK
;
}
static
HRESULT
WINAPI
qualifier_set_Get
(
IWbemQualifierSet
*
iface
,
LPCWSTR
wszName
,
LONG
lFlags
,
VARIANT
*
pVal
,
LONG
*
plFlavor
)
{
FIXME
(
"%p, %s, %08x, %p, %p
\n
"
,
iface
,
debugstr_w
(
wszName
),
lFlags
,
pVal
,
plFlavor
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_Put
(
IWbemQualifierSet
*
iface
,
LPCWSTR
wszName
,
VARIANT
*
pVal
,
LONG
lFlavor
)
{
FIXME
(
"%p, %s, %p, %d
\n
"
,
iface
,
debugstr_w
(
wszName
),
pVal
,
lFlavor
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_Delete
(
IWbemQualifierSet
*
iface
,
LPCWSTR
wszName
)
{
FIXME
(
"%p, %s
\n
"
,
iface
,
debugstr_w
(
wszName
));
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_GetNames
(
IWbemQualifierSet
*
iface
,
LONG
lFlags
,
SAFEARRAY
**
pNames
)
{
FIXME
(
"%p, %08x, %p
\n
"
,
iface
,
lFlags
,
pNames
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_BeginEnumeration
(
IWbemQualifierSet
*
iface
,
LONG
lFlags
)
{
FIXME
(
"%p, %08x
\n
"
,
iface
,
lFlags
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_Next
(
IWbemQualifierSet
*
iface
,
LONG
lFlags
,
BSTR
*
pstrName
,
VARIANT
*
pVal
,
LONG
*
plFlavor
)
{
FIXME
(
"%p, %08x, %p, %p, %p
\n
"
,
iface
,
lFlags
,
pstrName
,
pVal
,
plFlavor
);
return
E_NOTIMPL
;
}
static
HRESULT
WINAPI
qualifier_set_EndEnumeration
(
IWbemQualifierSet
*
iface
)
{
FIXME
(
"%p
\n
"
,
iface
);
return
E_NOTIMPL
;
}
static
const
IWbemQualifierSetVtbl
qualifier_set_vtbl
=
{
qualifier_set_QueryInterface
,
qualifier_set_AddRef
,
qualifier_set_Release
,
qualifier_set_Get
,
qualifier_set_Put
,
qualifier_set_Delete
,
qualifier_set_GetNames
,
qualifier_set_BeginEnumeration
,
qualifier_set_Next
,
qualifier_set_EndEnumeration
};
HRESULT
WbemQualifierSet_create
(
IUnknown
*
pUnkOuter
,
LPVOID
*
ppObj
)
{
struct
qualifier_set
*
set
;
TRACE
(
"%p, %p
\n
"
,
pUnkOuter
,
ppObj
);
if
(
!
(
set
=
heap_alloc
(
sizeof
(
*
set
)
)))
return
E_OUTOFMEMORY
;
set
->
IWbemQualifierSet_iface
.
lpVtbl
=
&
qualifier_set_vtbl
;
set
->
refs
=
1
;
*
ppObj
=
&
set
->
IWbemQualifierSet_iface
;
TRACE
(
"returning iface %p
\n
"
,
*
ppObj
);
return
S_OK
;
}
dlls/wbemprox/wbemprox_private.h
View file @
2797cd8e
...
...
@@ -197,6 +197,7 @@ HRESULT WbemServices_create(IUnknown *, const WCHAR *, LPVOID *) DECLSPEC_HIDDEN
HRESULT
create_class_object
(
const
WCHAR
*
,
IEnumWbemClassObject
*
,
UINT
,
struct
record
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
HRESULT
EnumWbemClassObject_create
(
IUnknown
*
,
struct
query
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
WbemQualifierSet_create
(
IUnknown
*
,
LPVOID
*
)
DECLSPEC_HIDDEN
;
HRESULT
process_get_owner
(
IWbemClassObject
*
,
IWbemClassObject
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
HRESULT
reg_enum_key
(
IWbemClassObject
*
,
IWbemClassObject
*
,
IWbemClassObject
**
)
DECLSPEC_HIDDEN
;
...
...
include/wbemcli.idl
View file @
2797cd8e
...
...
@@ -597,3 +597,41 @@ interface IWbemClassObject : IUnknown
[
in
,
string
]
LPCWSTR
wszMethodName
,
[
out
]
BSTR
*
pstrClassName
)
;
}
[
object
,
restricted
,
local
,
uuid
(
dc12a680
-
737
f
-
11
cf
-884d-00
aa004b2e24
)
]
interface
IWbemQualifierSet
:
IUnknown
{
HRESULT
Get
(
[
in
,
string
]
LPCWSTR
wszName
,
[
in
]
long
lFlags
,
[
out
]
VARIANT
*
pVal
,
[
out
]
long
*
plFlavor
)
;
HRESULT
Put
(
[
in
,
string
]
LPCWSTR
wszName
,
[
in
]
VARIANT
*
pVal
,
[
in
]
long
lFlavor
)
;
HRESULT
Delete
(
[
in
,
string
]
LPCWSTR
wszName
)
;
HRESULT
GetNames
(
[
in
]
long
lFlags
,
[
out
]
SAFEARRAY
**
pNames
)
;
HRESULT
BeginEnumeration
(
[
in
]
long
lFlags
)
;
HRESULT
Next
(
[
in
]
long
lFlags
,
[
out
]
BSTR
*
pstrName
,
[
out
]
VARIANT
*
pVal
,
[
out
]
long
*
plFlavor
)
;
HRESULT
EndEnumeration
()
;
}
;
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