1 {******************************************************************************}
2 {                                                                              }
3 { WBEM Client interface Unit for Object Pascal                                 }
4 {                                                                              }
5 { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
6 { Corporation. All Rights Reserved.                                            }
7 {                                                                              }
8 { The original file is: wbemcli.idl, released Nov 2002. The original Pascal    }
9 { code is: WbemCli.pas, released April 2002. The initial developer of the      }
10 { Pascal code is Marcel van Brakel (brakelm att chello dott nl).               }
11 {                                                                              }
12 { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
13 { Marcel van Brakel. All Rights Reserved.                                      }
14 {                                                                              }
15 { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
16 {                                                                              }
17 { You may retrieve the latest version of this file at the Project JEDI         }
18 { APILIB home page, located at http://jedi-apilib.sourceforge.net              }
19 {                                                                              }
20 { The contents of this file are used with permission, subject to the Mozilla   }
21 { Public License Version 1.1 (the "License"); you may not use this file except }
22 { in compliance with the License. You may obtain a copy of the License at      }
23 { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
24 {                                                                              }
25 { Software distributed under the License is distributed on an "AS IS" basis,   }
26 { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
27 { the specific language governing rights and limitations under the License.    }
28 {                                                                              }
29 { Alternatively, the contents of this file may be used under the terms of the  }
30 { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
31 { provisions of the LGPL License are applicable instead of those above.        }
32 { If you wish to allow use of your version of this file only under the terms   }
33 { of the LGPL License and not to allow others to use your version of this file }
34 { under the MPL, indicate your decision by deleting  the provisions above and  }
35 { replace  them with the notice and other provisions required by the LGPL      }
36 { License.  If you do not delete the provisions above, a recipient may use     }
37 { your version of this file under either the MPL or the LGPL License.          }
38 {                                                                              }
39 { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
40 {                                                                              }
41 {******************************************************************************}
42 
43 // $Id: JwaWbemCli.pas,v 1.8 2007/09/05 11:58:53 dezipaitor Exp $
44 
45 {$IFNDEF JWA_OMIT_SECTIONS}
46 unit JwaWbemCli;
47 
48 {$WEAKPACKAGEUNIT}
49 {$ENDIF JWA_OMIT_SECTIONS}
50 
51 {$HPPEMIT ''}
52 {$HPPEMIT '#include "wbemcli.h"'}
53 {$HPPEMIT ''}
54 
55 {$IFNDEF JWA_OMIT_SECTIONS}
56 {$I jediapilib.inc}
57 
58 interface
59 
60 uses
61   JwaActiveX, JwaWinType;
62 {$ENDIF JWA_OMIT_SECTIONS}
63 
64 {$IFNDEF JWA_IMPLEMENTATIONSECTION}
65 type
66   tag_WBEM_GENUS_TYPE = DWORD;
67   {$EXTERNALSYM tag_WBEM_GENUS_TYPE}
68   WBEM_GENUS_TYPE = tag_WBEM_GENUS_TYPE;
69   {$EXTERNALSYM WBEM_GENUS_TYPE}
70   TWbemGenusType = WBEM_GENUS_TYPE;
71   {$EXTERNALSYM TWbemGenusType}
72 
73 const
74   WBEM_GENUS_CLASS      = 1;
75   {$EXTERNALSYM WBEM_GENUS_CLASS}
76   WBEM_GENUS_INSTANCE   = 2;
77   {$EXTERNALSYM WBEM_GENUS_INSTANCE}
78 
79 type
80   tag_WBEM_CHANGE_FLAG_TYPE = DWORD;
81   {$EXTERNALSYM tag_WBEM_CHANGE_FLAG_TYPE}
82   WBEM_CHANGE_FLAG_TYPE = tag_WBEM_CHANGE_FLAG_TYPE;
83   {$EXTERNALSYM WBEM_CHANGE_FLAG_TYPE}
84   TWbemChangeFlagType = WBEM_CHANGE_FLAG_TYPE;
85   {$EXTERNALSYM TWbemChangeFlagType}
86 
87 const
88   WBEM_FLAG_CREATE_OR_UPDATE  = $0;
89   {$EXTERNALSYM WBEM_FLAG_CREATE_OR_UPDATE}
90   WBEM_FLAG_UPDATE_ONLY       = $1;
91   {$EXTERNALSYM WBEM_FLAG_UPDATE_ONLY}
92   WBEM_FLAG_CREATE_ONLY       = $2;
93   {$EXTERNALSYM WBEM_FLAG_CREATE_ONLY}
94   WBEM_FLAG_UPDATE_COMPATIBLE = $0;
95   {$EXTERNALSYM WBEM_FLAG_UPDATE_COMPATIBLE}
96   WBEM_FLAG_UPDATE_SAFE_MODE  = $20;
97   {$EXTERNALSYM WBEM_FLAG_UPDATE_SAFE_MODE}
98   WBEM_FLAG_UPDATE_FORCE_MODE = $40;
99   {$EXTERNALSYM WBEM_FLAG_UPDATE_FORCE_MODE}
100   WBEM_MASK_UPDATE_MODE       = $60;
101   {$EXTERNALSYM WBEM_MASK_UPDATE_MODE}
102   WBEM_FLAG_ADVISORY          = $10000;
103   {$EXTERNALSYM WBEM_FLAG_ADVISORY}
104 
105 type
106   tag_WBEM_GENERIC_FLAG_TYPE = DWORD;
107   {$EXTERNALSYM tag_WBEM_GENERIC_FLAG_TYPE}
108   WBEM_GENERIC_FLAG_TYPE = tag_WBEM_GENERIC_FLAG_TYPE;
109   {$EXTERNALSYM WBEM_GENERIC_FLAG_TYPE}
110   TWbemGenericFlagType = WBEM_GENERIC_FLAG_TYPE;
111   {$EXTERNALSYM TWbemGenericFlagType}
112 
113 const
114   WBEM_FLAG_RETURN_IMMEDIATELY     = $10;
115   {$EXTERNALSYM WBEM_FLAG_RETURN_IMMEDIATELY}
116   WBEM_FLAG_RETURN_WBEM_COMPLETE   = $0;
117   {$EXTERNALSYM WBEM_FLAG_RETURN_WBEM_COMPLETE}
118   WBEM_FLAG_BIDIRECTIONAL          = $0;
119   {$EXTERNALSYM WBEM_FLAG_BIDIRECTIONAL}
120   WBEM_FLAG_FORWARD_ONLY           = $20;
121   {$EXTERNALSYM WBEM_FLAG_FORWARD_ONLY}
122   WBEM_FLAG_NO_ERROR_OBJECT        = $40;
123   {$EXTERNALSYM WBEM_FLAG_NO_ERROR_OBJECT}
124   WBEM_FLAG_RETURN_ERROR_OBJECT    = $0;
125   {$EXTERNALSYM WBEM_FLAG_RETURN_ERROR_OBJECT}
126   WBEM_FLAG_SEND_STATUS            = $80;
127   {$EXTERNALSYM WBEM_FLAG_SEND_STATUS}
128   WBEM_FLAG_DONT_SEND_STATUS       = $0;
129   {$EXTERNALSYM WBEM_FLAG_DONT_SEND_STATUS}
130   WBEM_FLAG_ENSURE_LOCATABLE       = $100;
131   {$EXTERNALSYM WBEM_FLAG_ENSURE_LOCATABLE}
132   WBEM_FLAG_DIRECT_READ            = $200;
133   {$EXTERNALSYM WBEM_FLAG_DIRECT_READ}
134   WBEM_FLAG_SEND_ONLY_SELECTED     = $0;
135   {$EXTERNALSYM WBEM_FLAG_SEND_ONLY_SELECTED}
136   WBEM_RETURN_WHEN_COMPLETE        = $0;
137   {$EXTERNALSYM WBEM_RETURN_WHEN_COMPLETE}
138   WBEM_RETURN_IMMEDIATELY          = $10;
139   {$EXTERNALSYM WBEM_RETURN_IMMEDIATELY}
140   WBEM_MASK_RESERVED_FLAGS         = $1f000;
141   {$EXTERNALSYM WBEM_MASK_RESERVED_FLAGS}
142   WBEM_FLAG_USE_AMENDED_QUALIFIERS = $20000;
143   {$EXTERNALSYM WBEM_FLAG_USE_AMENDED_QUALIFIERS}
144   WBEM_FLAG_STRONG_VALIDATION      = $100000;
145   {$EXTERNALSYM WBEM_FLAG_STRONG_VALIDATION}
146 
147 type
148   tag_WBEM_STATUS_TYPE = DWORD;
149   {$EXTERNALSYM tag_WBEM_STATUS_TYPE}
150   WBEM_STATUS_TYPE = tag_WBEM_STATUS_TYPE;
151   {$EXTERNALSYM WBEM_STATUS_TYPE}
152   TWbemStatusType = WBEM_STATUS_TYPE;
153   {$EXTERNALSYM TWbemStatusType}
154 
155 const
156   WBEM_STATUS_COMPLETE     = 0;
157   {$EXTERNALSYM WBEM_STATUS_COMPLETE}
158   WBEM_STATUS_REQUIREMENTS = 1;
159   {$EXTERNALSYM WBEM_STATUS_REQUIREMENTS}
160   WBEM_STATUS_PROGRESS     = 2;
161   {$EXTERNALSYM WBEM_STATUS_PROGRESS}
162 
163 type
164   tag_WBEM_TIMEOUT_TYPE = DWORD;
165   {$EXTERNALSYM tag_WBEM_TIMEOUT_TYPE}
166   WBEM_TIMEOUT_TYPE = tag_WBEM_TIMEOUT_TYPE;
167   {$EXTERNALSYM WBEM_TIMEOUT_TYPE}
168   TWbemTimeoutType = WBEM_TIMEOUT_TYPE;
169   {$EXTERNALSYM TWbemTimeoutType}
170 
171 const
172   WBEM_NO_WAIT  = 0;
173   {$EXTERNALSYM WBEM_NO_WAIT}
174   WBEM_INFINITE = DWORD($ffffffff);
175   {$EXTERNALSYM WBEM_INFINITE}
176 
177 type
178   tag_WBEM_CONDITION_FLAG_TYPE = DWORD;
179   {$EXTERNALSYM tag_WBEM_CONDITION_FLAG_TYPE}
180   WBEM_CONDITION_FLAG_TYPE = tag_WBEM_CONDITION_FLAG_TYPE;
181   {$EXTERNALSYM WBEM_CONDITION_FLAG_TYPE}
182   TWbemConditionFlagType = WBEM_CONDITION_FLAG_TYPE;
183   {$EXTERNALSYM TWbemConditionFlagType}
184 
185 const
186   WBEM_FLAG_ALWAYS                    = $0;
187   {$EXTERNALSYM WBEM_FLAG_ALWAYS}
188   WBEM_FLAG_ONLY_IF_TRUE              = $1;
189   {$EXTERNALSYM WBEM_FLAG_ONLY_IF_TRUE}
190   WBEM_FLAG_ONLY_IF_FALSE             = $2;
191   {$EXTERNALSYM WBEM_FLAG_ONLY_IF_FALSE}
192   WBEM_FLAG_ONLY_IF_IDENTICAL         = $3;
193   {$EXTERNALSYM WBEM_FLAG_ONLY_IF_IDENTICAL}
194   WBEM_MASK_PRIMARY_CONDITION         = $3;
195   {$EXTERNALSYM WBEM_MASK_PRIMARY_CONDITION}
196   WBEM_FLAG_KEYS_ONLY                 = $4;
197   {$EXTERNALSYM WBEM_FLAG_KEYS_ONLY}
198   WBEM_FLAG_REFS_ONLY                 = $8;
199   {$EXTERNALSYM WBEM_FLAG_REFS_ONLY}
200   WBEM_FLAG_LOCAL_ONLY                = $10;
201   {$EXTERNALSYM WBEM_FLAG_LOCAL_ONLY}
202   WBEM_FLAG_PROPAGATED_ONLY           = $20;
203   {$EXTERNALSYM WBEM_FLAG_PROPAGATED_ONLY}
204   WBEM_FLAG_SYSTEM_ONLY               = $30;
205   {$EXTERNALSYM WBEM_FLAG_SYSTEM_ONLY}
206   WBEM_FLAG_NONSYSTEM_ONLY            = $40;
207   {$EXTERNALSYM WBEM_FLAG_NONSYSTEM_ONLY}
208   WBEM_MASK_CONDITION_ORIGIN          = $70;
209   {$EXTERNALSYM WBEM_MASK_CONDITION_ORIGIN}
210   WBEM_FLAG_CLASS_OVERRIDES_ONLY      = $100;
211   {$EXTERNALSYM WBEM_FLAG_CLASS_OVERRIDES_ONLY}
212   WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = $200;
213   {$EXTERNALSYM WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES}
214   WBEM_MASK_CLASS_CONDITION           = $300;
215   {$EXTERNALSYM WBEM_MASK_CLASS_CONDITION}
216 
217 type
218   tag_WBEM_FLAVOR_TYPE = DWORD;
219   {$EXTERNALSYM tag_WBEM_FLAVOR_TYPE}
220   WBEM_FLAVOR_TYPE = tag_WBEM_FLAVOR_TYPE;
221   {$EXTERNALSYM WBEM_FLAVOR_TYPE}
222   TWbemFlavorType = WBEM_FLAVOR_TYPE;
223   {$EXTERNALSYM TWbemFlavorType}
224 
225 const
226   WBEM_FLAVOR_DONT_PROPAGATE    = $0;
227   {$EXTERNALSYM WBEM_FLAVOR_DONT_PROPAGATE}
228   WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE      = $1;
229   {$EXTERNALSYM WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE}
230   WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = $2;
231   {$EXTERNALSYM WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS}
232   WBEM_FLAVOR_MASK_PROPAGATION  = $f;
233   {$EXTERNALSYM WBEM_FLAVOR_MASK_PROPAGATION}
234   WBEM_FLAVOR_OVERRIDABLE       = $0;
235   {$EXTERNALSYM WBEM_FLAVOR_OVERRIDABLE}
236   WBEM_FLAVOR_NOT_OVERRIDABLE   = $10;
237   {$EXTERNALSYM WBEM_FLAVOR_NOT_OVERRIDABLE}
238   WBEM_FLAVOR_MASK_PERMISSIONS  = $10;
239   {$EXTERNALSYM WBEM_FLAVOR_MASK_PERMISSIONS}
240   WBEM_FLAVOR_ORIGIN_LOCAL      = $0;
241   {$EXTERNALSYM WBEM_FLAVOR_ORIGIN_LOCAL}
242   WBEM_FLAVOR_ORIGIN_PROPAGATED = $20;
243   {$EXTERNALSYM WBEM_FLAVOR_ORIGIN_PROPAGATED}
244   WBEM_FLAVOR_ORIGIN_SYSTEM     = $40;
245   {$EXTERNALSYM WBEM_FLAVOR_ORIGIN_SYSTEM}
246   WBEM_FLAVOR_MASK_ORIGIN       = $60;
247   {$EXTERNALSYM WBEM_FLAVOR_MASK_ORIGIN}
248   WBEM_FLAVOR_NOT_AMENDED       = $0;
249   {$EXTERNALSYM WBEM_FLAVOR_NOT_AMENDED}
250   WBEM_FLAVOR_AMENDED           = $80;
251   {$EXTERNALSYM WBEM_FLAVOR_AMENDED}
252   WBEM_FLAVOR_MASK_AMENDED      = $80;
253   {$EXTERNALSYM WBEM_FLAVOR_MASK_AMENDED}
254 
255 type
256   tag_WBEM_QUERY_FLAG_TYPE = DWORD;
257   {$EXTERNALSYM tag_WBEM_QUERY_FLAG_TYPE}
258   WBEM_QUERY_FLAG_TYPE = tag_WBEM_QUERY_FLAG_TYPE;
259   {$EXTERNALSYM WBEM_QUERY_FLAG_TYPE}
260   TWbemQueryFlagType = WBEM_QUERY_FLAG_TYPE;
261   {$EXTERNALSYM TWbemQueryFlagType}
262 
263 const
264   WBEM_FLAG_DEEP      = 0;
265   {$EXTERNALSYM WBEM_FLAG_DEEP}
266   WBEM_FLAG_SHALLOW   = 1;
267   {$EXTERNALSYM WBEM_FLAG_SHALLOW}
268   WBEM_FLAG_PROTOTYPE = 2;
269   {$EXTERNALSYM WBEM_FLAG_PROTOTYPE}
270 
271 type
272   tag_WBEM_SECURITY_FLAGS = DWORD;
273   {$EXTERNALSYM tag_WBEM_SECURITY_FLAGS}
274   WBEM_SECURITY_FLAGS = tag_WBEM_SECURITY_FLAGS;
275   {$EXTERNALSYM WBEM_SECURITY_FLAGS}
276   TWbemSecurityFlags = WBEM_SECURITY_FLAGS;
277   {$EXTERNALSYM TWbemSecurityFlags}
278 
279 const
280   WBEM_ENABLE            = $1;
281   {$EXTERNALSYM WBEM_ENABLE}
282   WBEM_METHOD_EXECUTE    = $2;
283   {$EXTERNALSYM WBEM_METHOD_EXECUTE}
284   WBEM_FULL_WRITE_REP    = $4;
285   {$EXTERNALSYM WBEM_FULL_WRITE_REP}
286   WBEM_PARTIAL_WRITE_REP = $8;
287   {$EXTERNALSYM WBEM_PARTIAL_WRITE_REP}
288   WBEM_WRITE_PROVIDER    = $10;
289   {$EXTERNALSYM WBEM_WRITE_PROVIDER}
290   WBEM_REMOTE_ACCESS     = $20;
291   {$EXTERNALSYM WBEM_REMOTE_ACCESS}
292   WBEM_RIGHT_SUBSCRIBE   = $40;
293   {$EXTERNALSYM WBEM_RIGHT_SUBSCRIBE}
294   WBEM_RIGHT_PUBLISH     = $80;
295   {$EXTERNALSYM WBEM_RIGHT_PUBLISH}
296 
297 type
298   tag_WBEM_LIMITATION_FLAG_TYPE = DWORD;
299   {$EXTERNALSYM tag_WBEM_LIMITATION_FLAG_TYPE}
300   WBEM_LIMITATION_FLAG_TYPE = tag_WBEM_LIMITATION_FLAG_TYPE;
301   {$EXTERNALSYM WBEM_LIMITATION_FLAG_TYPE}
302   TWbemLimitationFlagType = WBEM_LIMITATION_FLAG_TYPE;
303   {$EXTERNALSYM TWbemLimitationFlagType}
304 
305 const
306   WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS   = $10;
307   {$EXTERNALSYM WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS}
308   WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = $20;
309   {$EXTERNALSYM WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS}
310 
311 type
312   tag_WBEM_TEXT_FLAG_TYPE = DWORD;
313   {$EXTERNALSYM tag_WBEM_TEXT_FLAG_TYPE}
314   WBEM_TEXT_FLAG_TYPE = tag_WBEM_TEXT_FLAG_TYPE;
315   {$EXTERNALSYM WBEM_TEXT_FLAG_TYPE}
316   TWbemTextFlagType = WBEM_TEXT_FLAG_TYPE;
317   {$EXTERNALSYM TWbemTextFlagType}
318 
319 const
320   WBEM_FLAG_NO_FLAVORS = $1;
321   {$EXTERNALSYM WBEM_FLAG_NO_FLAVORS}
322 
323 type
324   tag_WBEM_COMPARISON_FLAG = DWORD;
325   {$EXTERNALSYM tag_WBEM_COMPARISON_FLAG}
326   WBEM_COMPARISON_FLAG = tag_WBEM_COMPARISON_FLAG;
327   {$EXTERNALSYM WBEM_COMPARISON_FLAG}
328   TWbemComparisonFlag = WBEM_COMPARISON_FLAG;
329   {$EXTERNALSYM TWbemComparisonFlag}
330 
331 const
332   WBEM_COMPARISON_INCLUDE_ALL     = $0;
333   {$EXTERNALSYM WBEM_COMPARISON_INCLUDE_ALL}
334   WBEM_FLAG_IGNORE_QUALIFIERS     = $1;
335   {$EXTERNALSYM WBEM_FLAG_IGNORE_QUALIFIERS}
336   WBEM_FLAG_IGNORE_OBJECT_SOURCE  = $2;
337   {$EXTERNALSYM WBEM_FLAG_IGNORE_OBJECT_SOURCE}
338   WBEM_FLAG_IGNORE_DEFAULT_VALUES = $4;
339   {$EXTERNALSYM WBEM_FLAG_IGNORE_DEFAULT_VALUES}
340   WBEM_FLAG_IGNORE_CLASS          = $8;
341   {$EXTERNALSYM WBEM_FLAG_IGNORE_CLASS}
342   WBEM_FLAG_IGNORE_CASE           = $10;
343   {$EXTERNALSYM WBEM_FLAG_IGNORE_CASE}
344   WBEM_FLAG_IGNORE_FLAVOR         = $20;
345   {$EXTERNALSYM WBEM_FLAG_IGNORE_FLAVOR}
346 
347 type
348   tag_WBEM_LOCKING = DWORD;
349   {$EXTERNALSYM tag_WBEM_LOCKING}
350   WBEM_LOCKING_FLAG_TYPE = tag_WBEM_LOCKING;
351   {$EXTERNALSYM WBEM_LOCKING_FLAG_TYPE}
352   TWbemLockingFlagType = WBEM_LOCKING_FLAG_TYPE;
353   {$EXTERNALSYM TWbemLockingFlagType}
354 
355 const
356   WBEM_FLAG_ALLOW_READ = $1;
357   {$EXTERNALSYM WBEM_FLAG_ALLOW_READ}
358 
359 type
360   tag_CIMTYPE_ENUMERATION = DWORD;
361   {$EXTERNALSYM tag_CIMTYPE_ENUMERATION}
362   CIMTYPE_ENUMERATION = tag_CIMTYPE_ENUMERATION;
363   {$EXTERNALSYM CIMTYPE_ENUMERATION}
364   TCimTypeEnumeration = CIMTYPE_ENUMERATION;
365   {$EXTERNALSYM TCimTypeEnumeration}
366 
367 const
368   CIM_ILLEGAL    = $fff;
369   {$EXTERNALSYM CIM_ILLEGAL}
370   CIM_EMPTY      = 0;
371   {$EXTERNALSYM CIM_EMPTY}
372   CIM_SINT8      = 16;
373   {$EXTERNALSYM CIM_SINT8}
374   CIM_UINT8      = 17;
375   {$EXTERNALSYM CIM_UINT8}
376   CIM_SINT16     = 2;
377   {$EXTERNALSYM CIM_SINT16}
378   CIM_UINT16     = 18;
379   {$EXTERNALSYM CIM_UINT16}
380   CIM_SINT32     = 3;
381   {$EXTERNALSYM CIM_SINT32}
382   CIM_UINT32     = 19;
383   {$EXTERNALSYM CIM_UINT32}
384   CIM_SINT64     = 20;
385   {$EXTERNALSYM CIM_SINT64}
386   CIM_UINT64     = 21;
387   {$EXTERNALSYM CIM_UINT64}
388   CIM_REAL32     = 4;
389   {$EXTERNALSYM CIM_REAL32}
390   CIM_REAL64     = 5;
391   {$EXTERNALSYM CIM_REAL64}
392   CIM_BOOLEAN    = 11;
393   {$EXTERNALSYM CIM_BOOLEAN}
394   CIM_STRING     = 8;
395   {$EXTERNALSYM CIM_STRING}
396   CIM_DATETIME   = 101;
397   {$EXTERNALSYM CIM_DATETIME}
398   CIM_REFERENCE  = 102;
399   {$EXTERNALSYM CIM_REFERENCE}
400   CIM_CHAR16     = 103;
401   {$EXTERNALSYM CIM_CHAR16}
402   CIM_OBJECT     = 13;
403   {$EXTERNALSYM CIM_OBJECT}
404   CIM_FLAG_ARRAY = $2000;
405   {$EXTERNALSYM CIM_FLAG_ARRAY}
406 
407 type
408   tag_WBEM_BACKUP_RESTORE_FLAGS = DWORD;
409   {$EXTERNALSYM tag_WBEM_BACKUP_RESTORE_FLAGS}
410   WBEM_BACKUP_RESTORE_FLAGS = tag_WBEM_BACKUP_RESTORE_FLAGS;
411   {$EXTERNALSYM WBEM_BACKUP_RESTORE_FLAGS}
412   TWbemBackupRestoreFlags = WBEM_BACKUP_RESTORE_FLAGS;
413   {$EXTERNALSYM TWbemBackupRestoreFlags}
414 
415 const
416   WBEM_FLAG_BACKUP_RESTORE_DEFAULT        = 0;
417   {$EXTERNALSYM WBEM_FLAG_BACKUP_RESTORE_DEFAULT}
418   WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1;
419   {$EXTERNALSYM WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN}
420 
421 type
422   tag_WBEM_REFRESHER_FLAGS = DWORD;
423   {$EXTERNALSYM tag_WBEM_REFRESHER_FLAGS}
424   WBEM_REFRESHER_FLAGS = tag_WBEM_REFRESHER_FLAGS;
425   {$EXTERNALSYM WBEM_REFRESHER_FLAGS}
426   TWbemRefresherFlags = WBEM_REFRESHER_FLAGS;
427   {$EXTERNALSYM TWbemRefresherFlags}
428 
429 const
430   WBEM_FLAG_REFRESH_AUTO_RECONNECT    = 0;
431   {$EXTERNALSYM WBEM_FLAG_REFRESH_AUTO_RECONNECT}
432   WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1;
433   {$EXTERNALSYM WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT}
434 
435 type
436   tag_WBEM_SHUTDOWN_FLAGS = DWORD;
437   {$EXTERNALSYM tag_WBEM_SHUTDOWN_FLAGS}
438   WBEM_SHUTDOWN_FLAGS = tag_WBEM_SHUTDOWN_FLAGS;
439   {$EXTERNALSYM WBEM_SHUTDOWN_FLAGS}
440   TWbemShutdownFlags = WBEM_SHUTDOWN_FLAGS;
441   {$EXTERNALSYM TWbemShutdownFlags}
442 
443 const
444   WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1;
445   {$EXTERNALSYM WBEM_SHUTDOWN_UNLOAD_COMPONENT}
446   WBEM_SHUTDOWN_WMI              = 2;
447   {$EXTERNALSYM WBEM_SHUTDOWN_WMI}
448   WBEM_SHUTDOWN_OS               = 3;
449   {$EXTERNALSYM WBEM_SHUTDOWN_OS}
450 
451 type
452   CIMTYPE = LONG;
453   {$EXTERNALSYM CIMTYPE}
454 
455 type
456   tag_WBEMSTATUS_FORMAT = DWORD;
457   {$EXTERNALSYM tag_WBEMSTATUS_FORMAT}
458   WBEMSTATUS_FORMAT = tag_WBEMSTATUS_FORMAT;
459   {$EXTERNALSYM WBEMSTATUS_FORMAT}
460   TWbemStatusFormat = WBEMSTATUS_FORMAT;
461   {$EXTERNALSYM TWbemStatusFormat}
462 
463 const
464   WBEMSTATUS_FORMAT_NEWLINE    = 0;
465   {$EXTERNALSYM WBEMSTATUS_FORMAT_NEWLINE}
466   WBEMSTATUS_FORMAT_NO_NEWLINE = 1;
467   {$EXTERNALSYM WBEMSTATUS_FORMAT_NO_NEWLINE}
468 
469 type
470   tag_WBEM_LIMITS = DWORD;
471   {$EXTERNALSYM tag_WBEM_LIMITS}
472   WBEM_LIMITS = tag_WBEM_LIMITS;
473   {$EXTERNALSYM WBEM_LIMITS}
474   TWbemLimits = WBEM_LIMITS;
475 
476 const
477   WBEM_MAX_IDENTIFIER      = $1000;
478   {$EXTERNALSYM WBEM_MAX_IDENTIFIER}
479   WBEM_MAX_QUERY           = $4000;
480   {$EXTERNALSYM WBEM_MAX_QUERY}
481   WBEM_MAX_PATH            = $2000;
482   {$EXTERNALSYM WBEM_MAX_PATH}
483   WBEM_MAX_OBJECT_NESTING  = 64;
484   {$EXTERNALSYM WBEM_MAX_OBJECT_NESTING}
485   WBEM_MAX_USER_PROPERTIES = 1024;
486   {$EXTERNALSYM WBEM_MAX_USER_PROPERTIES}
487 
488 type
489   tag_WBEMSTATUS = DWORD;
490   {$EXTERNALSYM tag_WBEMSTATUS}
491   WBEMSTATUS = tag_WBEMSTATUS;
492   {$EXTERNALSYM WBEMSTATUS}
493   TWbemStatus = WBEMSTATUS;
494   {$EXTERNALSYM TWbemStatus}
495 
496 const
497   WBEM_NO_ERROR = 0;
498   {$EXTERNALSYM WBEM_NO_ERROR}
499   WBEM_S_NO_ERROR = 0;
500   {$EXTERNALSYM WBEM_S_NO_ERROR}
501   WBEM_S_SAME = 0;
502   {$EXTERNALSYM WBEM_S_SAME}
503   WBEM_S_FALSE = 1;
504   {$EXTERNALSYM WBEM_S_FALSE}
505   WBEM_S_ALREADY_EXISTS = DWORD($40001);
506   {$EXTERNALSYM WBEM_S_ALREADY_EXISTS}
507   WBEM_S_RESET_TO_DEFAULT = DWORD($40002);
508   {$EXTERNALSYM WBEM_S_RESET_TO_DEFAULT}
509   WBEM_S_DIFFERENT = DWORD($40003);
510   {$EXTERNALSYM WBEM_S_DIFFERENT}
511   WBEM_S_TIMEDOUT = DWORD($40004);
512   {$EXTERNALSYM WBEM_S_TIMEDOUT}
513   WBEM_S_NO_MORE_DATA = DWORD($40005);
514   {$EXTERNALSYM WBEM_S_NO_MORE_DATA}
515   WBEM_S_OPERATION_CANCELLED = DWORD($40006);
516   {$EXTERNALSYM WBEM_S_OPERATION_CANCELLED}
517   WBEM_S_PENDING = DWORD($40007);
518   {$EXTERNALSYM WBEM_S_PENDING}
519   WBEM_S_DUPLICATE_OBJECTS = DWORD($40008);
520   {$EXTERNALSYM WBEM_S_DUPLICATE_OBJECTS}
521   WBEM_S_ACCESS_DENIED = DWORD($40009);
522   {$EXTERNALSYM WBEM_S_ACCESS_DENIED}
523   WBEM_S_PARTIAL_RESULTS = DWORD($40010);
524   {$EXTERNALSYM WBEM_S_PARTIAL_RESULTS}
525   WBEM_S_SOURCE_NOT_AVAILABLE = DWORD($40017);
526   {$EXTERNALSYM WBEM_S_SOURCE_NOT_AVAILABLE}
527   WBEM_E_FAILED = DWORD($80041001);
528   {$EXTERNALSYM WBEM_E_FAILED}
529   WBEM_E_NOT_FOUND = DWORD($80041002);
530   {$EXTERNALSYM WBEM_E_NOT_FOUND}
531   WBEM_E_ACCESS_DENIED = DWORD($80041003);
532   {$EXTERNALSYM WBEM_E_ACCESS_DENIED}
533   WBEM_E_PROVIDER_FAILURE = DWORD($80041004);
534   {$EXTERNALSYM WBEM_E_PROVIDER_FAILURE}
535   WBEM_E_TYPE_MISMATCH = DWORD($80041005);
536   {$EXTERNALSYM WBEM_E_TYPE_MISMATCH}
537   WBEM_E_OUT_OF_MEMORY = DWORD($80041006);
538   {$EXTERNALSYM WBEM_E_OUT_OF_MEMORY}
539   WBEM_E_INVALID_CONTEXT = DWORD($80041007);
540   {$EXTERNALSYM WBEM_E_INVALID_CONTEXT}
541   WBEM_E_INVALID_PARAMETER = DWORD($80041008);
542   {$EXTERNALSYM WBEM_E_INVALID_PARAMETER}
543   WBEM_E_NOT_AVAILABLE = DWORD($80041009);
544   {$EXTERNALSYM WBEM_E_NOT_AVAILABLE}
545   WBEM_E_CRITICAL_ERROR = DWORD($8004100a);
546   {$EXTERNALSYM WBEM_E_CRITICAL_ERROR}
547   WBEM_E_INVALID_STREAM = DWORD($8004100b);
548   {$EXTERNALSYM WBEM_E_INVALID_STREAM}
549   WBEM_E_NOT_SUPPORTED = DWORD($8004100c);
550   {$EXTERNALSYM WBEM_E_NOT_SUPPORTED}
551   WBEM_E_INVALID_SUPERCLASS = DWORD($8004100d);
552   {$EXTERNALSYM WBEM_E_INVALID_SUPERCLASS}
553   WBEM_E_INVALID_NAMESPACE = DWORD($8004100e);
554   {$EXTERNALSYM WBEM_E_INVALID_NAMESPACE}
555   WBEM_E_INVALID_OBJECT = DWORD($8004100f);
556   {$EXTERNALSYM WBEM_E_INVALID_OBJECT}
557   WBEM_E_INVALID_CLASS = DWORD($80041010);
558   {$EXTERNALSYM WBEM_E_INVALID_CLASS}
559   WBEM_E_PROVIDER_NOT_FOUND = DWORD($80041011);
560   {$EXTERNALSYM WBEM_E_PROVIDER_NOT_FOUND}
561   WBEM_E_INVALID_PROVIDER_REGISTRATION = DWORD($80041012);
562   {$EXTERNALSYM WBEM_E_INVALID_PROVIDER_REGISTRATION}
563   WBEM_E_PROVIDER_LOAD_FAILURE = DWORD($80041013);
564   {$EXTERNALSYM WBEM_E_PROVIDER_LOAD_FAILURE}
565   WBEM_E_INITIALIZATION_FAILURE = DWORD($80041014);
566   {$EXTERNALSYM WBEM_E_INITIALIZATION_FAILURE}
567   WBEM_E_TRANSPORT_FAILURE = DWORD($80041015);
568   {$EXTERNALSYM WBEM_E_TRANSPORT_FAILURE}
569   WBEM_E_INVALID_OPERATION = DWORD($80041016);
570   {$EXTERNALSYM WBEM_E_INVALID_OPERATION}
571   WBEM_E_INVALID_QUERY = DWORD($80041017);
572   {$EXTERNALSYM WBEM_E_INVALID_QUERY}
573   WBEM_E_INVALID_QUERY_TYPE = DWORD($80041018);
574   {$EXTERNALSYM WBEM_E_INVALID_QUERY_TYPE}
575   WBEM_E_ALREADY_EXISTS = DWORD($80041019);
576   {$EXTERNALSYM WBEM_E_ALREADY_EXISTS}
577   WBEM_E_OVERRIDE_NOT_ALLOWED = DWORD($8004101a);
578   {$EXTERNALSYM WBEM_E_OVERRIDE_NOT_ALLOWED}
579   WBEM_E_PROPAGATED_QUALIFIER = DWORD($8004101b);
580   {$EXTERNALSYM WBEM_E_PROPAGATED_QUALIFIER}
581   WBEM_E_PROPAGATED_PROPERTY = DWORD($8004101c);
582   {$EXTERNALSYM WBEM_E_PROPAGATED_PROPERTY}
583   WBEM_E_UNEXPECTED = DWORD($8004101d);
584   {$EXTERNALSYM WBEM_E_UNEXPECTED}
585   WBEM_E_ILLEGAL_OPERATION = DWORD($8004101e);
586   {$EXTERNALSYM WBEM_E_ILLEGAL_OPERATION}
587   WBEM_E_CANNOT_BE_KEY = DWORD($8004101f);
588   {$EXTERNALSYM WBEM_E_CANNOT_BE_KEY}
589   WBEM_E_INCOMPLETE_CLASS = DWORD($80041020);
590   {$EXTERNALSYM WBEM_E_INCOMPLETE_CLASS}
591   WBEM_E_INVALID_SYNTAX = DWORD($80041021);
592   {$EXTERNALSYM WBEM_E_INVALID_SYNTAX}
593   WBEM_E_NONDECORATED_OBJECT = DWORD($80041022);
594   {$EXTERNALSYM WBEM_E_NONDECORATED_OBJECT}
595   WBEM_E_READ_ONLY = DWORD($80041023);
596   {$EXTERNALSYM WBEM_E_READ_ONLY}
597   WBEM_E_PROVIDER_NOT_CAPABLE = DWORD($80041024);
598   {$EXTERNALSYM WBEM_E_PROVIDER_NOT_CAPABLE}
599   WBEM_E_CLASS_HAS_CHILDREN = DWORD($80041025);
600   {$EXTERNALSYM WBEM_E_CLASS_HAS_CHILDREN}
601   WBEM_E_CLASS_HAS_INSTANCES = DWORD($80041026);
602   {$EXTERNALSYM WBEM_E_CLASS_HAS_INSTANCES}
603   WBEM_E_QUERY_NOT_IMPLEMENTED = DWORD($80041027);
604   {$EXTERNALSYM WBEM_E_QUERY_NOT_IMPLEMENTED}
605   WBEM_E_ILLEGAL_NULL = DWORD($80041028);
606   {$EXTERNALSYM WBEM_E_ILLEGAL_NULL}
607   WBEM_E_INVALID_QUALIFIER_TYPE = DWORD($80041029);
608   {$EXTERNALSYM WBEM_E_INVALID_QUALIFIER_TYPE}
609   WBEM_E_INVALID_PROPERTY_TYPE = DWORD($8004102a);
610   {$EXTERNALSYM WBEM_E_INVALID_PROPERTY_TYPE}
611   WBEM_E_VALUE_OUT_OF_RANGE = DWORD($8004102b);
612   {$EXTERNALSYM WBEM_E_VALUE_OUT_OF_RANGE}
613   WBEM_E_CANNOT_BE_SINGLETON = DWORD($8004102c);
614   {$EXTERNALSYM WBEM_E_CANNOT_BE_SINGLETON}
615   WBEM_E_INVALID_CIM_TYPE = DWORD($8004102d);
616   {$EXTERNALSYM WBEM_E_INVALID_CIM_TYPE}
617   WBEM_E_INVALID_METHOD = DWORD($8004102e);
618   {$EXTERNALSYM WBEM_E_INVALID_METHOD}
619   WBEM_E_INVALID_METHOD_PARAMETERS = DWORD($8004102f);
620   {$EXTERNALSYM WBEM_E_INVALID_METHOD_PARAMETERS}
621   WBEM_E_SYSTEM_PROPERTY = DWORD($80041030);
622   {$EXTERNALSYM WBEM_E_SYSTEM_PROPERTY}
623   WBEM_E_INVALID_PROPERTY = DWORD($80041031);
624   {$EXTERNALSYM WBEM_E_INVALID_PROPERTY}
625   WBEM_E_CALL_CANCELLED = DWORD($80041032);
626   {$EXTERNALSYM WBEM_E_CALL_CANCELLED}
627   WBEM_E_SHUTTING_DOWN = DWORD($80041033);
628   {$EXTERNALSYM WBEM_E_SHUTTING_DOWN}
629   WBEM_E_PROPAGATED_METHOD = DWORD($80041034);
630   {$EXTERNALSYM WBEM_E_PROPAGATED_METHOD}
631   WBEM_E_UNSUPPORTED_PARAMETER = DWORD($80041035);
632   {$EXTERNALSYM WBEM_E_UNSUPPORTED_PARAMETER}
633   WBEM_E_MISSING_PARAMETER_ID = DWORD($80041036);
634   {$EXTERNALSYM WBEM_E_MISSING_PARAMETER_ID}
635   WBEM_E_INVALID_PARAMETER_ID = DWORD($80041037);
636   {$EXTERNALSYM WBEM_E_INVALID_PARAMETER_ID}
637   WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = DWORD($80041038);
638   {$EXTERNALSYM WBEM_E_NONCONSECUTIVE_PARAMETER_IDS}
639   WBEM_E_PARAMETER_ID_ON_RETVAL = DWORD($80041039);
640   {$EXTERNALSYM WBEM_E_PARAMETER_ID_ON_RETVAL}
641   WBEM_E_INVALID_OBJECT_PATH = DWORD($8004103a);
642   {$EXTERNALSYM WBEM_E_INVALID_OBJECT_PATH}
643   WBEM_E_OUT_OF_DISK_SPACE = DWORD($8004103b);
644   {$EXTERNALSYM WBEM_E_OUT_OF_DISK_SPACE}
645   WBEM_E_BUFFER_TOO_SMALL = DWORD($8004103c);
646   {$EXTERNALSYM WBEM_E_BUFFER_TOO_SMALL}
647   WBEM_E_UNSUPPORTED_PUT_EXTENSION = DWORD($8004103d);
648   {$EXTERNALSYM WBEM_E_UNSUPPORTED_PUT_EXTENSION}
649   WBEM_E_UNKNOWN_OBJECT_TYPE = DWORD($8004103e);
650   {$EXTERNALSYM WBEM_E_UNKNOWN_OBJECT_TYPE}
651   WBEM_E_UNKNOWN_PACKET_TYPE = DWORD($8004103f);
652   {$EXTERNALSYM WBEM_E_UNKNOWN_PACKET_TYPE}
653   WBEM_E_MARSHAL_VERSION_MISMATCH = DWORD($80041040);
654   {$EXTERNALSYM WBEM_E_MARSHAL_VERSION_MISMATCH}
655   WBEM_E_MARSHAL_INVALID_SIGNATURE = DWORD($80041041);
656   {$EXTERNALSYM WBEM_E_MARSHAL_INVALID_SIGNATURE}
657   WBEM_E_INVALID_QUALIFIER = DWORD($80041042);
658   {$EXTERNALSYM WBEM_E_INVALID_QUALIFIER}
659   WBEM_E_INVALID_DUPLICATE_PARAMETER = DWORD($80041043);
660   {$EXTERNALSYM WBEM_E_INVALID_DUPLICATE_PARAMETER}
661   WBEM_E_TOO_MUCH_DATA = DWORD($80041044);
662   {$EXTERNALSYM WBEM_E_TOO_MUCH_DATA}
663   WBEM_E_SERVER_TOO_BUSY = DWORD($80041045);
664   {$EXTERNALSYM WBEM_E_SERVER_TOO_BUSY}
665   WBEM_E_INVALID_FLAVOR = DWORD($80041046);
666   {$EXTERNALSYM WBEM_E_INVALID_FLAVOR}
667   WBEM_E_CIRCULAR_REFERENCE = DWORD($80041047);
668   {$EXTERNALSYM WBEM_E_CIRCULAR_REFERENCE}
669   WBEM_E_UNSUPPORTED_CLASS_UPDATE = DWORD($80041048);
670   {$EXTERNALSYM WBEM_E_UNSUPPORTED_CLASS_UPDATE}
671   WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = DWORD($80041049);
672   {$EXTERNALSYM WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE}
673   WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = DWORD($80041050);
674   {$EXTERNALSYM WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE}
675   WBEM_E_TOO_MANY_PROPERTIES = DWORD($80041051);
676   {$EXTERNALSYM WBEM_E_TOO_MANY_PROPERTIES}
677   WBEM_E_UPDATE_TYPE_MISMATCH = DWORD($80041052);
678   {$EXTERNALSYM WBEM_E_UPDATE_TYPE_MISMATCH}
679   WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = DWORD($80041053);
680   {$EXTERNALSYM WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED}
681   WBEM_E_UPDATE_PROPAGATED_METHOD = DWORD($80041054);
682   {$EXTERNALSYM WBEM_E_UPDATE_PROPAGATED_METHOD}
683   WBEM_E_METHOD_NOT_IMPLEMENTED = DWORD($80041055);
684   {$EXTERNALSYM WBEM_E_METHOD_NOT_IMPLEMENTED}
685   WBEM_E_METHOD_DISABLED = DWORD($80041056);
686   {$EXTERNALSYM WBEM_E_METHOD_DISABLED}
687   WBEM_E_REFRESHER_BUSY = DWORD($80041057);
688   {$EXTERNALSYM WBEM_E_REFRESHER_BUSY}
689   WBEM_E_UNPARSABLE_QUERY = DWORD($80041058);
690   {$EXTERNALSYM WBEM_E_UNPARSABLE_QUERY}
691   WBEM_E_NOT_EVENT_CLASS = DWORD($80041059);
692   {$EXTERNALSYM WBEM_E_NOT_EVENT_CLASS}
693   WBEM_E_MISSING_GROUP_WITHIN = DWORD($8004105a);
694   {$EXTERNALSYM WBEM_E_MISSING_GROUP_WITHIN}
695   WBEM_E_MISSING_AGGREGATION_LIST = DWORD($8004105b);
696   {$EXTERNALSYM WBEM_E_MISSING_AGGREGATION_LIST}
697   WBEM_E_PROPERTY_NOT_AN_OBJECT = DWORD($8004105c);
698   {$EXTERNALSYM WBEM_E_PROPERTY_NOT_AN_OBJECT}
699   WBEM_E_AGGREGATING_BY_OBJECT = DWORD($8004105d);
700   {$EXTERNALSYM WBEM_E_AGGREGATING_BY_OBJECT}
701   WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = DWORD($8004105f);
702   {$EXTERNALSYM WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY}
703   WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = DWORD($80041060);
704   {$EXTERNALSYM WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING}
705   WBEM_E_QUEUE_OVERFLOW = DWORD($80041061);
706   {$EXTERNALSYM WBEM_E_QUEUE_OVERFLOW}
707   WBEM_E_PRIVILEGE_NOT_HELD = DWORD($80041062);
708   {$EXTERNALSYM WBEM_E_PRIVILEGE_NOT_HELD}
709   WBEM_E_INVALID_OPERATOR = DWORD($80041063);
710   {$EXTERNALSYM WBEM_E_INVALID_OPERATOR}
711   WBEM_E_LOCAL_CREDENTIALS = DWORD($80041064);
712   {$EXTERNALSYM WBEM_E_LOCAL_CREDENTIALS}
713   WBEM_E_CANNOT_BE_ABSTRACT = DWORD($80041065);
714   {$EXTERNALSYM WBEM_E_CANNOT_BE_ABSTRACT}
715   WBEM_E_AMENDED_OBJECT = DWORD($80041066);
716   {$EXTERNALSYM WBEM_E_AMENDED_OBJECT}
717   WBEM_E_CLIENT_TOO_SLOW = DWORD($80041067);
718   {$EXTERNALSYM WBEM_E_CLIENT_TOO_SLOW}
719   WBEM_E_NULL_SECURITY_DESCRIPTOR = DWORD($80041068);
720   {$EXTERNALSYM WBEM_E_NULL_SECURITY_DESCRIPTOR}
721   WBEM_E_TIMED_OUT = DWORD($80041069);
722   {$EXTERNALSYM WBEM_E_TIMED_OUT}
723   WBEM_E_INVALID_ASSOCIATION = DWORD($8004106a);
724   {$EXTERNALSYM WBEM_E_INVALID_ASSOCIATION}
725   WBEM_E_AMBIGUOUS_OPERATION = DWORD($8004106b);
726   {$EXTERNALSYM WBEM_E_AMBIGUOUS_OPERATION}
727   WBEM_E_QUOTA_VIOLATION = DWORD($8004106c);
728   {$EXTERNALSYM WBEM_E_QUOTA_VIOLATION}
729   WBEM_E_RESERVED_001 = DWORD($8004106d);
730   {$EXTERNALSYM WBEM_E_RESERVED_001}
731   WBEM_E_RESERVED_002 = DWORD($8004106e);
732   {$EXTERNALSYM WBEM_E_RESERVED_002}
733   WBEM_E_UNSUPPORTED_LOCALE = DWORD($8004106f);
734   {$EXTERNALSYM WBEM_E_UNSUPPORTED_LOCALE}
735   WBEM_E_HANDLE_OUT_OF_DATE = DWORD($80041070);
736   {$EXTERNALSYM WBEM_E_HANDLE_OUT_OF_DATE}
737   WBEM_E_CONNECTION_FAILED = DWORD($80041071);
738   {$EXTERNALSYM WBEM_E_CONNECTION_FAILED}
739   WBEM_E_INVALID_HANDLE_REQUEST = DWORD($80041072);
740   {$EXTERNALSYM WBEM_E_INVALID_HANDLE_REQUEST}
741   WBEM_E_PROPERTY_NAME_TOO_WIDE = DWORD($80041073);
742   {$EXTERNALSYM WBEM_E_PROPERTY_NAME_TOO_WIDE}
743   WBEM_E_CLASS_NAME_TOO_WIDE = DWORD($80041074);
744   {$EXTERNALSYM WBEM_E_CLASS_NAME_TOO_WIDE}
745   WBEM_E_METHOD_NAME_TOO_WIDE = DWORD($80041075);
746   {$EXTERNALSYM WBEM_E_METHOD_NAME_TOO_WIDE}
747   WBEM_E_QUALIFIER_NAME_TOO_WIDE = DWORD($80041076);
748   {$EXTERNALSYM WBEM_E_QUALIFIER_NAME_TOO_WIDE}
749   WBEM_E_RERUN_COMMAND = DWORD($80041077);
750   {$EXTERNALSYM WBEM_E_RERUN_COMMAND}
751   WBEM_E_DATABASE_VER_MISMATCH = DWORD($80041078);
752   {$EXTERNALSYM WBEM_E_DATABASE_VER_MISMATCH}
753   WBEM_E_VETO_DELETE = DWORD($80041079);
754   {$EXTERNALSYM WBEM_E_VETO_DELETE}
755   WBEM_E_VETO_PUT = DWORD($8004107a);
756   {$EXTERNALSYM WBEM_E_VETO_PUT}
757   WBEM_E_INVALID_LOCALE = DWORD($80041080);
758   {$EXTERNALSYM WBEM_E_INVALID_LOCALE}
759   WBEM_E_PROVIDER_SUSPENDED = DWORD($80041081);
760   {$EXTERNALSYM WBEM_E_PROVIDER_SUSPENDED}
761   WBEM_E_SYNCHRONIZATION_REQUIRED = DWORD($80041082);
762   {$EXTERNALSYM WBEM_E_SYNCHRONIZATION_REQUIRED}
763   WBEM_E_NO_SCHEMA = DWORD($80041083);
764   {$EXTERNALSYM WBEM_E_NO_SCHEMA}
765   WBEM_E_PROVIDER_ALREADY_REGISTERED = DWORD($80041084);
766   {$EXTERNALSYM WBEM_E_PROVIDER_ALREADY_REGISTERED}
767   WBEM_E_PROVIDER_NOT_REGISTERED = DWORD($80041085);
768   {$EXTERNALSYM WBEM_E_PROVIDER_NOT_REGISTERED}
769   WBEM_E_FATAL_TRANSPORT_ERROR = DWORD($80041086);
770   {$EXTERNALSYM WBEM_E_FATAL_TRANSPORT_ERROR}
771   WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = DWORD($80041087);
772   {$EXTERNALSYM WBEM_E_ENCRYPTED_CONNECTION_REQUIRED}
773   WBEM_E_PROVIDER_TIMED_OUT = DWORD($80041088);
774   {$EXTERNALSYM WBEM_E_PROVIDER_TIMED_OUT}
775   WBEM_E_NO_KEY = DWORD($80041089);
776   {$EXTERNALSYM WBEM_E_NO_KEY}
777   WBEM_E_PROVIDER_DISABLED = DWORD($8004108a);
778   {$EXTERNALSYM WBEM_E_PROVIDER_DISABLED}
779   WBEMESS_E_REGISTRATION_TOO_BROAD = DWORD($80042001);
780   {$EXTERNALSYM WBEMESS_E_REGISTRATION_TOO_BROAD}
781   WBEMESS_E_REGISTRATION_TOO_PRECISE = DWORD($80042002);
782   {$EXTERNALSYM WBEMESS_E_REGISTRATION_TOO_PRECISE}
783   WBEMMOF_E_EXPECTED_QUALIFIER_NAME = DWORD($80044001);
784   {$EXTERNALSYM WBEMMOF_E_EXPECTED_QUALIFIER_NAME}
785   WBEMMOF_E_EXPECTED_SEMI = DWORD($80044002);
786   {$EXTERNALSYM WBEMMOF_E_EXPECTED_SEMI}
787   WBEMMOF_E_EXPECTED_OPEN_BRACE = DWORD($80044003);
788   {$EXTERNALSYM WBEMMOF_E_EXPECTED_OPEN_BRACE}
789   WBEMMOF_E_EXPECTED_CLOSE_BRACE = DWORD($80044004);
790   {$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_BRACE}
791   WBEMMOF_E_EXPECTED_CLOSE_BRACKET = DWORD($80044005);
792   {$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_BRACKET}
793   WBEMMOF_E_EXPECTED_CLOSE_PAREN = DWORD($80044006);
794   {$EXTERNALSYM WBEMMOF_E_EXPECTED_CLOSE_PAREN}
795   WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = DWORD($80044007);
796   {$EXTERNALSYM WBEMMOF_E_ILLEGAL_CONSTANT_VALUE}
797   WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = DWORD($80044008);
798   {$EXTERNALSYM WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER}
799   WBEMMOF_E_EXPECTED_OPEN_PAREN = DWORD($80044009);
800   {$EXTERNALSYM WBEMMOF_E_EXPECTED_OPEN_PAREN}
801   WBEMMOF_E_UNRECOGNIZED_TOKEN = DWORD($8004400a);
802   {$EXTERNALSYM WBEMMOF_E_UNRECOGNIZED_TOKEN}
803   WBEMMOF_E_UNRECOGNIZED_TYPE = DWORD($8004400b);
804   {$EXTERNALSYM WBEMMOF_E_UNRECOGNIZED_TYPE}
805   WBEMMOF_E_EXPECTED_PROPERTY_NAME = DWORD($8004400c);
806   {$EXTERNALSYM WBEMMOF_E_EXPECTED_PROPERTY_NAME}
807   WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = DWORD($8004400d);
808   {$EXTERNALSYM WBEMMOF_E_TYPEDEF_NOT_SUPPORTED}
809   WBEMMOF_E_UNEXPECTED_ALIAS = DWORD($8004400e);
810   {$EXTERNALSYM WBEMMOF_E_UNEXPECTED_ALIAS}
811   WBEMMOF_E_UNEXPECTED_ARRAY_INIT = DWORD($8004400f);
812   {$EXTERNALSYM WBEMMOF_E_UNEXPECTED_ARRAY_INIT}
813   WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = DWORD($80044010);
814   {$EXTERNALSYM WBEMMOF_E_INVALID_AMENDMENT_SYNTAX}
815   WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = DWORD($80044011);
816   {$EXTERNALSYM WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT}
817   WBEMMOF_E_INVALID_PRAGMA = DWORD($80044012);
818   {$EXTERNALSYM WBEMMOF_E_INVALID_PRAGMA}
819   WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = DWORD($80044013);
820   {$EXTERNALSYM WBEMMOF_E_INVALID_NAMESPACE_SYNTAX}
821   WBEMMOF_E_EXPECTED_CLASS_NAME = DWORD($80044014);
822   {$EXTERNALSYM WBEMMOF_E_EXPECTED_CLASS_NAME}
823   WBEMMOF_E_TYPE_MISMATCH = DWORD($80044015);
824   {$EXTERNALSYM WBEMMOF_E_TYPE_MISMATCH}
825   WBEMMOF_E_EXPECTED_ALIAS_NAME = DWORD($80044016);
826   {$EXTERNALSYM WBEMMOF_E_EXPECTED_ALIAS_NAME}
827   WBEMMOF_E_INVALID_CLASS_DECLARATION = DWORD($80044017);
828   {$EXTERNALSYM WBEMMOF_E_INVALID_CLASS_DECLARATION}
829   WBEMMOF_E_INVALID_INSTANCE_DECLARATION = DWORD($80044018);
830   {$EXTERNALSYM WBEMMOF_E_INVALID_INSTANCE_DECLARATION}
831   WBEMMOF_E_EXPECTED_DOLLAR = DWORD($80044019);
832   {$EXTERNALSYM WBEMMOF_E_EXPECTED_DOLLAR}
833   WBEMMOF_E_CIMTYPE_QUALIFIER = DWORD($8004401a);
834   {$EXTERNALSYM WBEMMOF_E_CIMTYPE_QUALIFIER}
835   WBEMMOF_E_DUPLICATE_PROPERTY = DWORD($8004401b);
836   {$EXTERNALSYM WBEMMOF_E_DUPLICATE_PROPERTY}
837   WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = DWORD($8004401c);
838   {$EXTERNALSYM WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION}
839   WBEMMOF_E_OUT_OF_RANGE = DWORD($8004401d);
840   {$EXTERNALSYM WBEMMOF_E_OUT_OF_RANGE}
841   WBEMMOF_E_INVALID_FILE = DWORD($8004401e);
842   {$EXTERNALSYM WBEMMOF_E_INVALID_FILE}
843   WBEMMOF_E_ALIASES_IN_EMBEDDED = DWORD($8004401f);
844   {$EXTERNALSYM WBEMMOF_E_ALIASES_IN_EMBEDDED}
845   WBEMMOF_E_NULL_ARRAY_ELEM = DWORD($80044020);
846   {$EXTERNALSYM WBEMMOF_E_NULL_ARRAY_ELEM}
847   WBEMMOF_E_DUPLICATE_QUALIFIER = DWORD($80044021);
848   {$EXTERNALSYM WBEMMOF_E_DUPLICATE_QUALIFIER}
849   WBEMMOF_E_EXPECTED_FLAVOR_TYPE = DWORD($80044022);
850   {$EXTERNALSYM WBEMMOF_E_EXPECTED_FLAVOR_TYPE}
851   WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = DWORD($80044023);
852   {$EXTERNALSYM WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES}
853   WBEMMOF_E_MULTIPLE_ALIASES = DWORD($80044024);
854   {$EXTERNALSYM WBEMMOF_E_MULTIPLE_ALIASES}
855   WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = DWORD($80044025);
856   {$EXTERNALSYM WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2}
857   WBEMMOF_E_NO_ARRAYS_RETURNED = DWORD($80044026);
858   {$EXTERNALSYM WBEMMOF_E_NO_ARRAYS_RETURNED}
859   WBEMMOF_E_MUST_BE_IN_OR_OUT = DWORD($80044027);
860   {$EXTERNALSYM WBEMMOF_E_MUST_BE_IN_OR_OUT}
861   WBEMMOF_E_INVALID_FLAGS_SYNTAX = DWORD($80044028);
862   {$EXTERNALSYM WBEMMOF_E_INVALID_FLAGS_SYNTAX}
863   WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = DWORD($80044029);
864   {$EXTERNALSYM WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE}
865   WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = DWORD($8004402a);
866   {$EXTERNALSYM WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE}
867   WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = DWORD($8004402b);
868   {$EXTERNALSYM WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE}
869   WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = DWORD($8004402c);
870   {$EXTERNALSYM WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX}
871   WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = DWORD($8004402d);
872   {$EXTERNALSYM WBEMMOF_E_INVALID_QUALIFIER_SYNTAX}
873   WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = DWORD($8004402e);
874   {$EXTERNALSYM WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE}
875   WBEMMOF_E_ERROR_CREATING_TEMP_FILE = DWORD($8004402f);
876   {$EXTERNALSYM WBEMMOF_E_ERROR_CREATING_TEMP_FILE}
877   WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = DWORD($80044030);
878   {$EXTERNALSYM WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE}
879   WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = DWORD($80044031);
880   {$EXTERNALSYM WBEMMOF_E_INVALID_DELETECLASS_SYNTAX}
881 
882 //const
883 //EXTERN_C const IID LIBID_WbemClient_v1;
884 
885 const
886   IID_IWbemClassObject: TGUID = '{dc12a681-737f-11cf-884d-00aa004b2e24}';
887   {$EXTERNALSYM IID_IWbemClassObject}
888   IID_IWbemObjectAccess: TGUID = '{49353c9a-516b-11d1-aea6-00c04fb68820}';
889   {$EXTERNALSYM IID_IWbemObjectAccess}
890   IID_IWbemQualifierSet: TGUID = '{dc12a680-737f-11cf-884d-00aa004b2e24}';
891   {$EXTERNALSYM IID_IWbemQualifierSet}
892   IID_IWbemServices: TGUID = '{9556dc99-828c-11cf-a37e-00aa003240c7}';
893   {$EXTERNALSYM IID_IWbemServices}
894   IID_IWbemLocator: TGUID = '{dc12a687-737f-11cf-884d-00aa004b2e24}';
895   {$EXTERNALSYM IID_IWbemLocator}
896   IID_IWbemObjectSink: TGUID = '{7c857801-7381-11cf-884d-00aa004b2e24}';
897   {$EXTERNALSYM IID_IWbemObjectSink}
898   IID_IEnumWbemClassObject: TGUID = '{027947e1-d731-11ce-a357-000000000001}';
899   {$EXTERNALSYM IID_IEnumWbemClassObject}
900   IID_IWbemCallResult: TGUID = '{44aca675-e8fc-11d0-a07c-00c04fb68820}';
901   {$EXTERNALSYM IID_IWbemCallResult}
902   IID_IWbemContext: TGUID = '{44aca674-e8fc-11d0-a07c-00c04fb68820}';
903   {$EXTERNALSYM IID_IWbemContext}
904   IID_IUnsecuredApartment: TGUID = '{1cfaba8c-1523-11d1-ad79-00c04fd8fdff}';
905   {$EXTERNALSYM IID_IUnsecuredApartment}
906   IID_IWbemUnsecuredApartment: TGUID = '{31739d04-3471-4cf4-9a7c-57a44ae71956}';
907   {$EXTERNALSYM IID_IWbemUnsecuredApartment}
908   IID_IWbemStatusCodeText: TGUID = '{eb87e1bc-3233-11d2-aec9-00c04fb68820}';
909   {$EXTERNALSYM IID_IWbemStatusCodeText}
910   IID_IWbemBackupRestore: TGUID = '{C49E32C7-BC8B-11d2-85D4-00105A1F8304}';
911   {$EXTERNALSYM IID_IWbemBackupRestore}
912   IID_IWbemBackupRestoreEx: TGUID = '{A359DEC5-E813-4834-8A2A-BA7F1D777D76}';
913   {$EXTERNALSYM IID_IWbemBackupRestoreEx}
914   IID_IWbemRefresher: TGUID = '{49353c99-516b-11d1-aea6-00c04fb68820}';
915   {$EXTERNALSYM IID_IWbemRefresher}
916   IID_IWbemHiPerfEnum: TGUID = '{2705C288-79AE-11d2-B348-00105A1F8177}';
917   {$EXTERNALSYM IID_IWbemHiPerfEnum}
918   IID_IWbemConfigureRefresher: TGUID = '{49353c92-516b-11d1-aea6-00c04fb68820}';
919   {$EXTERNALSYM IID_IWbemConfigureRefresher}
920 
921 type
922   // forward declarations
923 
924   IWbemQualifierSet = interface;
925   IWbemContext = interface;
926   IWbemCallResult = interface;
927   IWbemObjectSink = interface;
928   IEnumWbemClassObject = interface;
929 
930   IWbemClassObject = interface(IUnknown)
931   ['{dc12a681-737f-11cf-884d-00aa004b2e24}']
GetQualifierSetnull932     function GetQualifierSet(out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
Getnull933     function Get(wszName: LPCWSTR; lFlags: Longint; var pVal: OleVariant; var pType: CIMTYPE; var plFlavor: Longint): HRESULT; stdcall;
Putnull934     function Put(wszName: LPCWSTR; lFlags: Longint; pVal: POleVariant; Type_: CIMTYPE): HRESULT; stdcall;
Deletenull935     function Delete(wszName: LPCWSTR): HRESULT; stdcall;
GetNamesnull936     function GetNames(wszQualifierName: LPCWSTR; lFlags: Longint; pQualifierVal: POleVariant; out pNames: PSafeArray): HRESULT; stdcall;
BeginEnumerationnull937     function BeginEnumeration(lEnumFlags: Longint): HRESULT; stdcall;
Nextnull938     function Next(lFlags: Longint; var strName: WideString; var pVal: OleVariant; var pType: CIMTYPE; var plFlavor: Longint): HRESULT; stdcall;
EndEnumerationnull939     function EndEnumeration: HRESULT; stdcall;
GetPropertyQualifierSetnull940     function GetPropertyQualifierSet(wszProperty: LPCWSTR; out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
Clonenull941     function Clone(out ppCopy: IWbemClassObject): HRESULT; stdcall;
GetObjectTextnull942     function GetObjectText(lFlags: Longint; out pstrObjectText: WideString): HRESULT; stdcall;
SpawnDerivedClassnull943     function SpawnDerivedClass(lFlags: Longint; out ppNewClass: IWbemClassObject): HRESULT; stdcall;
SpawnInstancenull944     function SpawnInstance(lFlags: Longint; out ppNewInstance: IWbemClassObject): HRESULT; stdcall;
CompareTonull945     function CompareTo(lFlags: Longint; pCompareTo: IWbemClassObject): HRESULT; stdcall;
GetPropertyOriginnull946     function GetPropertyOrigin(wszName: LPCWSTR; out pstrClassName: WideString): HRESULT; stdcall;
InheritsFromnull947     function InheritsFrom(strAncestor: LPCWSTR): HRESULT; stdcall;
GetMethodnull948     function GetMethod(wszName: LPCWSTR; lFlags: Longint; out ppInSignature, ppOutSignature: IWbemClassObject): HRESULT; stdcall;
PutMethodnull949     function PutMethod(wszName: LPCWSTR; lFlags: Longint; pInSignature, pOutSignature: IWbemClassObject): HRESULT; stdcall;
DeleteMethodnull950     function DeleteMethod(wszName: LPCWSTR): HRESULT; stdcall;
BeginMethodEnumerationnull951     function BeginMethodEnumeration(lEnumFlags: Longint): HRESULT; stdcall;
NextMethodnull952     function NextMethod(lFlags: Longint; var pstrName: WideString; var ppInSignature, ppOutSignature: IWbemClassObject): HRESULT; stdcall;
EndMethodEnumerationnull953     function EndMethodEnumeration: HRESULT; stdcall;
GetMethodQualifierSetnull954     function GetMethodQualifierSet(wszMethod: LPCWSTR; out ppQualSet: IWbemQualifierSet): HRESULT; stdcall;
GetMethodOriginnull955     function GetMethodOrigin(wszMethodName: LPCWSTR; out pstrClassName: WideString): HRESULT; stdcall;
956   end;
957   {$EXTERNALSYM IWbemClassObject}
958 
959   IWbemObjectAccess = interface(IWbemClassObject)
960   ['{49353c9a-516b-11d1-aea6-00c04fb68820}']
GetPropertyHandlenull961     function GetPropertyHandle(wszPropertyName: LPCWSTR; out pType: CIMTYPE; out plHandle: Longint): HRESULT; stdcall;
WritePropertyValuenull962     function WritePropertyValue(lHandle, lNumBytes: Longint; aData: LPBYTE): HRESULT; stdcall;
ReadPropertyValuenull963     function ReadPropertyValue(lHandle, lBufferSize: Longint; out plNumBytes: Longint; aData: LPBYTE): HRESULT; stdcall;
ReadDWORDnull964     function ReadDWORD(lHandle: Longint; out pdw: DWORD): HRESULT; stdcall;
WriteDWORDnull965     function WriteDWORD(lHandle: Longint; dw: DWORD): HRESULT; stdcall;
ReadQWORDnull966     function ReadQWORD(lHandle: Longint; out pqw: Int64): HRESULT; stdcall;
WriteQWORDnull967     function WriteQWORD(lHandle: Longint; pw: Int64): HRESULT; stdcall;
GetPropertyInfoByHandlenull968     function GetPropertyInfoByHandle(lHandle: Longint; out pstrName: WideString; out pType: CIMTYPE): HRESULT; stdcall;
Locknull969     function Lock(lFlags: Longint): HRESULT; stdcall;
Unlocknull970     function Unlock(lFlags: Longint): HRESULT; stdcall;
971   end;
972   {$EXTERNALSYM IWbemObjectAccess}
973 
974   IWbemQualifierSet = interface(IUnknown)
975   ['{dc12a680-737f-11cf-884d-00aa004b2e24}']
Getnull976     function Get(wszName: LPCWSTR; lFlags: Longint; var pVal: OleVariant; var plFlavor: Longint): HRESULT; stdcall;
Putnull977     function Put(wszName: LPCWSTR; pVal: POleVariant; lFlavor: Longint): HRESULT; stdcall;
Deletenull978     function Delete(wszName: LPCWSTR): HRESULT; stdcall;
GetNamesnull979     function GetNames(lFlags: Longint; out pNames: PSafeArray): HRESULT; stdcall;
BeginEnumerationnull980     function BeginEnumeration(lFlags: Longint): HRESULT; stdcall;
Nextnull981     function Next(lFlags: Longint; var pstrName: WideString; var pVal: OleVariant; var plFlavor: Longint): HRESULT; stdcall;
EndEnumerationnull982     function EndEnumeration: HRESULT; stdcall;
983   end;
984   {$EXTERNALSYM IWbemQualifierSet}
985 
986   IWbemServices = interface(IUnknown)
987   ['{9556dc99-828c-11cf-a37e-00aa003240c7}']
OpenNamespacenull988     function OpenNamespace(strNamespace: WideString; lFlags: Longint; pCtx: IWbemContext; out ppWorkingNamespace: IWbemServices; out ppResult: IWbemCallResult): HRESULT; stdcall;
CancelAsyncCallnull989     function CancelAsyncCall(pSink: IWbemObjectSink): HRESULT; stdcall;
QueryObjectSinknull990     function QueryObjectSink(lFlags: Longint; out ppResponseHandler: IWbemObjectSink): HRESULT; stdcall;
GetObjectnull991     function GetObject(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; out ppObject: IWbemClassObject; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
GetObjectAsyncnull992     function GetObjectAsync(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
PutClassnull993     function PutClass(pObject: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
PutClassAsyncnull994     function PutClassAsync(pObject: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
DeleteClassnull995     function DeleteClass(strClass: WideString; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
DeleteClassAsyncnull996     function DeleteClassAsync(strClass: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
CreateClassEnumnull997     function CreateClassEnum(strSuperclass: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
CreateClassEnumAsyncnull998     function CreateClassEnumAsync(strSuperclass: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
PutInstancenull999     function PutInstance(pInst: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
PutInstanceAsyncnull1000     function PutInstanceAsync(pInst: IWbemClassObject; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
DeleteInstancenull1001     function DeleteInstance(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
DeleteInstanceAsyncnull1002     function DeleteInstanceAsync(strObjectPath: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
CreateInstanceEnumnull1003     function CreateInstanceEnum(strFilter: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
CreateInstanceEnumAsyncnull1004     function CreateInstanceEnumAsync(strFilter: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
ExecQuerynull1005     function ExecQuery(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
ExecQueryAsyncnull1006     function ExecQueryAsync(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
ExecNotificationQuerynull1007     function ExecNotificationQuery(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
ExecNotificationQueryAsyncnull1008     function ExecNotificationQueryAsync(strQueryLanguage, strQuery: WideString; lFlags: Longint; pCtx: IWbemContext; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
ExecMethodnull1009     function ExecMethod(strObjectPath, strMethodName: WideString; lFlags: Longint; pCtx: IWbemContext; pInParams: IWbemClassObject; out ppOutParams: IWbemClassObject; out ppCallResult: IWbemCallResult): HRESULT; stdcall;
ExecMethodAsyncnull1010     function ExecMethodAsync(strObjectPath, strMethodName: WideString; lFlags: Longint; pCtx: IWbemContext; pInParams: IWbemClassObject; pResponseHandler: IWbemObjectSink): HRESULT; stdcall;
1011   end;
1012   {$EXTERNALSYM IWbemServices}
1013 
1014   IWbemLocator = interface(IUnknown)
1015   ['{dc12a687-737f-11cf-884d-00aa004b2e24}']
ConnectServernull1016     function ConnectServer(strNetworkResource, strUser, strPassword, strLocale: WideString; lSecurityFlags: Longint;
1017       strAuthority: WideString; pCtx: IWbemContext; out ppNamespace: IWbemServices): HRESULT; stdcall;
1018   end;
1019   {$EXTERNALSYM IWbemLocator}
1020 
1021   IWbemObjectSink = interface(IUnknown)
1022   ['{7c857801-7381-11cf-884d-00aa004b2e24}']
Indicatenull1023     function Indicate(lObjectCount: Longint; var apObjArray: IWbemClassObject{todo}): HRESULT; stdcall;
SetStatusnull1024     function SetStatus(lFlags: Longint; hResult: HRESULT; strParam: WideString; pObjParam: IWbemClassObject): HRESULT; stdcall;
1025   end;
1026   {$EXTERNALSYM IWbemObjectSink}
1027 
1028   IEnumWbemClassObject = interface(IUnknown)
1029   ['{027947e1-d731-11ce-a357-000000000001}']
Resetnull1030     function Reset: HRESULT; stdcall;
Nextnull1031     function Next(lTimeout: Longint; uCount: ULONG; out apObjects: IWbemClassObject; out puReturned: ULONG): HRESULT; stdcall;
NextAsyncnull1032     function NextAsync(uCount: ULONG; pSink: IWbemObjectSink): HRESULT; stdcall;
Clonenull1033     function Clone(out ppEnum: IEnumWbemClassObject): HRESULT; stdcall;
Skipnull1034     function Skip(lTimeout: Longint; nCount: ULONG): HRESULT; stdcall;
1035   end;
1036   {$EXTERNALSYM IEnumWbemClassObject}
1037 
1038   IWbemCallResult = interface(IUnknown)
1039   ['{44aca675-e8fc-11d0-a07c-00c04fb68820}']
GetResultObjectnull1040     function GetResultObject(lTimeout: Longint; out ppResultObject: IWbemClassObject): HRESULT; stdcall;
GetResultStringnull1041     function GetResultString(lTimeout: Longint; out pstrResultString: WideString): HRESULT; stdcall;
GetResultServicesnull1042     function GetResultServices(lTimeout: Longint; out ppServices: IWbemServices): HRESULT; stdcall;
GetCallStatusnull1043     function GetCallStatus(lTimeout: Longint; out plStatus: Longint): HRESULT; stdcall;
1044   end;
1045   {$EXTERNALSYM IWbemCallResult}
1046 
1047   IWbemContext = interface(IUnknown)
1048   ['{44aca674-e8fc-11d0-a07c-00c04fb68820}']
Clonenull1049     function Clone(out ppNewCopy: IWbemContext): HRESULT; stdcall;
GetNamesnull1050     function GetNames(lFlags: Longint; out pNames: PSafeArray): HRESULT; stdcall;
BeginEnumerationnull1051     function BeginEnumeration(lFlags: Longint): HRESULT; stdcall;
Nextnull1052     function Next(lFlags: Longint; out pstrName: WideString; out pValue: OleVariant): HRESULT; stdcall;
EndEnumerationnull1053     function EndEnumeration: HRESULT; stdcall;
SetValuenull1054     function SetValue(wszName: LPCWSTR; lFlags: Longint; pValue: POleVariant): HRESULT; stdcall;
GetValuenull1055     function GetValue(wszName: LPCWSTR; lFlags: Longint; out pValue: OleVariant): HRESULT; stdcall;
DeleteValuenull1056     function DeleteValue(wszName: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
DeleteAllnull1057     function DeleteAll: HRESULT; stdcall;
1058   end;
1059   {$EXTERNALSYM IWbemContext}
1060 
1061   IUnsecuredApartment = interface(IUnknown)
1062   ['{1cfaba8c-1523-11d1-ad79-00c04fd8fdff}']
CreateObjectStubnull1063     function CreateObjectStub(pObject: IUnknown; out ppStub: IUnknown): HRESULT; stdcall;
1064   end;
1065   {$EXTERNALSYM IUnsecuredApartment}
1066 
1067   IWbemUnsecuredApartment = interface(IUnsecuredApartment)
1068   ['{31739d04-3471-4cf4-9a7c-57a44ae71956}']
CreateSinkStubnull1069     function CreateSinkStub(pSink: IWbemObjectSink; dwFlags: DWORD; wszReserved: LPCWSTR; out ppStub: IWbemObjectSink): HRESULT; stdcall;
1070   end;
1071   {$EXTERNALSYM IWbemUnsecuredApartment}
1072 
1073   IWbemStatusCodeText = interface(IUnknown)
1074   ['{eb87e1bc-3233-11d2-aec9-00c04fb68820}']
GetErrorCodeTextnull1075     function GetErrorCodeText(hRes: HRESULT; LocaleId: LCID; lFlags: Longint; out MessageText: WideString): HRESULT; stdcall;
GetFacilityCodeTextnull1076     function GetFacilityCodeText(hRes: HRESULT; LocaleId: LCID; lFlags: Longint; out MessageText: WideString): HRESULT; stdcall;
1077   end;
1078   {$EXTERNALSYM IWbemStatusCodeText}
1079 
1080   IWbemBackupRestore = interface(IUnknown)
1081   ['{C49E32C7-BC8B-11d2-85D4-00105A1F8304}']
Backupnull1082     function Backup(strBackupToFile: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
Restorenull1083     function Restore(strRestoreFromFile: LPCWSTR; lFlags: Longint): HRESULT; stdcall;
1084   end;
1085   {$EXTERNALSYM IWbemBackupRestore}
1086 
1087   IWbemBackupRestoreEx = interface(IWbemBackupRestore)
1088   ['{A359DEC5-E813-4834-8A2A-BA7F1D777D76}']
Pausenull1089     function Pause: HRESULT; stdcall;
Resumenull1090     function Resume: HRESULT; stdcall;
1091   end;
1092   {$EXTERNALSYM IWbemBackupRestoreEx}
1093 
1094   IWbemRefresher = interface(IUnknown)
1095   ['{49353c99-516b-11d1-aea6-00c04fb68820}']
Refreshnull1096     function Refresh(lFlags: Longint): HRESULT; stdcall;
1097   end;
1098   {$EXTERNALSYM IWbemRefresher}
1099 
1100   PIWbemObjectAccess = ^IWbemObjectAccess;
1101 
1102   PLongint = ^Longint; // TODO PLongint introduced in Delphi 6
1103 
1104   IWbemHiPerfEnum = interface(IUnknown)
1105   ['{2705C288-79AE-11d2-B348-00105A1F8177}']
AddObjectsnull1106     function AddObjects(lFlags: Longint; uNumObjects: ULONG; apIds: PLongint; apObj: PIWbemObjectAccess): HRESULT; stdcall;
RemoveObjectsnull1107     function RemoveObjects(lFlags: Longint; uNumObjects: ULONG; apIds: PLongint): HRESULT; stdcall;
GetObjectsnull1108     function GetObjects(lFlags: Longint; uNumObjects: ULONG; out apObj: IWbemObjectAccess; out puReturned: ULONG): HRESULT; stdcall;
RemoveAllnull1109     function RemoveAll(lFlags: Longint): HRESULT; stdcall;
1110   end;
1111   {$EXTERNALSYM IWbemHiPerfEnum}
1112 
1113   IWbemConfigureRefresher = interface(IUnknown)
1114   ['{49353c92-516b-11d1-aea6-00c04fb68820}']
AddObjectByPathnull1115     function AddObjectByPath(pNamespace: IWbemServices; wszPath: LPCWSTR; lFlags: Longint; pContext: IWbemContext; out ppRefreshable: IWbemClassObject; var plId: Longint): HRESULT; stdcall;
AddObjectByTemplatenull1116     function AddObjectByTemplate(pNamespace: IWbemServices; pTemplate: IWbemClassObject; lFlags: Longint; pContext: IWbemContext; out ppRefreshable: IWbemClassObject; var plId: Longint): HRESULT; stdcall;
AddRefreshernull1117     function AddRefresher(pRefresher: IWbemRefresher; lFlags: Longint; var plId: Longint): HRESULT; stdcall;
Removenull1118     function Remove(lId, lFlags: Longint): HRESULT; stdcall;
AddEnumnull1119     function AddEnum(pNamespace: IWbemServices; wszClassName: LPCWSTR; lFlags: Longint; pContext: IWbemContext; out ppEnum: IWbemHiPerfEnum; var plId: Longint): HRESULT; stdcall;
1120   end;
1121   {$EXTERNALSYM IWbemConfigureRefresher}
1122 
1123 const
1124   CLSID_WbemLocator: TGUID = '{4590f811-1d3a-11d0-891f-00aa004b2e24}';
1125   {$EXTERNALSYM CLSID_WbemLocator}
1126   CLSID_WbemContext: TGUID = '{674B6698-EE92-11d0-AD71-00C04FD8FDFF}';
1127   {$EXTERNALSYM CLSID_WbemContext}
1128   CLSID_UnsecuredApartment: TGUID = '{49bd2028-1523-11d1-ad79-00c04fd8fdff}';
1129   {$EXTERNALSYM CLSID_UnsecuredApartment}
1130   CLSID_WbemClassObject: TGUID = '{9A653086-174F-11d2-B5F9-00104B703EFD}';
1131   {$EXTERNALSYM CLSID_WbemClassObject}
1132   CLSID_MofCompiler: TGUID = '{6daf9757-2e37-11d2-aec9-00c04fb68820}';
1133   {$EXTERNALSYM CLSID_MofCompiler}
1134   CLSID_WbemStatusCodeText: TGUID = '{eb87e1bd-3233-11d2-aec9-00c04fb68820}';
1135   {$EXTERNALSYM CLSID_WbemStatusCodeText}
1136   CLSID_WbemBackupRestore: TGUID = '{C49E32C6-BC8B-11d2-85D4-00105A1F8304}';
1137   {$EXTERNALSYM CLSID_WbemBackupRestore}
1138   CLSID_WbemRefresher: TGUID = '{c71566f2-561e-11d1-ad87-00c04fd8fdff}';
1139   {$EXTERNALSYM CLSID_WbemRefresher}
1140   CLSID_WbemObjectTextSrc: TGUID = '{8D1C559D-84F0-4bb3-A7D5-56A7435A9BA6}';
1141   {$EXTERNALSYM CLSID_WbemObjectTextSrc}
1142 
1143 const
1144   IID_IWbemShutdown: TGUID = '{b7b31df9-d515-11d3-a11c-00105a1f515a}';
1145   {$EXTERNALSYM IID_IWbemShutdown}
1146 
1147 type
1148   IWbemShutdown = interface(IUnknown)
1149   ['{b7b31df9-d515-11d3-a11c-00105a1f515a}']
Shutdownnull1150     function Shutdown(uReason: LONG; uMaxMilliseconds: ULONG; pCtx: IWbemContext): HRESULT; stdcall;
1151   end;
1152   {$EXTERNALSYM IWbemShutdown}
1153 
1154 type
1155   tag_WMI_OBJ_TEXT = DWORD;
1156   {$EXTERNALSYM tag_WMI_OBJ_TEXT}
1157   WMI_OBJ_TEXT = tag_WMI_OBJ_TEXT;
1158   {$EXTERNALSYM WMI_OBJ_TEXT}
1159   TWmiObjText = WMI_OBJ_TEXT;
1160 
1161 const
1162   WMI_OBJ_TEXT_CIM_DTD_2_0 = 1;
1163   {$EXTERNALSYM WMI_OBJ_TEXT_CIM_DTD_2_0}
1164   WMI_OBJ_TEXT_WMI_DTD_2_0 = 2;
1165   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_DTD_2_0}
1166   WMI_OBJ_TEXT_WMI_EXT1 = 3;
1167   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT1}
1168   WMI_OBJ_TEXT_WMI_EXT2 = 4;
1169   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT2}
1170   WMI_OBJ_TEXT_WMI_EXT3 = 5;
1171   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT3}
1172   WMI_OBJ_TEXT_WMI_EXT4 = 6;
1173   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT4}
1174   WMI_OBJ_TEXT_WMI_EXT5 = 7;
1175   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT5}
1176   WMI_OBJ_TEXT_WMI_EXT6 = 8;
1177   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT6}
1178   WMI_OBJ_TEXT_WMI_EXT7 = 9;
1179   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT7}
1180   WMI_OBJ_TEXT_WMI_EXT8 = 10;
1181   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT8}
1182   WMI_OBJ_TEXT_WMI_EXT9 = 11;
1183   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT9}
1184   WMI_OBJ_TEXT_WMI_EXT10 = 12;
1185   {$EXTERNALSYM WMI_OBJ_TEXT_WMI_EXT10}
1186   WMI_OBJ_TEXT_LAST = 13;
1187   {$EXTERNALSYM WMI_OBJ_TEXT_LAST}
1188 
1189 const
1190   IID_IWbemObjectTextSrc: TGUID = '{bfbf883a-cad7-11d3-a11b-00105a1f515a}';
1191   {$EXTERNALSYM IID_IWbemObjectTextSrc}
1192 
1193 type
1194   IWbemObjectTextSrc = interface(IUnknown)
1195   ['{bfbf883a-cad7-11d3-a11b-00105a1f515a}']
GetTextnull1196     function GetText(lFlags: Longint; pObj: IWbemClassObject; uObjTextFormat: ULONG; pCtx: IWbemContext; out strText: WideString): HRESULT; stdcall;
CreateFromTextnull1197     function CreateFromText(lFlags: Longint; strText: WideString; uObjTextFormat: ULONG; pCtx: IWbemContext; out pNewObj:IWbemClassObject): HRESULT; stdcall;
1198   end;
1199   {$EXTERNALSYM IWbemObjectTextSrc}
1200 
1201 const
1202   IID_IMofCompiler: TGUID = '{6daf974e-2e37-11d2-aec9-00c04fb68820}';
1203   {$EXTERNALSYM IID_IMofCompiler}
1204 
1205 type
1206   tag_CompileStatusInfo = record
1207     lPhaseError: Longint;
1208     hRes: HRESULT;
1209     ObjectNum: Longint;
1210     FirstLine: Longint;
1211     LastLine: Longint;
1212     dwOutFlags: DWORD;
1213   end;
1214   {$EXTERNALSYM tag_CompileStatusInfo}
1215   WBEM_COMPILE_STATUS_INFO = tag_CompileStatusInfo;
1216   {$EXTERNALSYM WBEM_COMPILE_STATUS_INFO}
1217   TWbemCompileStatusInfo = WBEM_COMPILE_STATUS_INFO;
1218 
1219 type
1220   tag_WBEM_COMPILER_OPTIONS = DWORD;
1221   {$EXTERNALSYM tag_WBEM_COMPILER_OPTIONS}
1222   WBEM_COMPILER_OPTIONS = tag_WBEM_COMPILER_OPTIONS;
1223   {$EXTERNALSYM WBEM_COMPILER_OPTIONS}
1224   TWbemCompilerOptions = WBEM_COMPILER_OPTIONS;
1225 
1226 const
1227   WBEM_FLAG_CHECK_ONLY       = $1;
1228   {$EXTERNALSYM WBEM_FLAG_CHECK_ONLY}
1229   WBEM_FLAG_AUTORECOVER      = $2;
1230   {$EXTERNALSYM WBEM_FLAG_AUTORECOVER}
1231   WBEM_FLAG_WMI_CHECK        = $4;
1232   {$EXTERNALSYM WBEM_FLAG_WMI_CHECK}
1233   WBEM_FLAG_CONSOLE_PRINT    = $8;
1234   {$EXTERNALSYM WBEM_FLAG_CONSOLE_PRINT}
1235   WBEM_FLAG_DONT_ADD_TO_LIST = $10;
1236   {$EXTERNALSYM WBEM_FLAG_DONT_ADD_TO_LIST}
1237   WBEM_FLAG_SPLIT_FILES      = $20;
1238   {$EXTERNALSYM WBEM_FLAG_SPLIT_FILES}
1239   WBEM_FLAG_STORE_FILE       = $100;
1240   {$EXTERNALSYM WBEM_FLAG_STORE_FILE}
1241 
1242 type
1243   tag_WBEM_CONNECT_OPTIONS = DWORD;
1244   {$EXTERNALSYM tag_WBEM_CONNECT_OPTIONS}
1245   WBEM_CONNECT_OPTIONS = tag_WBEM_CONNECT_OPTIONS;
1246   {$EXTERNALSYM WBEM_CONNECT_OPTIONS}
1247   TWbemConnectOptions = WBEM_CONNECT_OPTIONS;
1248 
1249 const
1250   WBEM_FLAG_CONNECT_REPOSITORY_ONLY = $40;
1251   {$EXTERNALSYM WBEM_FLAG_CONNECT_REPOSITORY_ONLY}
1252   WBEM_FLAG_CONNECT_USE_MAX_WAIT = $80;
1253   {$EXTERNALSYM WBEM_FLAG_CONNECT_USE_MAX_WAIT}
1254 
1255 type
1256   IMofCompiler = interface(IUnknown)
1257   ['{6daf974e-2e37-11d2-aec9-00c04fb68820}']
CompileFilenull1258     function CompileFile(FileName, ServerAndNamespace, User, Authority, Password: LPWSTR;
1259       lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
CompileBuffernull1260     function CompileBuffer(buffSize: Longint; pBuffer: LPBYTE; ServerAndNamespace, User, Authority, Password: LPWSTR;
1261       lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
CreateBMOFnull1262     function CreateBMOF(TextFileName, BMOFFileName, ServerAndNamespace: LPWSTR;
1263       lOptionFlags, lClassFlags, lInstanceFlags: LONG; var pInfo: WBEM_COMPILE_STATUS_INFO): HRESULT; stdcall;
1264   end;
1265 
1266 type
1267   tag_WBEM_UNSECAPP_FLAG_TYPE = DWORD;
1268   {$EXTERNALSYM tag_WBEM_UNSECAPP_FLAG_TYPE}
1269   WBEM_UNSECAPP_FLAG_TYPE = tag_WBEM_UNSECAPP_FLAG_TYPE;
1270   {$EXTERNALSYM WBEM_UNSECAPP_FLAG_TYPE}
1271   TWbemUnsecAppFlagType = WBEM_UNSECAPP_FLAG_TYPE;
1272 
1273 const
1274   WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0;
1275   {$EXTERNALSYM WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS}
1276   WBEM_FLAG_UNSECAPP_CHECK_ACCESS         = 1;
1277   {$EXTERNALSYM WBEM_FLAG_UNSECAPP_CHECK_ACCESS}
1278   WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS    = 2;
1279   {$EXTERNALSYM WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS}
1280 
1281 type
1282   tag_WBEM_INFORMATION_FLAG_TYPE = DWORD;
1283   {$EXTERNALSYM tag_WBEM_INFORMATION_FLAG_TYPE}
1284   WBEM_INFORMATION_FLAG_TYPE = tag_WBEM_INFORMATION_FLAG_TYPE;
1285   {$EXTERNALSYM WBEM_INFORMATION_FLAG_TYPE}
1286   TWbemInformationFlagType = WBEM_INFORMATION_FLAG_TYPE;
1287 
1288 const
1289   WBEM_FLAG_SHORT_NAME = $1;
1290   {$EXTERNALSYM WBEM_FLAG_SHORT_NAME}
1291   WBEM_FLAG_LONG_NAME  = $2;
1292   {$EXTERNALSYM WBEM_FLAG_LONG_NAME}
1293 
1294 // Additional Prototypes for ALL interfaces
1295 
1296 //unsigned long             __RPC_USER  WideString_UserSize(     unsigned long *, unsigned long            , WideString * );
1297 //unsigned char * __RPC_USER  WideString_UserMarshal(  unsigned long *, unsigned char *, WideString * );
1298 //unsigned char * __RPC_USER  WideString_UserUnmarshal(unsigned long *, unsigned char *, WideString * );
1299 //void                      __RPC_USER  WideString_UserFree(     unsigned long *, WideString * );
1300 
1301 // end of Additional Prototypes
1302 
1303 {$ENDIF JWA_IMPLEMENTATIONSECTION}
1304 
1305 
1306 
1307 {$IFNDEF JWA_OMIT_SECTIONS}
1308 implementation
1309 //uses ...
1310 {$ENDIF JWA_OMIT_SECTIONS}
1311 
1312 
1313 
1314 {$IFNDEF JWA_INTERFACESECTION}
1315 //your implementation here
1316 {$ENDIF JWA_INTERFACESECTION}
1317 
1318 
1319 {$IFNDEF JWA_OMIT_SECTIONS}
1320 end.
1321 {$ENDIF JWA_OMIT_SECTIONS}
1322