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_STATUS_FLAG
26 WBEMPATH_INFO_ANON_LOCAL_MACHINE
= 0x1,
27 WBEMPATH_INFO_HAS_MACHINE_NAME
= 0x2,
28 WBEMPATH_INFO_IS_CLASS_REF
= 0x4,
29 WBEMPATH_INFO_IS_INST_REF
= 0x8,
30 WBEMPATH_INFO_HAS_SUBSCOPES
= 0x10,
31 WBEMPATH_INFO_IS_COMPOUND
= 0x20,
32 WBEMPATH_INFO_HAS_V2_REF_PATHS
= 0x40,
33 WBEMPATH_INFO_HAS_IMPLIED_KEY
= 0x80,
34 WBEMPATH_INFO_CONTAINS_SINGLETON
= 0x100,
35 WBEMPATH_INFO_V1_COMPLIANT
= 0x200,
36 WBEMPATH_INFO_V2_COMPLIANT
= 0x400,
37 WBEMPATH_INFO_CIM_COMPLIANT
= 0x800,
38 WBEMPATH_INFO_IS_SINGLETON
= 0x1000,
39 WBEMPATH_INFO_IS_PARENT
= 0x2000,
40 WBEMPATH_INFO_SERVER_NAMESPACE_ONLY
= 0x4000,
41 WBEMPATH_INFO_NATIVE_PATH
= 0x8000,
42 WBEMPATH_INFO_WMI_PATH
= 0x10000,
43 WBEMPATH_INFO_PATH_HAD_SERVER
= 0x20000
44 } tag_WBEM_PATH_STATUS_FLAG
;
46 typedef [v1_enum] enum tag_WBEM_PATH_CREATE_FLAG
48 WBEMPATH_CREATE_ACCEPT_RELATIVE
= 0x1,
49 WBEMPATH_CREATE_ACCEPT_ABSOLUTE
= 0x2,
50 WBEMPATH_CREATE_ACCEPT_ALL
= 0x4,
51 WBEMPATH_TREAT_SINGLE_IDENT_AS_NS
= 0x8
52 } tag_WBEM_PATH_CREATE_FLAG
;
54 typedef [v1_enum] enum tag_WBEM_GET_TEXT_FLAGS
56 WBEMPATH_COMPRESSED
= 0x1,
57 WBEMPATH_GET_RELATIVE_ONLY
= 0x2,
58 WBEMPATH_GET_SERVER_TOO
= 0x4,
59 WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY
= 0x8,
60 WBEMPATH_GET_NAMESPACE_ONLY
= 0x10,
61 WBEMPATH_GET_ORIGINAL
= 0x20
62 } tag_WBEM_GET_TEXT_FLAGS
;
67 uuid(9ae62877
-7544-4bb0
-aa26
-a13824659ed6
)
69 interface IWbemPathKeyList
: IUnknown
72 [out] ULONG
*puKeyCount
);
75 [in,string] LPCWSTR wszName
,
81 [in,string] LPCWSTR wszName
,
84 [in] VARIANT *pKeyVal
);
89 [in,out] ULONG
*puNameBufSize
,
90 [in,out] LPWSTR pszKeyName
,
91 [in,out] ULONG
*puKeyValBufSize
,
92 [in,out] LPVOID pKeyVal
,
93 [out] ULONG
*puApparentCimType
);
98 [in,out] ULONG
*puNameBufSize
,
99 [in,out] LPWSTR pszKeyName
,
100 [in,out] VARIANT *pKeyValue
,
101 [out] ULONG
*puApparentCimType
);
104 [in,string] LPCWSTR wszName
,
107 HRESULT RemoveAllKeys
(
110 HRESULT MakeSingleton
([in] boolean bSet
);
113 [in] ULONG uRequestedInfo
,
114 [out] ULONGLONG
*puResponse
);
118 [in,out] ULONG
*puBuffLength
,
119 [in,out,string] LPWSTR pszText
);
122 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
123 cpp_quote
("#undef GetClassName")
129 uuid(3bc15af2
-736c
-477e-9e51
-238af8667dcc
)
131 interface IWbemPath
: IUnknown
135 [in] LPCWSTR pszPath
);
139 [in,out] ULONG
*puBuffLength
,
140 [in,out,string] LPWSTR pszText
);
143 [in] ULONG uRequestedInfo
,
144 [out] ULONGLONG
*puResponse
);
147 [in,string] LPCWSTR Name
);
150 [in,out] ULONG
*puNameBufLength
,
151 [in,out,string] LPWSTR pName
);
153 HRESULT GetNamespaceCount
(
154 [out] ULONG
*puCount
);
156 HRESULT SetNamespaceAt
(
158 [in,string] LPCWSTR pszName
);
160 HRESULT GetNamespaceAt
(
162 [in,out] ULONG
*puNameBufLength
,
163 [in,out,string] LPWSTR pName
);
165 HRESULT RemoveNamespaceAt
(
168 HRESULT RemoveAllNamespaces
();
170 HRESULT GetScopeCount
(
171 [out] ULONG
*puCount
);
175 [in] LPWSTR pszClass
);
177 HRESULT SetScopeFromText
(
179 [in] LPWSTR pszText
);
183 [in,out] ULONG
*puClassNameBufSize
,
184 [in,out] LPWSTR pszClass
,
185 [out] IWbemPathKeyList
**pKeyList
);
187 HRESULT GetScopeAsText
(
189 [in,out] ULONG
*puTextBufSize
,
190 [in,out] LPWSTR pszText
);
195 HRESULT RemoveAllScopes
();
197 HRESULT SetClassName
(
198 [in,string] LPCWSTR Name
);
200 HRESULT GetClassName
(
201 [in,out] ULONG
*puBuffLength
,
202 [in,out,string] LPWSTR pszName
);
205 [out] IWbemPathKeyList
**pOut
);
207 HRESULT CreateClassPart
(
209 [in,string] LPCWSTR Name
);
211 HRESULT DeleteClassPart
(
215 [in,string] LPWSTR wszMachine
,
216 [in,string] LPWSTR wszNamespace
);
218 BOOL IsRelativeOrChild
(
219 [in,string] LPWSTR wszMachine
,
220 [in,string] LPWSTR wszNamespace
,
224 [in,string] LPCWSTR wszMachine
);
226 BOOL IsSameClassName
(
227 [in,string] LPCWSTR wszClass
);
231 uuid(cf4cc405
-e2c5
-4ddd
-b3ce
-5e7582d8c9fa
)