1 | /*
|
---|
2 | * Copyright 2012 Hans Leidekker for CodeWeavers
|
---|
3 | *
|
---|
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.
|
---|
8 | *
|
---|
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.
|
---|
13 | *
|
---|
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
|
---|
17 | */
|
---|
18 |
|
---|
19 | /*
|
---|
20 | * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
|
---|
21 | * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
|
---|
22 | * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
|
---|
23 | * a choice of LGPL license versions is made available with the language indicating
|
---|
24 | * that LGPLv2 or any later version may be used, or where a choice of which version
|
---|
25 | * of the LGPL is applied is otherwise unspecified.
|
---|
26 | */
|
---|
27 |
|
---|
28 | import "oaidl.idl";
|
---|
29 |
|
---|
30 | interface IWbemPath;
|
---|
31 | interface IWbemPathKeyList;
|
---|
32 |
|
---|
33 | typedef [v1_enum] enum tag_WBEM_PATH_STATUS_FLAG
|
---|
34 | {
|
---|
35 | WBEMPATH_INFO_ANON_LOCAL_MACHINE = 0x1,
|
---|
36 | WBEMPATH_INFO_HAS_MACHINE_NAME = 0x2,
|
---|
37 | WBEMPATH_INFO_IS_CLASS_REF = 0x4,
|
---|
38 | WBEMPATH_INFO_IS_INST_REF = 0x8,
|
---|
39 | WBEMPATH_INFO_HAS_SUBSCOPES = 0x10,
|
---|
40 | WBEMPATH_INFO_IS_COMPOUND = 0x20,
|
---|
41 | WBEMPATH_INFO_HAS_V2_REF_PATHS = 0x40,
|
---|
42 | WBEMPATH_INFO_HAS_IMPLIED_KEY = 0x80,
|
---|
43 | WBEMPATH_INFO_CONTAINS_SINGLETON = 0x100,
|
---|
44 | WBEMPATH_INFO_V1_COMPLIANT = 0x200,
|
---|
45 | WBEMPATH_INFO_V2_COMPLIANT = 0x400,
|
---|
46 | WBEMPATH_INFO_CIM_COMPLIANT = 0x800,
|
---|
47 | WBEMPATH_INFO_IS_SINGLETON = 0x1000,
|
---|
48 | WBEMPATH_INFO_IS_PARENT = 0x2000,
|
---|
49 | WBEMPATH_INFO_SERVER_NAMESPACE_ONLY = 0x4000,
|
---|
50 | WBEMPATH_INFO_NATIVE_PATH = 0x8000,
|
---|
51 | WBEMPATH_INFO_WMI_PATH = 0x10000,
|
---|
52 | WBEMPATH_INFO_PATH_HAD_SERVER = 0x20000
|
---|
53 | } tag_WBEM_PATH_STATUS_FLAG;
|
---|
54 |
|
---|
55 | typedef [v1_enum] enum tag_WBEM_PATH_CREATE_FLAG
|
---|
56 | {
|
---|
57 | WBEMPATH_CREATE_ACCEPT_RELATIVE = 0x1,
|
---|
58 | WBEMPATH_CREATE_ACCEPT_ABSOLUTE = 0x2,
|
---|
59 | WBEMPATH_CREATE_ACCEPT_ALL = 0x4,
|
---|
60 | WBEMPATH_TREAT_SINGLE_IDENT_AS_NS = 0x8
|
---|
61 | } tag_WBEM_PATH_CREATE_FLAG;
|
---|
62 |
|
---|
63 | typedef [v1_enum] enum tag_WBEM_GET_TEXT_FLAGS
|
---|
64 | {
|
---|
65 | WBEMPATH_COMPRESSED = 0x1,
|
---|
66 | WBEMPATH_GET_RELATIVE_ONLY = 0x2,
|
---|
67 | WBEMPATH_GET_SERVER_TOO = 0x4,
|
---|
68 | WBEMPATH_GET_SERVER_AND_NAMESPACE_ONLY = 0x8,
|
---|
69 | WBEMPATH_GET_NAMESPACE_ONLY = 0x10,
|
---|
70 | WBEMPATH_GET_ORIGINAL = 0x20
|
---|
71 | } tag_WBEM_GET_TEXT_FLAGS;
|
---|
72 |
|
---|
73 | [
|
---|
74 | local,
|
---|
75 | object,
|
---|
76 | uuid(9ae62877-7544-4bb0-aa26-a13824659ed6)
|
---|
77 | ]
|
---|
78 | interface IWbemPathKeyList : IUnknown
|
---|
79 | {
|
---|
80 | HRESULT GetCount(
|
---|
81 | [out] ULONG *puKeyCount);
|
---|
82 |
|
---|
83 | HRESULT SetKey(
|
---|
84 | [in,string] LPCWSTR wszName,
|
---|
85 | [in] ULONG uFlags,
|
---|
86 | [in] ULONG uCimType,
|
---|
87 | [in] LPVOID pKeyVal);
|
---|
88 |
|
---|
89 | HRESULT SetKey2(
|
---|
90 | [in,string] LPCWSTR wszName,
|
---|
91 | [in] ULONG uFlags,
|
---|
92 | [in] ULONG uCimType,
|
---|
93 | [in] VARIANT *pKeyVal);
|
---|
94 |
|
---|
95 | HRESULT GetKey(
|
---|
96 | [in] ULONG uKeyIx,
|
---|
97 | [in] ULONG uFlags,
|
---|
98 | [in,out] ULONG *puNameBufSize,
|
---|
99 | [in,out] LPWSTR pszKeyName,
|
---|
100 | [in,out] ULONG *puKeyValBufSize,
|
---|
101 | [in,out] LPVOID pKeyVal,
|
---|
102 | [out] ULONG *puApparentCimType);
|
---|
103 |
|
---|
104 | HRESULT GetKey2(
|
---|
105 | [in] ULONG uKeyIx,
|
---|
106 | [in] ULONG uFlags,
|
---|
107 | [in,out] ULONG *puNameBufSize,
|
---|
108 | [in,out] LPWSTR pszKeyName,
|
---|
109 | [in,out] VARIANT *pKeyValue,
|
---|
110 | [out] ULONG *puApparentCimType);
|
---|
111 |
|
---|
112 | HRESULT RemoveKey(
|
---|
113 | [in,string] LPCWSTR wszName,
|
---|
114 | [in] ULONG uFlags);
|
---|
115 |
|
---|
116 | HRESULT RemoveAllKeys(
|
---|
117 | [in] ULONG uFlags);
|
---|
118 |
|
---|
119 | HRESULT MakeSingleton([in] boolean bSet);
|
---|
120 |
|
---|
121 | HRESULT GetInfo(
|
---|
122 | [in] ULONG uRequestedInfo,
|
---|
123 | [out] ULONGLONG *puResponse);
|
---|
124 |
|
---|
125 | HRESULT GetText(
|
---|
126 | [in] long lFlags,
|
---|
127 | [in,out] ULONG *puBuffLength,
|
---|
128 | [in,out,string] LPWSTR pszText);
|
---|
129 | };
|
---|
130 |
|
---|
131 | cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
|
---|
132 | cpp_quote("#undef GetClassName")
|
---|
133 | cpp_quote("#endif")
|
---|
134 |
|
---|
135 | [
|
---|
136 | local,
|
---|
137 | object,
|
---|
138 | uuid(3bc15af2-736c-477e-9e51-238af8667dcc)
|
---|
139 | ]
|
---|
140 | interface IWbemPath : IUnknown
|
---|
141 | {
|
---|
142 | HRESULT SetText(
|
---|
143 | [in] ULONG uMode,
|
---|
144 | [in] LPCWSTR pszPath);
|
---|
145 |
|
---|
146 | HRESULT GetText(
|
---|
147 | [in] long lFlags,
|
---|
148 | [in,out] ULONG *puBuffLength,
|
---|
149 | [in,out,string] LPWSTR pszText);
|
---|
150 |
|
---|
151 | HRESULT GetInfo(
|
---|
152 | [in] ULONG uRequestedInfo,
|
---|
153 | [out] ULONGLONG *puResponse);
|
---|
154 |
|
---|
155 | HRESULT SetServer(
|
---|
156 | [in,string] LPCWSTR Name);
|
---|
157 |
|
---|
158 | HRESULT GetServer(
|
---|
159 | [in,out] ULONG *puNameBufLength,
|
---|
160 | [in,out,string] LPWSTR pName);
|
---|
161 |
|
---|
162 | HRESULT GetNamespaceCount(
|
---|
163 | [out] ULONG *puCount);
|
---|
164 |
|
---|
165 | HRESULT SetNamespaceAt(
|
---|
166 | [in] ULONG uIndex,
|
---|
167 | [in,string] LPCWSTR pszName);
|
---|
168 |
|
---|
169 | HRESULT GetNamespaceAt(
|
---|
170 | [in] ULONG uIndex,
|
---|
171 | [in,out] ULONG *puNameBufLength,
|
---|
172 | [in,out,string] LPWSTR pName);
|
---|
173 |
|
---|
174 | HRESULT RemoveNamespaceAt(
|
---|
175 | [in] ULONG uIndex);
|
---|
176 |
|
---|
177 | HRESULT RemoveAllNamespaces();
|
---|
178 |
|
---|
179 | HRESULT GetScopeCount(
|
---|
180 | [out] ULONG *puCount);
|
---|
181 |
|
---|
182 | HRESULT SetScope(
|
---|
183 | [in] ULONG uIndex,
|
---|
184 | [in] LPWSTR pszClass);
|
---|
185 |
|
---|
186 | HRESULT SetScopeFromText(
|
---|
187 | [in] ULONG uIndex,
|
---|
188 | [in] LPWSTR pszText);
|
---|
189 |
|
---|
190 | HRESULT GetScope(
|
---|
191 | [in] ULONG uIndex,
|
---|
192 | [in,out] ULONG *puClassNameBufSize,
|
---|
193 | [in,out] LPWSTR pszClass,
|
---|
194 | [out] IWbemPathKeyList **pKeyList);
|
---|
195 |
|
---|
196 | HRESULT GetScopeAsText(
|
---|
197 | [in] ULONG uIndex,
|
---|
198 | [in,out] ULONG *puTextBufSize,
|
---|
199 | [in,out] LPWSTR pszText);
|
---|
200 |
|
---|
201 | HRESULT RemoveScope(
|
---|
202 | [in] ULONG uIndex);
|
---|
203 |
|
---|
204 | HRESULT RemoveAllScopes();
|
---|
205 |
|
---|
206 | HRESULT SetClassName(
|
---|
207 | [in,string] LPCWSTR Name);
|
---|
208 |
|
---|
209 | HRESULT GetClassName(
|
---|
210 | [in,out] ULONG *puBuffLength,
|
---|
211 | [in,out,string] LPWSTR pszName);
|
---|
212 |
|
---|
213 | HRESULT GetKeyList(
|
---|
214 | [out] IWbemPathKeyList **pOut);
|
---|
215 |
|
---|
216 | HRESULT CreateClassPart(
|
---|
217 | [in] long lFlags,
|
---|
218 | [in,string] LPCWSTR Name);
|
---|
219 |
|
---|
220 | HRESULT DeleteClassPart(
|
---|
221 | [in] long lFlags);
|
---|
222 |
|
---|
223 | BOOL IsRelative(
|
---|
224 | [in,string] LPWSTR wszMachine,
|
---|
225 | [in,string] LPWSTR wszNamespace);
|
---|
226 |
|
---|
227 | BOOL IsRelativeOrChild(
|
---|
228 | [in,string] LPWSTR wszMachine,
|
---|
229 | [in,string] LPWSTR wszNamespace,
|
---|
230 | [in] long lFlags);
|
---|
231 |
|
---|
232 | BOOL IsLocal(
|
---|
233 | [in,string] LPCWSTR wszMachine);
|
---|
234 |
|
---|
235 | BOOL IsSameClassName(
|
---|
236 | [in,string] LPCWSTR wszClass);
|
---|
237 | };
|
---|
238 |
|
---|
239 | [
|
---|
240 | uuid(cf4cc405-e2c5-4ddd-b3ce-5e7582d8c9fa)
|
---|
241 | ]
|
---|
242 | coclass WbemDefPath
|
---|
243 | {
|
---|
244 | interface IWbemPath;
|
---|
245 | };
|
---|