1use ctypes::{__uint64, c_long, c_uchar};
7use shared::minwindef::{BYTE, DWORD, ULONG};
8use shared::rpcndr::byte;
9use shared::winerror::HRESULT;
10use shared::wtypes::BSTR;
11use um::oaidl::{SAFEARRAY, VARIANT};
12use um::unknwnbase::{IUnknown, IUnknownVtbl};
13use um::winnt::{LCID, LONG, LPCWSTR, LPWSTR};
14ENUM!{enum WBEM_GENUS_TYPE {
17 WBEM_GENUS_CLASS = 1,
18 WBEM_GENUS_INSTANCE = 2,
19}}
20ENUM!{enum WBEM_CHANGE_FLAG_TYPE {
21 WBEM_FLAG_CREATE_OR_UPDATE = 0,
22 WBEM_FLAG_UPDATE_ONLY = 0x1,
23 WBEM_FLAG_CREATE_ONLY = 0x2,
24 WBEM_FLAG_UPDATE_COMPATIBLE = 0,
25 WBEM_FLAG_UPDATE_SAFE_MODE = 0x20,
26 WBEM_FLAG_UPDATE_FORCE_MODE = 0x40,
27 WBEM_MASK_UPDATE_MODE = 0x60,
28 WBEM_FLAG_ADVISORY = 0x10000,
29}}
30ENUM!{enum WBEM_GENERIC_FLAG_TYPE {
31 WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,
32 WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
33 WBEM_FLAG_BIDIRECTIONAL = 0,
34 WBEM_FLAG_FORWARD_ONLY = 0x20,
35 WBEM_FLAG_NO_ERROR_OBJECT = 0x40,
36 WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
37 WBEM_FLAG_SEND_STATUS = 0x80,
38 WBEM_FLAG_DONT_SEND_STATUS = 0,
39 WBEM_FLAG_ENSURE_LOCATABLE = 0x100,
40 WBEM_FLAG_DIRECT_READ = 0x200,
41 WBEM_FLAG_SEND_ONLY_SELECTED = 0,
42 WBEM_RETURN_WHEN_COMPLETE = 0,
43 WBEM_RETURN_IMMEDIATELY = 0x10,
44 WBEM_MASK_RESERVED_FLAGS = 0x1f000,
45 WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
46 WBEM_FLAG_STRONG_VALIDATION = 0x100000,
47}}
48ENUM!{enum WBEM_STATUS_TYPE {
49 WBEM_STATUS_COMPLETE = 0,
50 WBEM_STATUS_REQUIREMENTS = 1,
51 WBEM_STATUS_PROGRESS = 2,
52 WBEM_STATUS_LOGGING_INFORMATION = 0x100,
53 WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 0x200,
54 WBEM_STATUS_LOGGING_INFORMATION_HOST = 0x400,
55 WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 0x800,
56 WBEM_STATUS_LOGGING_INFORMATION_ESS = 0x1000,
57}}
58ENUM!{enum WBEM_TIMEOUT_TYPE {
59 WBEM_NO_WAIT = 0,
60 WBEM_INFINITE = 0xffffffff,
61}}
62ENUM!{enum WBEM_CONDITION_FLAG_TYPE {
63 WBEM_FLAG_ALWAYS = 0,
64 WBEM_FLAG_ONLY_IF_TRUE = 0x1,
65 WBEM_FLAG_ONLY_IF_FALSE = 0x2,
66 WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3,
67 WBEM_MASK_PRIMARY_CONDITION = 0x3,
68 WBEM_FLAG_KEYS_ONLY = 0x4,
69 WBEM_FLAG_REFS_ONLY = 0x8,
70 WBEM_FLAG_LOCAL_ONLY = 0x10,
71 WBEM_FLAG_PROPAGATED_ONLY = 0x20,
72 WBEM_FLAG_SYSTEM_ONLY = 0x30,
73 WBEM_FLAG_NONSYSTEM_ONLY = 0x40,
74 WBEM_MASK_CONDITION_ORIGIN = 0x70,
75 WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100,
76 WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200,
77 WBEM_MASK_CLASS_CONDITION = 0x300,
78}}
79ENUM!{enum WBEM_FLAVOR_TYPE {
80 WBEM_FLAVOR_DONT_PROPAGATE = 0,
81 WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1,
82 WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2,
83 WBEM_FLAVOR_MASK_PROPAGATION = 0xf,
84 WBEM_FLAVOR_OVERRIDABLE = 0,
85 WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10,
86 WBEM_FLAVOR_MASK_PERMISSIONS = 0x10,
87 WBEM_FLAVOR_ORIGIN_LOCAL = 0,
88 WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20,
89 WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40,
90 WBEM_FLAVOR_MASK_ORIGIN = 0x60,
91 WBEM_FLAVOR_NOT_AMENDED = 0,
92 WBEM_FLAVOR_AMENDED = 0x80,
93 WBEM_FLAVOR_MASK_AMENDED = 0x80,
94}}
95ENUM!{enum WBEM_QUERY_FLAG_TYPE {
96 WBEM_FLAG_DEEP = 0,
97 WBEM_FLAG_SHALLOW = 1,
98 WBEM_FLAG_PROTOTYPE = 2,
99}}
100ENUM!{enum WBEM_SECURITY_FLAGS {
101 WBEM_ENABLE = 1,
102 WBEM_METHOD_EXECUTE = 2,
103 WBEM_FULL_WRITE_REP = 4,
104 WBEM_PARTIAL_WRITE_REP = 8,
105 WBEM_WRITE_PROVIDER = 0x10,
106 WBEM_REMOTE_ACCESS = 0x20,
107 WBEM_RIGHT_SUBSCRIBE = 0x40,
108 WBEM_RIGHT_PUBLISH = 0x80,
109}}
110ENUM!{enum WBEM_LIMITATION_FLAG_TYPE {
111 WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10,
112 WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20,
113}}
114ENUM!{enum WBEM_TEXT_FLAG_TYPE {
115 WBEM_FLAG_NO_FLAVORS = 0x1,
116}}
117ENUM!{enum WBEM_COMPARISON_FLAG {
118 WBEM_COMPARISON_INCLUDE_ALL = 0,
119 WBEM_FLAG_IGNORE_QUALIFIERS = 0x1,
120 WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2,
121 WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4,
122 WBEM_FLAG_IGNORE_CLASS = 0x8,
123 WBEM_FLAG_IGNORE_CASE = 0x10,
124 WBEM_FLAG_IGNORE_FLAVOR = 0x20,
125}}
126ENUM!{enum WBEM_LOCKING_FLAG_TYPE {
127 WBEM_FLAG_ALLOW_READ = 0x1,
128}}
129ENUM!{enum CIMTYPE_ENUMERATION {
130 CIM_ILLEGAL = 0xfff,
131 CIM_EMPTY = 0,
132 CIM_SINT8 = 16,
133 CIM_UINT8 = 17,
134 CIM_SINT16 = 2,
135 CIM_UINT16 = 18,
136 CIM_SINT32 = 3,
137 CIM_UINT32 = 19,
138 CIM_SINT64 = 20,
139 CIM_UINT64 = 21,
140 CIM_REAL32 = 4,
141 CIM_REAL64 = 5,
142 CIM_BOOLEAN = 11,
143 CIM_STRING = 8,
144 CIM_DATETIME = 101,
145 CIM_REFERENCE = 102,
146 CIM_CHAR16 = 103,
147 CIM_OBJECT = 13,
148 CIM_FLAG_ARRAY = 0x2000,
149}}
150ENUM!{enum WBEM_BACKUP_RESTORE_FLAGS {
151 WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0,
152 WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1,
153}}
154ENUM!{enum WBEM_REFRESHER_FLAGS {
155 WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
156 WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1,
157}}
158ENUM!{enum WBEM_SHUTDOWN_FLAGS {
159 WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1,
160 WBEM_SHUTDOWN_WMI = 2,
161 WBEM_SHUTDOWN_OS = 3,
162}}
163pub type CIMTYPE = c_long;
164ENUM!{enum WBEMSTATUS_FORMAT {
165 WBEMSTATUS_FORMAT_NEWLINE = 0,
166 WBEMSTATUS_FORMAT_NO_NEWLINE = 1,
167}}
168ENUM!{enum WBEM_LIMITS {
169 WBEM_MAX_IDENTIFIER = 0x1000,
170 WBEM_MAX_QUERY = 0x4000,
171 WBEM_MAX_PATH = 0x2000,
172 WBEM_MAX_OBJECT_NESTING = 64,
173 WBEM_MAX_USER_PROPERTIES = 1024,
174}}
175ENUM!{enum WBEMSTATUS {
176 WBEM_NO_ERROR = 0,
177 WBEM_S_NO_ERROR = 0,
178 WBEM_S_SAME = 0,
179 WBEM_S_FALSE = 1,
180 WBEM_S_ALREADY_EXISTS = 0x40001,
181 WBEM_S_RESET_TO_DEFAULT = 0x40002,
182 WBEM_S_DIFFERENT = 0x40003,
183 WBEM_S_TIMEDOUT = 0x40004,
184 WBEM_S_NO_MORE_DATA = 0x40005,
185 WBEM_S_OPERATION_CANCELLED = 0x40006,
186 WBEM_S_PENDING = 0x40007,
187 WBEM_S_DUPLICATE_OBJECTS = 0x40008,
188 WBEM_S_ACCESS_DENIED = 0x40009,
189 WBEM_S_PARTIAL_RESULTS = 0x40010,
190 WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
191 WBEM_E_FAILED = 0x80041001,
192 WBEM_E_NOT_FOUND = 0x80041002,
193 WBEM_E_ACCESS_DENIED = 0x80041003,
194 WBEM_E_PROVIDER_FAILURE = 0x80041004,
195 WBEM_E_TYPE_MISMATCH = 0x80041005,
196 WBEM_E_OUT_OF_MEMORY = 0x80041006,
197 WBEM_E_INVALID_CONTEXT = 0x80041007,
198 WBEM_E_INVALID_PARAMETER = 0x80041008,
199 WBEM_E_NOT_AVAILABLE = 0x80041009,
200 WBEM_E_CRITICAL_ERROR = 0x8004100a,
201 WBEM_E_INVALID_STREAM = 0x8004100b,
202 WBEM_E_NOT_SUPPORTED = 0x8004100c,
203 WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
204 WBEM_E_INVALID_NAMESPACE = 0x8004100e,
205 WBEM_E_INVALID_OBJECT = 0x8004100f,
206 WBEM_E_INVALID_CLASS = 0x80041010,
207 WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
208 WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
209 WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
210 WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
211 WBEM_E_TRANSPORT_FAILURE = 0x80041015,
212 WBEM_E_INVALID_OPERATION = 0x80041016,
213 WBEM_E_INVALID_QUERY = 0x80041017,
214 WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
215 WBEM_E_ALREADY_EXISTS = 0x80041019,
216 WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
217 WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
218 WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
219 WBEM_E_UNEXPECTED = 0x8004101d,
220 WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
221 WBEM_E_CANNOT_BE_KEY = 0x8004101f,
222 WBEM_E_INCOMPLETE_CLASS = 0x80041020,
223 WBEM_E_INVALID_SYNTAX = 0x80041021,
224 WBEM_E_NONDECORATED_OBJECT = 0x80041022,
225 WBEM_E_READ_ONLY = 0x80041023,
226 WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
227 WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
228 WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
229 WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
230 WBEM_E_ILLEGAL_NULL = 0x80041028,
231 WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
232 WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
233 WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
234 WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
235 WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
236 WBEM_E_INVALID_METHOD = 0x8004102e,
237 WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
238 WBEM_E_SYSTEM_PROPERTY = 0x80041030,
239 WBEM_E_INVALID_PROPERTY = 0x80041031,
240 WBEM_E_CALL_CANCELLED = 0x80041032,
241 WBEM_E_SHUTTING_DOWN = 0x80041033,
242 WBEM_E_PROPAGATED_METHOD = 0x80041034,
243 WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
244 WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
245 WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
246 WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
247 WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
248 WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
249 WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
250 WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
251 WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
252 WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
253 WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
254 WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
255 WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
256 WBEM_E_INVALID_QUALIFIER = 0x80041042,
257 WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
258 WBEM_E_TOO_MUCH_DATA = 0x80041044,
259 WBEM_E_SERVER_TOO_BUSY = 0x80041045,
260 WBEM_E_INVALID_FLAVOR = 0x80041046,
261 WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
262 WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
263 WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
264 WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
265 WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
266 WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
267 WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
268 WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
269 WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
270 WBEM_E_METHOD_DISABLED = 0x80041056,
271 WBEM_E_REFRESHER_BUSY = 0x80041057,
272 WBEM_E_UNPARSABLE_QUERY = 0x80041058,
273 WBEM_E_NOT_EVENT_CLASS = 0x80041059,
274 WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
275 WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
276 WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
277 WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
278 WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
279 WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
280 WBEM_E_QUEUE_OVERFLOW = 0x80041061,
281 WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
282 WBEM_E_INVALID_OPERATOR = 0x80041063,
283 WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
284 WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
285 WBEM_E_AMENDED_OBJECT = 0x80041066,
286 WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
287 WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
288 WBEM_E_TIMED_OUT = 0x80041069,
289 WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
290 WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
291 WBEM_E_QUOTA_VIOLATION = 0x8004106c,
292 WBEM_E_RESERVED_001 = 0x8004106d,
293 WBEM_E_RESERVED_002 = 0x8004106e,
294 WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
295 WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
296 WBEM_E_CONNECTION_FAILED = 0x80041071,
297 WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
298 WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
299 WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
300 WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
301 WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
302 WBEM_E_RERUN_COMMAND = 0x80041077,
303 WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
304 WBEM_E_VETO_DELETE = 0x80041079,
305 WBEM_E_VETO_PUT = 0x8004107a,
306 WBEM_E_INVALID_LOCALE = 0x80041080,
307 WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
308 WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
309 WBEM_E_NO_SCHEMA = 0x80041083,
310 WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
311 WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
312 WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
313 WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
314 WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
315 WBEM_E_NO_KEY = 0x80041089,
316 WBEM_E_PROVIDER_DISABLED = 0x8004108a,
317 WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
318 WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
319 WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003,
320 WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
321 WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
322 WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
323 WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
324 WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
325 WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
326 WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
327 WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
328 WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
329 WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
330 WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
331 WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
332 WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
333 WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
334 WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
335 WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
336 WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
337 WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
338 WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
339 WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
340 WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
341 WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
342 WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
343 WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
344 WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
345 WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
346 WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
347 WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
348 WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
349 WBEMMOF_E_INVALID_FILE = 0x8004401e,
350 WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
351 WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
352 WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
353 WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
354 WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
355 WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
356 WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
357 WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
358 WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
359 WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
360 WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
361 WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
362 WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
363 WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
364 WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
365 WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
366 WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
367 WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
368 WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031,
369}}
370DEFINE_GUID!{IID_IWbemClassObject,
373 0xdc12a681, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}
374RIDL!{#[uuid(0xdc12a681, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
375interface IWbemClassObject(IWbemClassObjectVtbl): IUnknown(IUnknownVtbl) {
376 fn GetQualifierSet(
377 ppQualSet: *mut *mut IWbemQualifierSet,
378 ) -> HRESULT,
379 fn Get(
380 wszName: LPCWSTR,
381 lFlags: c_long,
382 pVal: *mut VARIANT,
383 pType: *mut CIMTYPE,
384 plFlavor: *mut c_long,
385 ) -> HRESULT,
386 fn Put(
387 wszName: LPCWSTR,
388 lFlags: c_long,
389 pVal: *mut VARIANT,
390 Type: CIMTYPE,
391 ) -> HRESULT,
392 fn Delete(
393 wszName: LPCWSTR,
394 ) -> HRESULT,
395 fn GetNames(
396 wszQualifierName: LPCWSTR,
397 lFlags: c_long,
398 pQualifierVal: *mut VARIANT,
399 pNames: *mut *mut SAFEARRAY,
400 ) -> HRESULT,
401 fn BeginEnumeration(
402 lEnumFlags: c_long,
403 ) -> HRESULT,
404 fn Next(
405 lFlags: c_long,
406 strName: *mut BSTR,
407 pVal: *mut VARIANT,
408 pType: *mut CIMTYPE,
409 plFlavor: *mut c_long,
410 ) -> HRESULT,
411 fn EndEnumeration() -> HRESULT,
412 fn GetPropertyQualifierSet(
413 wszProperty: LPCWSTR,
414 ppQualSet: *mut *mut IWbemQualifierSet,
415 ) -> HRESULT,
416 fn Clone(
417 ppCopy: *mut *mut IWbemClassObject,
418 ) -> HRESULT,
419 fn GetObjectText(
420 lFlags: c_long,
421 pstrObjectText: *mut BSTR,
422 ) -> HRESULT,
423 fn SpawnDerivedClass(
424 lFlags: c_long,
425 ppNewClass: *mut *mut IWbemClassObject,
426 ) -> HRESULT,
427 fn SpawnInstance(
428 lFlags: c_long,
429 ppNewInstance: *mut *mut IWbemClassObject,
430 ) -> HRESULT,
431 fn CompareTo(
432 lFlags: c_long,
433 pCompareTo: *mut IWbemClassObject,
434 ) -> HRESULT,
435 fn GetPropertyOrigin(
436 wszName: LPCWSTR,
437 pstrClassName: *mut BSTR,
438 ) -> HRESULT,
439 fn InheritsFrom(
440 strAncestor: LPCWSTR,
441 ) -> HRESULT,
442 fn GetMethod(
443 wszName: LPCWSTR,
444 lFlags: c_long,
445 ppInSignature: *mut *mut IWbemClassObject,
446 ppOutSignature: *mut *mut IWbemClassObject,
447 ) -> HRESULT,
448 fn PutMethod(
449 wszName: LPCWSTR,
450 lFlags: c_long,
451 pInSignature: *mut IWbemClassObject,
452 pOutSignature: *mut IWbemClassObject,
453 ) -> HRESULT,
454 fn DeleteMethod(
455 wszName: LPCWSTR,
456 ) -> HRESULT,
457 fn BeginMethodEnumeration(
458 lEnumFlags: c_long,
459 ) -> HRESULT,
460 fn NextMethod(
461 lFlags: c_long,
462 pstrName: *mut BSTR,
463 ppInSignature: *mut *mut IWbemClassObject,
464 ppOutSignature: *mut *mut IWbemClassObject,
465 ) -> HRESULT,
466 fn EndMethodEnumeration() -> HRESULT,
467 fn GetMethodQualifierSet(
468 wszMethod: LPCWSTR,
469 ppQualSet: *mut *mut IWbemQualifierSet,
470 ) -> HRESULT,
471 fn GetMethodOrigin(
472 wszMethodName: LPCWSTR,
473 pstrClassName: *mut BSTR,
474 ) -> HRESULT,
475}}
476DEFINE_GUID!{IID_IWbemObjectAccess,
478 0x49353c9a, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
479RIDL!{#[uuid(0x49353c9a, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
480interface IWbemObjectAccess(IWbemObjectAccessVtbl): IWbemClassObject(IWbemClassObjectVtbl) {
481 fn GetPropertyHandle(
482 wszPropertyName: LPCWSTR,
483 pType: *mut CIMTYPE,
484 plHandle: *mut c_long,
485 ) -> HRESULT,
486 fn WritePropertyValue(
487 lHandle: c_long,
488 lNumBytes: c_long,
489 aData: *const byte,
490 ) -> HRESULT,
491 fn ReadPropertyValue(
492 lHandle: c_long,
493 lBufferSize: c_long,
494 plNumBytes: *mut c_long,
495 aData: *mut byte,
496 ) -> HRESULT,
497 fn ReadDWORD(
498 lHandle: c_long,
499 pdw: *mut DWORD,
500 ) -> HRESULT,
501 fn WriteDWORD(
502 lHandle: c_long,
503 dw: DWORD,
504 ) -> HRESULT,
505 fn ReadQWORD(
506 lHandle: c_long,
507 pqw: *mut __uint64,
508 ) -> HRESULT,
509 fn WriteQWORD(
510 lHandle: c_long,
511 pw: __uint64,
512 ) -> HRESULT,
513 fn GetPropertyInfoByHandle(
514 lHandle: c_long,
515 pstrName: *mut BSTR,
516 pType: *mut CIMTYPE,
517 ) -> HRESULT,
518 fn Lock(
519 lFlags: c_long,
520 ) -> HRESULT,
521 fn Unlock(
522 lFlags: c_long,
523 ) -> HRESULT,
524}}
525DEFINE_GUID!{IID_IWbemQualifierSet,
527 0xdc12a680, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}
528RIDL!{#[uuid(0xdc12a680, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
529interface IWbemQualifierSet(IWbemQualifierSetVtbl): IUnknown(IUnknownVtbl) {
530 fn Get(
531 wszName: LPCWSTR,
532 lFlags: c_long,
533 pVal: *mut VARIANT,
534 plFlavor: *mut c_long,
535 ) -> HRESULT,
536 fn Put(
537 wszName: LPCWSTR,
538 pVal: *mut VARIANT,
539 lFlavor: c_long,
540 ) -> HRESULT,
541 fn Delete(
542 wszName: LPCWSTR,
543 ) -> HRESULT,
544 fn GetNames(
545 lFlags: c_long,
546 pNames: *mut *mut SAFEARRAY,
547 ) -> HRESULT,
548 fn BeginEnumeration(
549 lFlags: c_long,
550 ) -> HRESULT,
551 fn Next(
552 lFlags: c_long,
553 pstrName: *mut BSTR,
554 pVal: *mut VARIANT,
555 plFlavor: *mut c_long,
556 ) -> HRESULT,
557 fn EndEnumeration() -> HRESULT,
558}}
559DEFINE_GUID!{IID_IWbemServices,
561 0x9556dc99, 0x828c, 0x11cf, 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7}
562RIDL!{#[uuid(0x9556dc99, 0x828c, 0x11cf, 0xa3, 0x7e, 0x00, 0xaa, 0x00, 0x32, 0x40, 0xc7)]
563interface IWbemServices(IWbemServicesVtbl): IUnknown(IUnknownVtbl) {
564 fn OpenNamespace(
565 strNamespace: BSTR,
566 lFlags: c_long,
567 pCtx: *mut IWbemContext,
568 ppWorkingNamespace: *mut *mut IWbemServices,
569 ppResult: *mut *mut IWbemCallResult,
570 ) -> HRESULT,
571 fn CancelAsyncCall(
572 pSink: *mut IWbemObjectSink,
573 ) -> HRESULT,
574 fn QueryObjectSink(
575 lFlags: c_long,
576 ppResponseHandler: *mut *mut IWbemObjectSink,
577 ) -> HRESULT,
578 fn GetObject(
579 strObjectPath: BSTR,
580 lFlags: c_long,
581 pCtx: *mut IWbemContext,
582 ppObject: *mut *mut IWbemClassObject,
583 ppCallResult: *mut *mut IWbemCallResult,
584 ) -> HRESULT,
585 fn GetObjectAsync(
586 strObjectPath: BSTR,
587 lFlags: c_long,
588 pCtx: *mut IWbemContext,
589 pResponseHandler: *mut IWbemObjectSink,
590 ) -> HRESULT,
591 fn PutClass(
592 pObject: *mut IWbemClassObject,
593 lFlags: c_long,
594 pCtx: *mut IWbemContext,
595 ppCallResult: *mut *mut IWbemCallResult,
596 ) -> HRESULT,
597 fn PutClassAsync(
598 pObject: *mut IWbemClassObject,
599 lFlags: c_long,
600 pCtx: *mut IWbemContext,
601 pResponseHandler: *mut IWbemObjectSink,
602 ) -> HRESULT,
603 fn DeleteClass(
604 strClass: BSTR,
605 lFlags: c_long,
606 pCtx: *mut IWbemContext,
607 ppCallResult: *mut *mut IWbemCallResult,
608 ) -> HRESULT,
609 fn DeleteClassAsync(
610 strClass: BSTR,
611 lFlags: c_long,
612 pCtx: *mut IWbemContext,
613 pResponseHandler: *mut IWbemObjectSink,
614 ) -> HRESULT,
615 fn CreateClassEnum(
616 strSuperclass: BSTR,
617 lFlags: c_long,
618 pCtx: *mut IWbemContext,
619 ppEnum: *mut *mut IEnumWbemClassObject,
620 ) -> HRESULT,
621 fn CreateClassEnumAsync(
622 strSuperclass: BSTR,
623 lFlags: c_long,
624 pCtx: *mut IWbemContext,
625 pResponseHandler: *mut IWbemObjectSink,
626 ) -> HRESULT,
627 fn PutInstance(
628 pInst: *mut IWbemClassObject,
629 lFlags: c_long,
630 pCtx: *mut IWbemContext,
631 ppCallResult: *mut *mut IWbemCallResult,
632 ) -> HRESULT,
633 fn PutInstanceAsync(
634 pInst: *mut IWbemClassObject,
635 lFlags: c_long,
636 pCtx: *mut IWbemContext,
637 pResponseHandler: *mut IWbemObjectSink,
638 ) -> HRESULT,
639 fn DeleteInstance(
640 strObjectPath: BSTR,
641 lFlags: c_long,
642 pCtx: *mut IWbemContext,
643 ppCallResult: *mut *mut IWbemCallResult,
644 ) -> HRESULT,
645 fn DeleteInstanceAsync(
646 strObjectPath: BSTR,
647 lFlags: c_long,
648 pCtx: *mut IWbemContext,
649 pResponseHandler: *mut IWbemObjectSink,
650 ) -> HRESULT,
651 fn CreateInstanceEnum(
652 strFilter: BSTR,
653 lFlags: c_long,
654 pCtx: *mut IWbemContext,
655 ppEnum: *mut *mut IEnumWbemClassObject,
656 ) -> HRESULT,
657 fn CreateInstanceEnumAsync(
658 strFilter: BSTR,
659 lFlags: c_long,
660 pCtx: *mut IWbemContext,
661 pResponseHandler: *mut IWbemObjectSink,
662 ) -> HRESULT,
663 fn ExecQuery(
664 strQueryLanguage: BSTR,
665 strQuery: BSTR,
666 lFlags: c_long,
667 pCtx: *mut IWbemContext,
668 ppEnum: *mut *mut IEnumWbemClassObject,
669 ) -> HRESULT,
670 fn ExecQueryAsync(
671 strQueryLanguage: BSTR,
672 strQuery: BSTR,
673 lFlags: c_long,
674 pCtx: *mut IWbemContext,
675 pResponseHandler: *mut IWbemObjectSink,
676 ) -> HRESULT,
677 fn ExecNotificationQuery(
678 strQueryLanguage: BSTR,
679 strQuery: BSTR,
680 lFlags: c_long,
681 pCtx: *mut IWbemContext,
682 ppEnum: *mut *mut IEnumWbemClassObject,
683 ) -> HRESULT,
684 fn ExecNotificationQueryAsync(
685 strQueryLanguage: BSTR,
686 strQuery: BSTR,
687 lFlags: c_long,
688 pCtx: *mut IWbemContext,
689 pResponseHandler: *mut IWbemObjectSink,
690 ) -> HRESULT,
691 fn ExecMethod(
692 strObjectPath: BSTR,
693 strMethodName: BSTR,
694 lFlags: c_long,
695 pCtx: *mut IWbemContext,
696 pInParams: *mut IWbemClassObject,
697 ppOutParams: *mut *mut IWbemClassObject,
698 ppCallResult: *mut *mut IWbemCallResult,
699 ) -> HRESULT,
700 fn ExecMethodAsync(
701 strObjectPath: BSTR,
702 strMethodName: BSTR,
703 lFlags: c_long,
704 pCtx: *mut IWbemContext,
705 pInParams: *mut IWbemClassObject,
706 pResponseHandler: *mut IWbemObjectSink,
707 ) -> HRESULT,
708}}
709DEFINE_GUID!{IID_IWbemLocator,
711 0xdc12a687, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}
712RIDL!{#[uuid(0xdc12a687, 0x737f, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
713interface IWbemLocator(IWbemLocatorVtbl): IUnknown(IUnknownVtbl) {
714 fn ConnectServer(
715 strNetworkResource: BSTR,
716 strUser: BSTR,
717 strPassword: BSTR,
718 strLocale: BSTR,
719 lSecurityFlags: c_long,
720 strAuthority: BSTR,
721 pCtx: *mut IWbemContext,
722 ppNamespace: *mut *mut IWbemServices,
723 ) -> HRESULT,
724}}
725DEFINE_GUID!{IID_IWbemObjectSink,
727 0x7c857801, 0x7381, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}
728RIDL!{#[uuid(0x7c857801, 0x7381, 0x11cf, 0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
729interface IWbemObjectSink(IWbemObjectSinkVtbl): IUnknown(IUnknownVtbl) {
730 fn Indicate(
731 lObjectCount: c_long,
732 apObjArray: *mut *mut IWbemClassObject,
733 ) -> HRESULT,
734 fn SetStatus(
735 lFlags: c_long,
736 hResult: HRESULT,
737 strParam: BSTR,
738 pObjParam: *mut IWbemClassObject,
739 ) -> HRESULT,
740}}
741DEFINE_GUID!{IID_IEnumWbemClassObject,
743 0x027947e1, 0xd731, 0x11ce, 0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01}
744RIDL!{#[uuid(0x027947e1, 0xd731, 0x11ce, 0xa3, 0x57, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01)]
745interface IEnumWbemClassObject(IEnumWbemClassObjectVtbl): IUnknown(IUnknownVtbl) {
746 fn Reset() -> HRESULT,
747 fn Next(
748 lTimeout: c_long,
749 uCount: ULONG,
750 apObjects: *mut *mut IWbemClassObject,
751 puReturned: *mut ULONG,
752 ) -> HRESULT,
753 fn NextAsync(
754 uCount: ULONG,
755 pSink: *mut IWbemObjectSink,
756 ) -> HRESULT,
757 fn Clone(
758 ppEnum: *mut *mut IEnumWbemClassObject,
759 ) -> HRESULT,
760 fn Skip(
761 lTimeout: c_long,
762 nCount: ULONG,
763 ) -> HRESULT,
764}}
765DEFINE_GUID!{IID_IWbemCallResult,
767 0x44aca675, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
768RIDL!{#[uuid(0x44aca675, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
769interface IWbemCallResult(IWbemCallResultVtbl): IUnknown(IUnknownVtbl) {
770 fn GetResultObject(
771 lTimeout: c_long,
772 ppResultObject: *mut *mut IWbemClassObject,
773 ) -> HRESULT,
774 fn GetResultString(
775 lTimeout: c_long,
776 pstrResultString: *mut BSTR,
777 ) -> HRESULT,
778 fn GetResultServices(
779 lTimeout: c_long,
780 ppServices: *mut *mut IWbemServices,
781 ) -> HRESULT,
782 fn GetCallStatus(
783 lTimeout: c_long,
784 plStatus: *mut c_long,
785 ) -> HRESULT,
786}}
787DEFINE_GUID!{IID_IWbemContext,
789 0x44aca674, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
790RIDL!{#[uuid(0x44aca674, 0xe8fc, 0x11d0, 0xa0, 0x7c, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
791interface IWbemContext(IWbemContextVtbl): IUnknown(IUnknownVtbl) {
792 fn Clone(
793 ppNewCopy: *mut *mut IWbemContext,
794 ) -> HRESULT,
795 fn GetNames(
796 lFlags: c_long,
797 pNames: *mut *mut SAFEARRAY,
798 ) -> HRESULT,
799 fn BeginEnumeration(
800 lFlags: c_long,
801 ) -> HRESULT,
802 fn Next(
803 lFlags: c_long,
804 pstrName: *mut BSTR,
805 pValue: *mut VARIANT,
806 ) -> HRESULT,
807 fn EndEnumeration() -> HRESULT,
808 fn SetValue(
809 wszName: LPCWSTR,
810 lFlags: c_long,
811 pValue: *mut VARIANT,
812 ) -> HRESULT,
813 fn GetValue(
814 wszName: LPCWSTR,
815 lFlags: c_long,
816 pValue: *mut VARIANT,
817 ) -> HRESULT,
818 fn DeleteValue(
819 wszName: LPCWSTR,
820 lFlags: c_long,
821 ) -> HRESULT,
822 fn DeleteAll() -> HRESULT,
823}}
824DEFINE_GUID!{IID_IUnsecuredApartment,
826 0x1cfaba8c, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
827RIDL!{#[uuid(0x1cfaba8c, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff)]
828interface IUnsecuredApartment(IUnsecuredApartmentVtbl): IUnknown(IUnknownVtbl) {
829 fn CreateObjectStub(
830 pObject: *mut IUnknown,
831 ppStub: *mut *mut IUnknown,
832 ) -> HRESULT,
833}}
834DEFINE_GUID!{IID_IWbemUnsecuredApartment,
836 0x31739d04, 0x3471, 0x4cf4, 0x9a, 0x7c, 0x57, 0xa4, 0x4a, 0xe7, 0x19, 0x56}
837RIDL!{#[uuid(0x31739d04, 0x3471, 0x4cf4, 0x9a, 0x7c, 0x57, 0xa4, 0x4a, 0xe7, 0x19, 0x56)]
838interface IWbemUnsecuredApartment(IWbemUnsecuredApartmentVtbl):
839IUnsecuredApartment(IUnsecuredApartmentVtbl) {
840 fn CreateSinkStub(
841 pSink: *mut IWbemObjectSink,
842 dwFlags: DWORD,
843 wszReserved: LPCWSTR,
844 ppStub: *mut *mut IWbemObjectSink,
845 ) -> HRESULT,
846}}
847DEFINE_GUID!{IID_IWbemStatusCodeText,
849 0xeb87e1bc, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
850RIDL!{#[uuid(0xeb87e1bc, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
851interface IWbemStatusCodeText(IWbemStatusCodeTextVtbl): IUnknown(IUnknownVtbl) {
852 fn GetErrorCodeText(
853 hRes: HRESULT,
854 LocaleId: LCID,
855 lFlags: c_long,
856 MessageText: *mut BSTR,
857 ) -> HRESULT,
858 fn GetFacilityCodeText(
859 hRes: HRESULT,
860 LocaleId: LCID,
861 lFlags: c_long,
862 MessageText: *mut BSTR,
863 ) -> HRESULT,
864}}
865DEFINE_GUID!{IID_IWbemBackupRestore,
867 0xc49e32c7, 0xbc8b, 0x11d2, 0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04}
868RIDL!{#[uuid(0xc49e32c7, 0xbc8b, 0x11d2, 0x85, 0xd4, 0x00, 0x10, 0x5a, 0x1f, 0x83, 0x04)]
869interface IWbemBackupRestore(IWbemBackupRestoreVtbl): IUnknown(IUnknownVtbl) {
870 fn Backup(
871 strBackupToFile: LPCWSTR,
872 lFlags: c_long,
873 ) -> HRESULT,
874 fn Restore(
875 strRestoreFromFile: LPCWSTR,
876 lFlags: c_long,
877 ) -> HRESULT,
878}}
879DEFINE_GUID!{IID_IWbemBackupRestoreEx,
881 0xa359dec5, 0xe813, 0x4834, 0x8a, 0x2a, 0xba, 0x7f, 0x1d, 0x77, 0x7d, 0x76}
882RIDL!{#[uuid(0xa359dec5, 0xe813, 0x4834, 0x8a, 0x2a, 0xba, 0x7f, 0x1d, 0x77, 0x7d, 0x76)]
883interface IWbemBackupRestoreEx(IWbemBackupRestoreExVtbl):
884IWbemBackupRestore(IWbemBackupRestoreVtbl) {
885 fn Pause() -> HRESULT,
886 fn Resume() -> HRESULT,
887}}
888DEFINE_GUID!{IID_IWbemRefresher,
890 0x49353c99, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
891RIDL!{#[uuid(0x49353c99, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
892interface IWbemRefresher(IWbemRefresherVtbl): IUnknown(IUnknownVtbl) {
893 fn Refresh(
894 lFlags: c_long,
895 ) -> HRESULT,
896}}
897DEFINE_GUID!{IID_IWbemHiPerfEnum,
899 0x2705c288, 0x79ae, 0x11d2, 0xb3, 0x48, 0x00, 0x10, 0x5a, 0x1f, 0x81, 0x77}
900RIDL!{#[uuid(0x2705c288, 0x79ae, 0x11d2, 0xb3, 0x48, 0x00, 0x10, 0x5a, 0x1f, 0x81, 0x77)]
901interface IWbemHiPerfEnum(IWbemHiPerfEnumVtbl): IUnknown(IUnknownVtbl) {
902 fn AddObjects(
903 lFlags: c_long,
904 uNumObjects: ULONG,
905 apIds: *mut c_long,
906 apObj: *mut *mut IWbemObjectAccess,
907 ) -> HRESULT,
908 fn RemoveObjects(
909 lFlags: c_long,
910 uNumObjects: ULONG,
911 apIds: *mut c_long,
912 ) -> HRESULT,
913 fn GetObjects(
914 lFlags: c_long,
915 uNumObjects: ULONG,
916 apObj: *mut *mut IWbemObjectAccess,
917 puReturned: *mut ULONG,
918 ) -> HRESULT,
919 fn RemoveAll(
920 lFlags: c_long,
921 ) -> HRESULT,
922}}
923DEFINE_GUID!{IID_IWbemConfigureRefresher,
925 0x49353c92, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
926RIDL!{#[uuid(0x49353c92, 0x516b, 0x11d1, 0xae, 0xa6, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
927interface IWbemConfigureRefresher(IWbemConfigureRefresherVtbl): IUnknown(IUnknownVtbl) {
928 fn AddObjectByPath(
929 pNamespace: *mut IWbemServices,
930 wszPath: LPCWSTR,
931 lFlags: c_long,
932 pContext: *mut IWbemContext,
933 ppRefreshable: *mut *mut IWbemClassObject,
934 plId: *mut c_long,
935 ) -> HRESULT,
936 fn AddObjectByTemplate(
937 pNamespace: *mut IWbemServices,
938 pTemplate: *mut IWbemClassObject,
939 lFlags: c_long,
940 pContext: *mut IWbemContext,
941 ppRefreshable: *mut *mut IWbemClassObject,
942 plId: *mut c_long,
943 ) -> HRESULT,
944 fn AddRefresher(
945 pRefresher: *mut IWbemRefresher,
946 lFlags: c_long,
947 plId: *mut c_long,
948 ) -> HRESULT,
949 fn Remove(
950 lId: c_long,
951 lFlags: c_long,
952 ) -> HRESULT,
953 fn AddEnum(
954 pNamespace: *mut IWbemServices,
955 wszClassName: LPCWSTR,
956 lFlags: c_long,
957 pContext: *mut IWbemContext,
958 ppEnum: *mut *mut IWbemHiPerfEnum,
959 plId: *mut c_long,
960 ) -> HRESULT,
961}}
962DEFINE_GUID!{CLSID_WbemLocator,
963 0x4590f811, 0x1d3a, 0x11d0, 0x89, 0x1f, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}
964RIDL!{#[uuid(0x4590f811, 0x1d3a, 0x11d0, 0x89, 0x1f, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24)]
965class WbemLocator;}
966DEFINE_GUID!{CLSID_WbemContext,
967 0x674B6698, 0xEE92, 0x11d0, 0xAD, 0x71, 0x00, 0xC0, 0x4F, 0xD8, 0xFD, 0xFF}
968DEFINE_GUID!{CLSID_UnsecuredApartment,
971 0x49bd2028, 0x1523, 0x11d1, 0xad, 0x79, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
972DEFINE_GUID!{CLSID_WbemClassObject,
975 0x9A653086, 0x174F, 0x11d2, 0xB5, 0xF9, 0x00, 0x10, 0x4B, 0x70, 0x3E, 0xFD}
976DEFINE_GUID!{CLSID_MofCompiler,
979 0x6daf9757, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
980DEFINE_GUID!{CLSID_WbemStatusCodeText,
983 0xeb87e1bd, 0x3233, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
984DEFINE_GUID!{CLSID_WbemBackupRestore,
987 0xC49E32C6, 0xBC8B, 0x11d2, 0x85, 0xD4, 0x00, 0x10, 0x5A, 0x1F, 0x83, 0x04}
988DEFINE_GUID!{CLSID_WbemRefresher,
991 0xc71566f2, 0x561e, 0x11d1, 0xad, 0x87, 0x00, 0xc0, 0x4f, 0xd8, 0xfd, 0xff}
992DEFINE_GUID!{CLSID_WbemObjectTextSrc,
995 0x8D1C559D, 0x84F0, 0x4bb3, 0xA7, 0xD5, 0x56, 0xA7, 0x43, 0x5A, 0x9B, 0xA6}
996DEFINE_GUID!{IID_IWbemObjectSinkEx,
1004 0xe7d35cfa, 0x348b, 0x485e, 0xb5, 0x24, 0x25, 0x27, 0x25, 0xd6, 0x97, 0xca}
1005RIDL!{#[uuid(0xe7d35cfa, 0x348b, 0x485e, 0xb5, 0x24, 0x25, 0x27, 0x25, 0xd6, 0x97, 0xca)]
1006interface IWbemObjectSinkEx(IWbemObjectSinkExVtbl): IWbemObjectSink(IWbemObjectSinkVtbl) {
1007 fn WriteMessage(
1008 uChannel: ULONG,
1009 strMessage: BSTR,
1010 ) -> HRESULT,
1011 fn WriteError(
1012 pObjError: *mut IWbemClassObject,
1013 puReturned: *mut c_uchar,
1014 ) -> HRESULT,
1015 fn PromptUser(
1016 strMessage: BSTR,
1017 uPromptType: c_uchar,
1018 puReturned: *mut c_uchar,
1019 ) -> HRESULT,
1020 fn WriteProgress(
1021 strActivity: BSTR,
1022 strCurrentOperation: BSTR,
1023 strStatusDescription: BSTR,
1024 uPercentComplete: ULONG,
1025 uSecondsRemaining: ULONG,
1026 ) -> HRESULT,
1027 fn WriteStreamParameter(
1028 strName: BSTR,
1029 vtValue: *mut VARIANT,
1030 ulType: ULONG,
1031 ulFlags: ULONG,
1032 ) -> HRESULT,
1033}}
1034DEFINE_GUID!{IID_IWbemShutdown,
1036 0xb7b31df9, 0xd515, 0x11d3, 0xa1, 0x1c, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a}
1037RIDL!{#[uuid(0xb7b31df9, 0xd515, 0x11d3, 0xa1, 0x1c, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a)]
1038interface IWbemShutdown(IWbemShutdownVtbl): IUnknown(IUnknownVtbl) {
1039 fn Shutdown(
1040 uReason: LONG,
1041 uMaxMilliseconds: ULONG,
1042 pCtx: *mut IWbemContext,
1043 ) -> HRESULT,
1044}}
1045ENUM!{enum WMI_OBJ_TEXT {
1046 WMI_OBJ_TEXT_CIM_DTD_2_0 = 1,
1047 WMI_OBJ_TEXT_WMI_DTD_2_0 = 2,
1048 WMI_OBJ_TEXT_WMI_EXT1 = 3,
1049 WMI_OBJ_TEXT_WMI_EXT2 = 4,
1050 WMI_OBJ_TEXT_WMI_EXT3 = 5,
1051 WMI_OBJ_TEXT_WMI_EXT4 = 6,
1052 WMI_OBJ_TEXT_WMI_EXT5 = 7,
1053 WMI_OBJ_TEXT_WMI_EXT6 = 8,
1054 WMI_OBJ_TEXT_WMI_EXT7 = 9,
1055 WMI_OBJ_TEXT_WMI_EXT8 = 10,
1056 WMI_OBJ_TEXT_WMI_EXT9 = 11,
1057 WMI_OBJ_TEXT_WMI_EXT10 = 12,
1058 WMI_OBJ_TEXT_LAST = 13,
1059}}
1060DEFINE_GUID!{IID_IWbemObjectTextSrc,
1064 0xbfbf883a, 0xcad7, 0x11d3, 0xa1, 0x1b, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a}
1065RIDL!{#[uuid(0xbfbf883a, 0xcad7, 0x11d3, 0xa1, 0x1b, 0x00, 0x10, 0x5a, 0x1f, 0x51, 0x5a)]
1066interface IWbemObjectTextSrc(IWbemObjectTextSrcVtbl): IUnknown(IUnknownVtbl) {
1067 fn GetText(
1068 lFlags: c_long,
1069 pObj: *mut IWbemClassObject,
1070 uObjTextFormat: ULONG,
1071 pCtx: *mut IWbemContext,
1072 strText: *mut BSTR,
1073 ) -> HRESULT,
1074 fn CreateFromText(
1075 lFlags: c_long,
1076 strText: BSTR,
1077 uObjTextFormat: ULONG,
1078 pCtx: *mut IWbemContext,
1079 pNewObj: *mut *mut IWbemClassObject,
1080 ) -> HRESULT,
1081}}
1082STRUCT!{struct WBEM_COMPILE_STATUS_INFO {
1083 lPhaseError: c_long,
1084 hRes: HRESULT,
1085 ObjectNum: c_long,
1086 FirstLine: c_long,
1087 LastLine: c_long,
1088 dwOutFlags: DWORD,
1089}}
1090ENUM!{enum WBEM_COMPILER_OPTIONS {
1091 WBEM_FLAG_CHECK_ONLY = 0x1,
1092 WBEM_FLAG_AUTORECOVER = 0x2,
1093 WBEM_FLAG_WMI_CHECK = 0x4,
1094 WBEM_FLAG_CONSOLE_PRINT = 0x8,
1095 WBEM_FLAG_DONT_ADD_TO_LIST = 0x10,
1096 WBEM_FLAG_SPLIT_FILES = 0x20,
1097 WBEM_FLAG_STORE_FILE = 0x100,
1098}}
1099ENUM!{enum WBEM_CONNECT_OPTIONS {
1100 WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40,
1101 WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80,
1102 WBEM_FLAG_CONNECT_PROVIDERS = 0x100,
1103}}
1104DEFINE_GUID!{IID_IMofCompiler,
1108 0x6daf974e, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20}
1109RIDL!{#[uuid(0x6daf974e, 0x2e37, 0x11d2, 0xae, 0xc9, 0x00, 0xc0, 0x4f, 0xb6, 0x88, 0x20)]
1110interface IMofCompiler(IMofCompilerVtbl): IUnknown(IUnknownVtbl) {
1111 fn CompileFile(
1112 FileName: LPWSTR,
1113 ServerAndNamespace: LPWSTR,
1114 User: LPWSTR,
1115 Authority: LPWSTR,
1116 Password: LPWSTR,
1117 lOptionFlags: LONG,
1118 lClassFlags: LONG,
1119 lInstanceFlags: LONG,
1120 pInfo: *mut WBEM_COMPILE_STATUS_INFO,
1121 ) -> HRESULT,
1122 fn CompileBuffer(
1123 BuffSize: c_long,
1124 pBuffer: *mut BYTE,
1125 ServerAndNamespace: LPWSTR,
1126 User: LPWSTR,
1127 Authority: LPWSTR,
1128 Password: LPWSTR,
1129 lOptionFlags: LONG,
1130 lClassFlags: LONG,
1131 lInstanceFlags: LONG,
1132 pInfo: *mut WBEM_COMPILE_STATUS_INFO,
1133 ) -> HRESULT,
1134 fn CreateBMOF(
1135 TextFileName: LPWSTR,
1136 BMOFFileName: LPWSTR,
1137 ServerAndNamespace: LPWSTR,
1138 lOptionFlags: LONG,
1139 lClassFlags: LONG,
1140 lInstanceFlags: LONG,
1141 pInfo: *mut WBEM_COMPILE_STATUS_INFO,
1142 ) -> HRESULT,
1143}}
1144ENUM!{enum WBEM_UNSECAPP_FLAG_TYPE {
1145 WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0,
1146 WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1,
1147 WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2,
1148}}
1149ENUM!{enum WBEM_INFORMATION_FLAG_TYPE {
1152 WBEM_FLAG_SHORT_NAME = 0x1,
1153 WBEM_FLAG_LONG_NAME = 0x2,
1154}}
1155