2 * Copyright 2012 Hans Leidekker for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 interface IWbemPathKeyList
;
24 typedef [v1_enum] enum tag_WBEM_PATH_CREATE_FLAG
26 WBEMPATH_CREATE_ACCEPT_RELATIVE
= 0x1,
27 WBEMPATH_CREATE_ACCEPT_ABSOLUTE
= 0x2,
28 WBEMPATH_CREATE_ACCEPT_ALL
= 0x4,
29 WBEMPATH_TREAT_SINGLE_IDENT_AS_NS
= 0x8
30 } tag_WBEM_PATH_CREATE_FLAG
;
32 typedef [v1_enum] enum tag_WBEM_GET_TEXT_FLAGS
34 WBEMPATH_COMPRESSED
= 0x1,
35 WBEMPATH_GET_RELATIVE_ONLY
= 0x2,
36 WBEMPATH_GET_SERVER_TOO
= 0x4,
37 WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY
= 0x8,
38 WBEMPATH_GET_NAMESPACE_ONLY
= 0x10,
39 WBEMPATH_GET_ORIGINAL
= 0x20
40 } tag_WBEM_GET_TEXT_FLAGS
;
45 uuid(9ae62877
-7544-4bb0
-aa26
-a13824659ed6
)
47 interface IWbemPathKeyList
: IUnknown
50 [out] ULONG
*puKeyCount
);
53 [in,string] LPCWSTR wszName
,
59 [in,string] LPCWSTR wszName
,
62 [in] VARIANT *pKeyVal
);
67 [in,out] ULONG
*puNameBufSize
,
68 [in,out] LPWSTR pszKeyName
,
69 [in,out] ULONG
*puKeyValBufSize
,
70 [in,out] LPVOID pKeyVal
,
71 [out] ULONG
*puApparentCimType
);
76 [in,out] ULONG
*puNameBufSize
,
77 [in,out] LPWSTR pszKeyName
,
78 [in,out] VARIANT *pKeyValue
,
79 [out] ULONG
*puApparentCimType
);
82 [in,string] LPCWSTR wszName
,
85 HRESULT RemoveAllKeys
(
88 HRESULT MakeSingleton
([in] boolean bSet
);
91 [in] ULONG uRequestedInfo
,
92 [out] ULONGLONG
*puResponse
);
96 [in,out] ULONG
*puBuffLength
,
97 [in,out,string] LPWSTR pszText
);
100 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
101 cpp_quote
("#undef GetClassName")
107 uuid(3bc15af2
-736c
-477e-9e51
-238af8667dcc
)
109 interface IWbemPath
: IUnknown
113 [in] LPCWSTR pszPath
);
117 [in,out] ULONG
*puBuffLength
,
118 [in,out,string] LPWSTR pszText
);
121 [in] ULONG uRequestedInfo
,
122 [out] ULONGLONG
*puResponse
);
125 [in,string] LPCWSTR Name
);
128 [in,out] ULONG
*puNameBufLength
,
129 [in,out,string] LPWSTR pName
);
131 HRESULT GetNamespaceCount
(
132 [out] ULONG
*puCount
);
134 HRESULT SetNamespaceAt
(
136 [in,string] LPCWSTR pszName
);
138 HRESULT GetNamespaceAt
(
140 [in,out] ULONG
*puNameBufLength
,
141 [in,out,string] LPWSTR pName
);
143 HRESULT RemoveNamespaceAt
(
146 HRESULT RemoveAllNamespaces
();
148 HRESULT GetScopeCount
(
149 [out] ULONG
*puCount
);
153 [in] LPWSTR pszClass
);
155 HRESULT SetScopeFromText
(
157 [in] LPWSTR pszText
);
161 [in,out] ULONG
*puClassNameBufSize
,
162 [in,out] LPWSTR pszClass
,
163 [out] IWbemPathKeyList
**pKeyList
);
165 HRESULT GetScopeAsText
(
167 [in,out] ULONG
*puTextBufSize
,
168 [in,out] LPWSTR pszText
);
173 HRESULT RemoveAllScopes
();
175 HRESULT SetClassName
(
176 [in,string] LPCWSTR Name
);
178 HRESULT GetClassName
(
179 [in,out] ULONG
*puBuffLength
,
180 [in,out,string] LPWSTR pszName
);
183 [out] IWbemPathKeyList
**pOut
);
185 HRESULT CreateClassPart
(
187 [in,string] LPCWSTR Name
);
189 HRESULT DeleteClassPart
(
193 [in,string] LPWSTR wszMachine
,
194 [in,string] LPWSTR wszNamespace
);
196 BOOL IsRelativeOrChild
(
197 [in,string] LPWSTR wszMachine
,
198 [in,string] LPWSTR wszNamespace
,
202 [in,string] LPCWSTR wszMachine
);
204 BOOL IsSameClassName
(
205 [in,string] LPCWSTR wszClass
);
209 uuid(cf4cc405
-e2c5
-4ddd
-b3ce
-5e7582d8c9fa
)