1
by Chuck Short
Initial version |
1 |
/*
|
2 |
* WMI IDL. |
|
3 |
* See http://en.wikipedia.org/wiki/Windows_Management_Instrumentation for more information. |
|
4 |
*/
|
|
5 |
#include "idl_types.h"
|
|
6 |
||
7 |
import "dcom.idl"; |
|
8 |
import "misc.idl"; |
|
9 |
||
10 |
[
|
|
11 |
helper("librpc/ndr/ndr_wmi.h"), |
|
12 |
uuid("8BC3F05E-D86B-11d0-A075-00C04FB68820") |
|
13 |
] coclass WbemLevel1Login |
|
14 |
{
|
|
15 |
interface IWbemLevel1Login; |
|
16 |
||
17 |
};
|
|
18 |
||
19 |
[
|
|
20 |
local, |
|
21 |
object, |
|
22 |
uuid("dc12a681-737f-11cf-884d-00aa004b2e24") |
|
23 |
]
|
|
24 |
interface IWbemClassObject : IUnknown |
|
25 |
{
|
|
26 |
||
27 |
typedef [noprint] struct { |
|
28 |
[value(0x72657355)] uint32 flags; |
|
29 |
[string, charset(UTF16)] uint16 data[]; |
|
30 |
} BSTR; |
|
31 |
||
32 |
WERROR Delete( |
|
33 |
[in, string, charset(UTF16)] uint16 *wszName |
|
34 |
);
|
|
35 |
||
36 |
};
|
|
37 |
||
38 |
[
|
|
39 |
uuid(9A653086-174F-11d2-B5F9-00104B703EFD) |
|
40 |
]
|
|
41 |
coclass WbemClassObject |
|
42 |
{
|
|
43 |
interface IWbemClassObject; |
|
44 |
};
|
|
45 |
||
46 |
||
47 |
[
|
|
48 |
uuid("9556dc99-828c-11cf-a37e-00aa003240c7"), |
|
49 |
object, |
|
50 |
pointer_default(unique) |
|
51 |
] interface IWbemServices : IUnknown |
|
52 |
{
|
|
53 |
typedef [v1_enum] enum |
|
54 |
{
|
|
55 |
RPC_S_CALL_FAILED = 1726, |
|
56 |
||
57 |
WBEM_NO_ERROR = 0, |
|
58 |
WBEM_S_NO_ERROR = 0, |
|
59 |
WBEM_S_SAME = 0, |
|
60 |
WBEM_S_FALSE = 1, |
|
61 |
WBEM_S_ALREADY_EXISTS = 0x40001, |
|
62 |
WBEM_S_RESET_TO_DEFAULT = 0x40002, |
|
63 |
WBEM_S_DIFFERENT = 0x40003, |
|
64 |
WBEM_S_TIMEDOUT = 0x40004, |
|
65 |
WBEM_S_NO_MORE_DATA = 0x40005, |
|
66 |
WBEM_S_OPERATION_CANCELLED = 0x40006, |
|
67 |
WBEM_S_PENDING = 0x40007, |
|
68 |
WBEM_S_DUPLICATE_OBJECTS = 0x40008, |
|
69 |
WBEM_S_ACCESS_DENIED = 0x40009, |
|
70 |
WBEM_S_PARTIAL_RESULTS = 0x40010, |
|
71 |
WBEM_S_NO_POSTHOOK = 0x40011, |
|
72 |
WBEM_S_POSTHOOK_WITH_BOTH = 0x40012, |
|
73 |
WBEM_S_POSTHOOK_WITH_NEW = 0x40013, |
|
74 |
WBEM_S_POSTHOOK_WITH_STATUS = 0x40014, |
|
75 |
WBEM_S_POSTHOOK_WITH_OLD = 0x40015, |
|
76 |
WBEM_S_REDO_PREHOOK_WITH_ORIGINAL_OBJECT = 0x40016, |
|
77 |
WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017, |
|
78 |
WBEM_E_FAILED = 0x80041001, |
|
79 |
WBEM_E_NOT_FOUND = 0x80041002, |
|
80 |
WBEM_E_ACCESS_DENIED = 0x80041003, |
|
81 |
WBEM_E_PROVIDER_FAILURE = 0x80041004, |
|
82 |
WBEM_E_TYPE_MISMATCH = 0x80041005, |
|
83 |
WBEM_E_OUT_OF_MEMORY = 0x80041006, |
|
84 |
WBEM_E_INVALID_CONTEXT = 0x80041007, |
|
85 |
WBEM_E_INVALID_PARAMETER = 0x80041008, |
|
86 |
WBEM_E_NOT_AVAILABLE = 0x80041009, |
|
87 |
WBEM_E_CRITICAL_ERROR = 0x8004100A, |
|
88 |
WBEM_E_INVALID_STREAM = 0x8004100B, |
|
89 |
WBEM_E_NOT_SUPPORTED = 0x8004100C, |
|
90 |
WBEM_E_INVALID_SUPERCLASS = 0x8004100D, |
|
91 |
WBEM_E_INVALID_NAMESPACE = 0x8004100E, |
|
92 |
WBEM_E_INVALID_OBJECT = 0x8004100F, |
|
93 |
WBEM_E_INVALID_CLASS = 0x80041010, |
|
94 |
WBEM_E_PROVIDER_NOT_FOUND = 0x80041011, |
|
95 |
WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012, |
|
96 |
WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013, |
|
97 |
WBEM_E_INITIALIZATION_FAILURE = 0x80041014, |
|
98 |
WBEM_E_TRANSPORT_FAILURE = 0x80041015, |
|
99 |
WBEM_E_INVALID_OPERATION = 0x80041016, |
|
100 |
WBEM_E_INVALID_QUERY = 0x80041017, |
|
101 |
WBEM_E_INVALID_QUERY_TYPE = 0x80041018, |
|
102 |
WBEM_E_ALREADY_EXISTS = 0x80041019, |
|
103 |
WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101A, |
|
104 |
WBEM_E_PROPAGATED_QUALIFIER = 0x8004101B, |
|
105 |
WBEM_E_PROPAGATED_PROPERTY = 0x8004101C, |
|
106 |
WBEM_E_UNEXPECTED = 0x8004101D, |
|
107 |
WBEM_E_ILLEGAL_OPERATION = 0x8004101E, |
|
108 |
WBEM_E_CANNOT_BE_KEY = 0x8004101F, |
|
109 |
WBEM_E_INCOMPLETE_CLASS = 0x80041020, |
|
110 |
WBEM_E_INVALID_SYNTAX = 0x80041021, |
|
111 |
WBEM_E_NONDECORATED_OBJECT = 0x80041022, |
|
112 |
WBEM_E_READ_ONLY = 0x80041023, |
|
113 |
WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024, |
|
114 |
WBEM_E_CLASS_HAS_CHILDREN = 0x80041025, |
|
115 |
WBEM_E_CLASS_HAS_INSTANCES = 0x80041026, |
|
116 |
WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027, |
|
117 |
WBEM_E_ILLEGAL_NULL = 0x80041028, |
|
118 |
WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029, |
|
119 |
WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102A, |
|
120 |
WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102B, |
|
121 |
WBEM_E_CANNOT_BE_SINGLETON = 0x8004102C, |
|
122 |
WBEM_E_INVALID_CIM_TYPE = 0x8004102D, |
|
123 |
WBEM_E_INVALID_METHOD = 0x8004102E, |
|
124 |
WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102F, |
|
125 |
WBEM_E_SYSTEM_PROPERTY = 0x80041030, |
|
126 |
WBEM_E_INVALID_PROPERTY = 0x80041031, |
|
127 |
WBEM_E_CALL_CANCELLED = 0x80041032, |
|
128 |
WBEM_E_SHUTTING_DOWN = 0x80041033, |
|
129 |
WBEM_E_PROPAGATED_METHOD = 0x80041034, |
|
130 |
WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035, |
|
131 |
WBEM_E_MISSING_PARAMETER_ID = 0x80041036, |
|
132 |
WBEM_E_INVALID_PARAMETER_ID = 0x80041037, |
|
133 |
WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038, |
|
134 |
WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039, |
|
135 |
WBEM_E_INVALID_OBJECT_PATH = 0x8004103A, |
|
136 |
WBEM_E_OUT_OF_DISK_SPACE = 0x8004103B, |
|
137 |
WBEM_E_BUFFER_TOO_SMALL = 0x8004103C, |
|
138 |
WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103D, |
|
139 |
WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103E, |
|
140 |
WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103F, |
|
141 |
WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040, |
|
142 |
WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041, |
|
143 |
WBEM_E_INVALID_QUALIFIER = 0x80041042, |
|
144 |
WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043, |
|
145 |
WBEM_E_TOO_MUCH_DATA = 0x80041044, |
|
146 |
WBEM_E_SERVER_TOO_BUSY = 0x80041045, |
|
147 |
WBEM_E_INVALID_FLAVOR = 0x80041046, |
|
148 |
WBEM_E_CIRCULAR_REFERENCE = 0x80041047, |
|
149 |
WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048, |
|
150 |
WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049, |
|
151 |
WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050, |
|
152 |
WBEM_E_TOO_MANY_PROPERTIES = 0x80041051, |
|
153 |
WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052, |
|
154 |
WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053, |
|
155 |
WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054, |
|
156 |
WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055, |
|
157 |
WBEM_E_METHOD_DISABLED = 0x80041056, |
|
158 |
WBEM_E_REFRESHER_BUSY = 0x80041057, |
|
159 |
WBEM_E_UNPARSABLE_QUERY = 0x80041058, |
|
160 |
WBEM_E_NOT_EVENT_CLASS = 0x80041059, |
|
161 |
WBEM_E_MISSING_GROUP_WITHIN = 0x8004105A, |
|
162 |
WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105B, |
|
163 |
WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105C, |
|
164 |
WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105D, |
|
165 |
WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105F, |
|
166 |
WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060, |
|
167 |
WBEM_E_QUEUE_OVERFLOW = 0x80041061, |
|
168 |
WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062, |
|
169 |
WBEM_E_INVALID_OPERATOR = 0x80041063, |
|
170 |
WBEM_E_LOCAL_CREDENTIALS = 0x80041064, |
|
171 |
WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065, |
|
172 |
WBEM_E_AMENDED_OBJECT = 0x80041066, |
|
173 |
WBEM_E_CLIENT_TOO_SLOW = 0x80041067, |
|
174 |
WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068, |
|
175 |
WBEM_E_TIMED_OUT = 0x80041069, |
|
176 |
WBEM_E_INVALID_ASSOCIATION = 0x8004106A, |
|
177 |
WBEM_E_AMBIGUOUS_OPERATION = 0x8004106B, |
|
178 |
WBEM_E_QUOTA_VIOLATION = 0x8004106C, |
|
179 |
WBEM_E_RESERVED_001 = 0x8004106D, |
|
180 |
WBEM_E_RESERVED_002 = 0x8004106E, |
|
181 |
WBEM_E_UNSUPPORTED_LOCALE = 0x8004106F, |
|
182 |
WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070, |
|
183 |
WBEM_E_CONNECTION_FAILED = 0x80041071, |
|
184 |
WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072, |
|
185 |
WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073, |
|
186 |
WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074, |
|
187 |
WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075, |
|
188 |
WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076, |
|
189 |
WBEM_E_RERUN_COMMAND = 0x80041077, |
|
190 |
WBEM_E_DATABASE_VER_MISMATCH = 0x80041078, |
|
191 |
WBEM_E_VETO_DELETE = 0x80041079, |
|
192 |
WBEM_E_VETO_PUT = 0x8004107A, |
|
193 |
WBEM_E_INVALID_LOCALE = 0x80041080, |
|
194 |
WBEM_E_PROVIDER_SUSPENDED = 0x80041081, |
|
195 |
WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082, |
|
196 |
WBEM_E_NO_SCHEMA = 0x80041083, |
|
197 |
WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084, |
|
198 |
WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085, |
|
199 |
WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086, |
|
200 |
WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087, |
|
201 |
WBEM_E_PROVIDER_TIMED_OUT = 0x80041088, |
|
202 |
WBEM_E_NO_KEY = 0x80041089, |
|
203 |
WBEM_E_PROVIDER_DISABLED = 0x8004108a |
|
204 |
} WBEMSTATUS; |
|
205 |
||
206 |
typedef [public,noprint] enum |
|
207 |
{
|
|
208 |
WBEM_FLAG_RETURN_WBEM_COMPLETE = 0, |
|
209 |
WBEM_FLAG_BIDIRECTIONAL = 0, |
|
210 |
WBEM_FLAG_RETURN_IMMEDIATELY = 0x000010, |
|
211 |
WBEM_FLAG_FORWARD_ONLY = 0x000020, |
|
212 |
WBEM_FLAG_NO_ERROR_OBJECT = 0x000040, |
|
213 |
WBEM_FLAG_SEND_STATUS = 0x000080, |
|
214 |
WBEM_FLAG_ENSURE_LOCATABLE = 0x000100, |
|
215 |
WBEM_FLAG_DIRECT_READ = 0x000200, |
|
216 |
WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x020000, |
|
217 |
WBEM_FLAG_STRONG_VALIDATION = 0x100000, |
|
218 |
WBEM_FLAG_RETURN_ERROR_OBJECT = 0, |
|
219 |
WBEM_FLAG_DONT_SEND_STATUS = 0, |
|
220 |
WBEM_FLAG_SEND_ONLY_SELECTED = 0, |
|
221 |
||
222 |
WBEM_RETURN_WHEN_COMPLETE = 0, |
|
223 |
WBEM_RETURN_IMMEDIATELY = WBEM_FLAG_RETURN_IMMEDIATELY, |
|
224 |
||
225 |
WBEM_MASK_RESERVED_FLAGS = 0x001F000 |
|
226 |
} WBEM_GENERIC_FLAG_TYPE; |
|
227 |
||
228 |
typedef [public,noprint,v1_enum] enum tag_WBEM_TIMEOUT_TYPE |
|
229 |
{
|
|
230 |
WBEM_NO_WAIT = 0, |
|
231 |
WBEM_INFINITE = 0xFFFFFFFF |
|
232 |
} WBEM_TIMEOUT_TYPE; |
|
233 |
||
234 |
typedef [public,v1_enum] enum |
|
235 |
{
|
|
236 |
CIM_EMPTY = 0, |
|
237 |
CIM_SINT16 = 2, |
|
238 |
CIM_SINT32 = 3, |
|
239 |
CIM_REAL32 = 4, |
|
240 |
CIM_REAL64 = 5, |
|
241 |
CIM_STRING = 8, |
|
242 |
||
243 |
CIM_BOOLEAN = 11, |
|
244 |
CIM_OBJECT = 13, |
|
245 |
CIM_SINT8 = 16, |
|
246 |
CIM_UINT8 = 17, |
|
247 |
CIM_UINT16 = 18, |
|
248 |
CIM_UINT32 = 19, |
|
249 |
CIM_SINT64 = 20, |
|
250 |
CIM_UINT64 = 21, |
|
251 |
CIM_DATETIME = 101, |
|
252 |
CIM_REFERENCE = 102, |
|
253 |
CIM_CHAR16 = 103, |
|
254 |
||
255 |
CIM_FLAG_ARRAY = 0x2000, |
|
256 |
CIM_ILLEGAL = 0x0fff, |
|
257 |
CIM_TYPEMASK = 0x2fff, |
|
258 |
||
259 |
CIM_ARR_SINT8 = CIM_FLAG_ARRAY | CIM_SINT8, |
|
260 |
CIM_ARR_UINT8 = CIM_FLAG_ARRAY | CIM_UINT8, |
|
261 |
CIM_ARR_SINT16 = CIM_FLAG_ARRAY | CIM_SINT16, |
|
262 |
CIM_ARR_UINT16 = CIM_FLAG_ARRAY | CIM_UINT16, |
|
263 |
CIM_ARR_SINT32 = CIM_FLAG_ARRAY | CIM_SINT32, |
|
264 |
CIM_ARR_UINT32 = CIM_FLAG_ARRAY | CIM_UINT32, |
|
265 |
CIM_ARR_SINT64 = CIM_FLAG_ARRAY | CIM_SINT64, |
|
266 |
CIM_ARR_UINT64 = CIM_FLAG_ARRAY | CIM_UINT64, |
|
267 |
CIM_ARR_REAL32 = CIM_FLAG_ARRAY | CIM_REAL32, |
|
268 |
CIM_ARR_REAL64 = CIM_FLAG_ARRAY | CIM_REAL64, |
|
269 |
CIM_ARR_BOOLEAN = CIM_FLAG_ARRAY | CIM_BOOLEAN, |
|
270 |
CIM_ARR_STRING = CIM_FLAG_ARRAY | CIM_STRING, |
|
271 |
CIM_ARR_DATETIME = CIM_FLAG_ARRAY | CIM_DATETIME, |
|
272 |
CIM_ARR_REFERENCE = CIM_FLAG_ARRAY | CIM_REFERENCE, |
|
273 |
CIM_ARR_CHAR16 = CIM_FLAG_ARRAY | CIM_CHAR16, |
|
274 |
CIM_ARR_OBJECT = CIM_FLAG_ARRAY | CIM_OBJECT |
|
275 |
||
276 |
} CIMTYPE_ENUMERATION; |
|
277 |
||
278 |
typedef [public,bitmap8bit] bitmap |
|
279 |
{
|
|
280 |
WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1, |
|
281 |
WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2, |
|
282 |
// WBEM_FLAVOR_MASK_PROPAGATION = 0x0F, |
|
283 |
||
284 |
WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10, |
|
285 |
// WBEM_FLAVOR_MASK_PERMISSIONS = 0x10, |
|
286 |
||
287 |
WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20, |
|
288 |
WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40, |
|
289 |
// WBEM_FLAVOR_MASK_ORIGIN = 0x60, |
|
290 |
||
291 |
WBEM_FLAVOR_AMENDED = 0x80 |
|
292 |
// WBEM_FLAVOR_MASK_AMENDED = 0x80 |
|
293 |
||
294 |
} WBEM_FLAVOR_TYPE; |
|
295 |
||
296 |
typedef [public,bitmap8bit] bitmap |
|
297 |
{
|
|
298 |
WCF_DECORATIONS = 1, |
|
299 |
WCF_INSTANCE = 2, |
|
300 |
WCF_CLASS = 4, |
|
301 |
WCF_CLASS_PART_INTERNAL = 8 |
|
302 |
// WCF_CLASS_PART_SHARED = 0x104 |
|
303 |
} WCO_FLAGS; |
|
304 |
||
305 |
typedef [public,nopull,nopush] struct |
|
306 |
{
|
|
307 |
uint32 count; |
|
308 |
[ref,charset(UTF16)] uint16 *item[count]; |
|
309 |
} CIMSTRINGS; |
|
310 |
||
311 |
typedef [public,bitmap8bit] bitmap { |
|
312 |
DEFAULT_FLAG_EMPTY = 1, |
|
313 |
DEFAULT_FLAG_INHERITED = 2 |
|
314 |
} DEFAULT_FLAGS; |
|
315 |
||
316 |
WERROR OpenNamespace( |
|
317 |
[in] BSTR strNamespace, |
|
318 |
[in] long lFlags, |
|
319 |
[in] IWbemContext* pCtx, |
|
320 |
[out, in, unique] IWbemServices** ppWorkingNamespace, |
|
321 |
[out, in, unique] IWbemCallResult** ppResult |
|
322 |
);
|
|
323 |
||
324 |
WERROR CancelAsyncCall( |
|
325 |
[in] IWbemObjectSink* pSink |
|
326 |
);
|
|
327 |
||
328 |
WERROR QueryObjectSink( |
|
329 |
[in] long lFlags, |
|
330 |
[out] IWbemObjectSink** ppResponseHandler |
|
331 |
);
|
|
332 |
||
333 |
WERROR GetObject( |
|
334 |
[in] BSTR strObjectPath, |
|
335 |
[in] long lFlags, |
|
336 |
[in] IWbemContext* pCtx, |
|
337 |
[out, in, unique] IWbemClassObject** ppObject, |
|
338 |
[out, in, unique] IWbemCallResult** ppCallResult |
|
339 |
);
|
|
340 |
||
341 |
||
342 |
WERROR GetObjectAsync( |
|
343 |
[in] BSTR strObjectPath, |
|
344 |
[in] long lFlags, |
|
345 |
[in] IWbemContext* pCtx, |
|
346 |
[in] IWbemObjectSink* pResponseHandler |
|
347 |
);
|
|
348 |
||
349 |
WERROR PutClass( |
|
350 |
[in] IWbemClassObject* pObject, |
|
351 |
[in] long lFlags, |
|
352 |
[in] IWbemContext* pCtx, |
|
353 |
[out, in, unique] IWbemCallResult** ppCallResult |
|
354 |
);
|
|
355 |
||
356 |
WERROR PutClassAsync( |
|
357 |
[in] IWbemClassObject* pObject, |
|
358 |
[in] long lFlags, |
|
359 |
[in] IWbemContext* pCtx, |
|
360 |
[in] IWbemObjectSink* pResponseHandler |
|
361 |
);
|
|
362 |
||
363 |
WERROR DeleteClass( |
|
364 |
[in] BSTR strClass, |
|
365 |
[in] long lFlags, |
|
366 |
[in] IWbemContext* pCtx, |
|
367 |
[out, in, unique] IWbemCallResult** ppCallResult |
|
368 |
);
|
|
369 |
||
370 |
WERROR DeleteClassAsync( |
|
371 |
[in] BSTR strClass, |
|
372 |
[in] long lFlags, |
|
373 |
[in] IWbemContext* pCtx, |
|
374 |
[in] IWbemObjectSink* pResponseHandler |
|
375 |
);
|
|
376 |
||
377 |
WERROR CreateClassEnum( |
|
378 |
[in] BSTR strSuperclass, |
|
379 |
[in] long lFlags, |
|
380 |
[in] IWbemContext* pCtx, |
|
381 |
[out] IEnumWbemClassObject** ppEnum |
|
382 |
);
|
|
383 |
||
384 |
WERROR CreateClassEnumAsync( |
|
385 |
[in] BSTR strSuperclass, |
|
386 |
[in] long lFlags, |
|
387 |
[in] IWbemContext* pCtx, |
|
388 |
[in] IWbemObjectSink* pResponseHandler |
|
389 |
);
|
|
390 |
||
391 |
WERROR PutInstance( |
|
392 |
[in] IWbemClassObject* pInst, |
|
393 |
[in] long lFlags, |
|
394 |
[in] IWbemContext* pCtx, |
|
395 |
[out, in, unique] IWbemCallResult** ppCallResult |
|
396 |
);
|
|
397 |
||
398 |
WERROR PutInstanceAsync( |
|
399 |
[in] IWbemClassObject* pInst, |
|
400 |
[in] long lFlags, |
|
401 |
[in] IWbemContext* pCtx, |
|
402 |
[in] IWbemObjectSink* pResponseHandler |
|
403 |
);
|
|
404 |
||
405 |
||
406 |
WERROR DeleteInstance( |
|
407 |
[in] BSTR strObjectPath, |
|
408 |
[in] long lFlags, |
|
409 |
[in] IWbemContext* pCtx, |
|
410 |
[out, in, unique] IWbemCallResult** ppCallResult |
|
411 |
);
|
|
412 |
||
413 |
||
414 |
WERROR DeleteInstanceAsync( |
|
415 |
[in] BSTR strObjectPath, |
|
416 |
[in] long lFlags, |
|
417 |
[in] IWbemContext* pCtx, |
|
418 |
[in] IWbemObjectSink* pResponseHandler |
|
419 |
);
|
|
420 |
||
421 |
||
422 |
WERROR CreateInstanceEnum( |
|
423 |
[in] BSTR strFilter, // allow more things than a class name |
|
424 |
[in] long lFlags, |
|
425 |
[in,unique] IWbemContext* pCtx, |
|
426 |
[out] IEnumWbemClassObject** ppEnum |
|
427 |
);
|
|
428 |
||
429 |
WERROR CreateInstanceEnumAsync( |
|
430 |
[in] BSTR strSuperClass, |
|
431 |
[in] long lFlags, |
|
432 |
[in] IWbemContext* pCtx, |
|
433 |
[in] IWbemObjectSink* pResponseHandler |
|
434 |
);
|
|
435 |
||
436 |
WERROR ExecQuery( |
|
437 |
[in] BSTR strQueryLanguage, |
|
438 |
[in] BSTR strQuery, |
|
439 |
[in] long lFlags, |
|
440 |
[in,unique] IWbemContext* pCtx, |
|
441 |
[out] IEnumWbemClassObject** ppEnum |
|
442 |
);
|
|
443 |
||
444 |
WERROR ExecQueryAsync( |
|
445 |
[in] BSTR strQueryLanguage, |
|
446 |
[in] BSTR strQuery, |
|
447 |
[in] long lFlags, |
|
448 |
[in] IWbemContext* pCtx, |
|
449 |
[in] IWbemObjectSink* pResponseHandler |
|
450 |
);
|
|
451 |
||
452 |
WERROR ExecNotificationQuery( |
|
453 |
[in] BSTR strQueryLanguage, |
|
454 |
[in] BSTR strQuery, |
|
455 |
[in] long lFlags, |
|
456 |
[in,unique] IWbemContext* pCtx, |
|
457 |
[out] IEnumWbemClassObject** ppEnum |
|
458 |
);
|
|
459 |
||
460 |
WERROR ExecNotificationQueryAsync( |
|
461 |
[in] BSTR strQueryLanguage, |
|
462 |
[in] BSTR strQuery, |
|
463 |
[in] long lFlags, |
|
464 |
[in] IWbemContext* pCtx, |
|
465 |
[in] IWbemObjectSink* pResponseHandler |
|
466 |
);
|
|
467 |
||
468 |
WERROR ExecMethod( |
|
469 |
[in] BSTR strObjectPath, |
|
470 |
[in] BSTR strMethodName, |
|
471 |
[in] long lFlags, |
|
472 |
[in,unique] IWbemContext* pCtx, |
|
473 |
[in,unique] IWbemClassObject* pInParams, |
|
474 |
[in,out,unique] IWbemClassObject** ppOutParams, |
|
475 |
[in,out,unique] IWbemCallResult** ppCallResult |
|
476 |
);
|
|
477 |
||
478 |
WERROR ExecMethodAsync( |
|
479 |
[in] BSTR strObjectPath, |
|
480 |
[in] BSTR strMethodName, |
|
481 |
[in] uint32 lFlags, |
|
482 |
[in] IWbemContext* pCtx, |
|
483 |
[in] IWbemClassObject* pInParams, |
|
484 |
[in] IWbemObjectSink* pResponseHandler |
|
485 |
);
|
|
486 |
}
|
|
487 |
||
488 |
[
|
|
489 |
object, |
|
490 |
uuid(027947e1-d731-11ce-a357-000000000001), |
|
491 |
pointer_default(unique) |
|
492 |
] interface IEnumWbemClassObject : IUnknown |
|
493 |
{
|
|
494 |
WERROR Reset(); |
|
495 |
||
496 |
[call_as(Next)] WERROR IEnumWbemClassObject_Next( |
|
497 |
[in] int32 lTimeout, |
|
498 |
[in] uint32 uCount, |
|
499 |
[out, size_is(uCount), length_is(*puReturned)] IWbemClassObject** apObjects, |
|
500 |
[out] uint32* puReturned |
|
501 |
);
|
|
502 |
||
503 |
WERROR NextAsync( |
|
504 |
[in] uint32 uCount, |
|
505 |
[in] IWbemObjectSink* pSink |
|
506 |
);
|
|
507 |
||
508 |
WERROR IEnumWbemClassObject_Clone( |
|
509 |
[out] IEnumWbemClassObject** ppEnum |
|
510 |
);
|
|
511 |
||
512 |
WERROR Skip( |
|
513 |
[in] int32 lTimeout, |
|
514 |
[in] uint32 nCount |
|
515 |
);
|
|
516 |
};
|
|
517 |
||
518 |
[
|
|
519 |
object, |
|
520 |
local, |
|
521 |
uuid("44aca674-e8fc-11d0-a07c-00c04fb68820"), |
|
522 |
pointer_default(unique) |
|
523 |
] interface IWbemContext : IUnknown |
|
524 |
{
|
|
525 |
WERROR Clone([out] IWbemContext** ppNewCopy); |
|
526 |
||
527 |
WERROR GetNames( |
|
528 |
// [in] long lFlags, |
|
529 |
// [out] SAFEARRAY (BSTR)* pNames |
|
530 |
);
|
|
531 |
||
532 |
WERROR BeginEnumeration([in] long lFlags); |
|
533 |
||
534 |
WERROR Next( |
|
535 |
// [in] long lFlags, |
|
536 |
// [out] BSTR* pstrName, |
|
537 |
// [out] VARIANT* pValue |
|
538 |
);
|
|
539 |
||
540 |
WERROR EndEnumeration(); |
|
541 |
||
542 |
||
543 |
WERROR SetValue( |
|
544 |
// [in, string] LPCWSTR wszName, |
|
545 |
// [in] long lFlags |
|
546 |
// [in] VARIANT* pValue |
|
547 |
);
|
|
548 |
||
549 |
WERROR GetValue( |
|
550 |
// [in, string] LPCWSTR wszName, |
|
551 |
// [in] long lFlags, |
|
552 |
// [out] VARIANT* pValue |
|
553 |
);
|
|
554 |
||
555 |
WERROR DeleteValue( |
|
556 |
// [in, string] LPCWSTR wszName, |
|
557 |
// [in] long lFlags |
|
558 |
);
|
|
559 |
||
560 |
WERROR DeleteAll(); |
|
561 |
}
|
|
562 |
||
563 |
[
|
|
564 |
object, |
|
565 |
uuid("F309AD18-D86A-11d0-A075-00C04FB68820"), |
|
566 |
pointer_default(unique) |
|
567 |
] interface IWbemLevel1Login : IUnknown |
|
568 |
{
|
|
569 |
WERROR EstablishPosition( |
|
570 |
[in, unique, string, charset(UTF16)] uint16* wszLocaleList, |
|
571 |
[in] DWORD dwNumLocales, |
|
572 |
[out] DWORD* reserved |
|
573 |
);
|
|
574 |
WERROR RequestChallenge( |
|
575 |
[in, unique, string, charset(UTF16)] uint16* wszNetworkResource, |
|
576 |
[in, unique, string, charset(UTF16)] uint16* wszUser, |
|
577 |
[out, size_is(16), length_is(16)] uint8 * Nonce |
|
578 |
);
|
|
579 |
WERROR WBEMLogin( |
|
580 |
[in, unique, string, charset(UTF16)] uint16* wszPreferredLocale, |
|
581 |
[in, size_is(16), length_is(16), unique] uint8 * AccessToken, |
|
582 |
[in] long lFlags, |
|
583 |
[in] IWbemContext* pCtx, |
|
584 |
[out] IWbemServices** ppNamespace |
|
585 |
);
|
|
586 |
||
587 |
||
588 |
WERROR NTLMLogin( |
|
589 |
[in,unique,string,charset(UTF16)] uint16 *wszNetworkResource, |
|
590 |
[in,unique,string,charset(UTF16)] uint16 *wszPreferredLocale, |
|
591 |
[in] long lFlags, |
|
592 |
[in,unique] IWbemContext* pCtx, |
|
593 |
[out,ref] IWbemServices** ppNamespace |
|
594 |
);
|
|
595 |
||
596 |
}
|
|
597 |
||
598 |
[
|
|
599 |
object, |
|
600 |
uuid("423ec01e-2e35-11d2-b604-00104b703efd"), |
|
601 |
pointer_default(unique) |
|
602 |
] interface IWbemWCOSmartEnum : IUnknown |
|
603 |
{
|
|
604 |
typedef struct { |
|
605 |
uint32 size; |
|
606 |
char data[size]; |
|
607 |
} WBEMDATA; |
|
608 |
||
609 |
typedef enum { |
|
610 |
WTYPE_SCHEMA = 1, |
|
611 |
WTYPE_CLASS = 2, |
|
612 |
WTYPE_OBJECT = 3 |
|
613 |
} WTYPES; |
|
614 |
||
615 |
typedef [relative_base] struct { |
|
616 |
// [relative] WBEMDATA4 *data; /* 0x9 */ |
|
617 |
uint32 data_size; |
|
618 |
uint8 wtype; |
|
619 |
} WBEMDATA4; |
|
620 |
||
621 |
typedef [relative_base] struct { |
|
622 |
[relative] WBEMDATA4 *data; /* 0x9 */ |
|
623 |
uint32 data_size; |
|
624 |
uint8 wtype; |
|
625 |
} WBEMDATA3; |
|
626 |
||
627 |
typedef [relative_base] struct { |
|
628 |
[relative,size_is(obj_num)] WBEMDATA3 *data; /* 0x8 */ |
|
629 |
uint32 data_size; |
|
630 |
uint32 obj_num; |
|
631 |
} WBEMDATA2; |
|
632 |
||
633 |
typedef [relative_base] struct { |
|
634 |
[relative] WBEMDATA2 *data; /* 0x8 */ |
|
635 |
uint32 data_size; |
|
636 |
} WBEMDATA1; |
|
637 |
||
638 |
typedef [relative_base] struct { |
|
639 |
uint32 u1_0; /* 0 */ |
|
640 |
hyper signature; /* 'WBEMDATA' */ |
|
641 |
[relative] WBEMDATA1 *data; /* 0x1A */ |
|
642 |
uint32 data_size; |
|
643 |
uint32 u2_0; /* 0 */ |
|
644 |
uint8 ver_major; /* 1 */ |
|
645 |
uint8 ver_minor; /* 0 - Win2000, 1 - WinXP/2003 */ |
|
646 |
} WBEMDATA0; |
|
647 |
||
648 |
WERROR IWbemWCOSmartEnum_Next( |
|
649 |
[in,ref] GUID *gEWCO, |
|
650 |
[in] uint32 lTimeOut, |
|
651 |
[in] uint32 uCount, |
|
652 |
[in] uint32 unknown, |
|
653 |
[in,ref] GUID *gWCO, |
|
654 |
[out,ref] uint32 *puReturned, |
|
655 |
[out,ref] uint32 *pSize, |
|
656 |
[out,ref,noprint,size_is(,*pSize)] uint8 **pData |
|
657 |
);
|
|
658 |
}
|
|
659 |
||
660 |
[
|
|
661 |
object, |
|
662 |
uuid("1c1c45ee-4395-11d2-b60b-00104b703efd"), |
|
663 |
pointer_default(unique) |
|
664 |
] interface IWbemFetchSmartEnum : IUnknown |
|
665 |
{
|
|
666 |
WERROR Fetch([out] IWbemWCOSmartEnum** ppEnum); |
|
667 |
WERROR Test([out] IWbemClassObject** ppEnum); |
|
668 |
}
|
|
669 |
||
670 |
[
|
|
671 |
object, |
|
672 |
// restricted, |
|
673 |
uuid(44aca675-e8fc-11d0-a07c-00c04fb68820) |
|
674 |
] interface IWbemCallResult : IUnknown |
|
675 |
{
|
|
676 |
WERROR GetResultObject( |
|
677 |
[in] long lTimeout, |
|
678 |
[out] IWbemClassObject** ppResultObject |
|
679 |
);
|
|
680 |
||
681 |
WERROR GetResultString( |
|
682 |
[in] long lTimeout, |
|
683 |
[out] BSTR* pstrResultString |
|
684 |
);
|
|
685 |
||
686 |
WERROR GetResultServices( |
|
687 |
[in] long lTimeout, |
|
688 |
[out] IWbemServices** ppServices |
|
689 |
);
|
|
690 |
||
691 |
WERROR GetCallStatus( |
|
692 |
[in] long lTimeout, |
|
693 |
[out] long* plStatus |
|
694 |
);
|
|
695 |
}
|
|
696 |
||
697 |
||
698 |
[
|
|
699 |
object, |
|
700 |
restricted, |
|
701 |
uuid(7c857801-7381-11cf-884d-00aa004b2e24) |
|
702 |
]
|
|
703 |
interface IWbemObjectSink : IUnknown |
|
704 |
{
|
|
705 |
WERROR SetStatus( |
|
706 |
[in] long lFlags, |
|
707 |
[in] WERROR hResult, |
|
708 |
[in] BSTR strParam, |
|
709 |
[in] IWbemClassObject* pObjParam |
|
710 |
);
|
|
711 |
WERROR Indicate( |
|
712 |
[in] long lObjectCount, |
|
713 |
[in, size_is(lObjectCount)] IWbemClassObject** apObjArray |
|
714 |
);
|
|
715 |
};
|
|
716 |