master
   1/*** Autogenerated by WIDL 10.4 from include/wbemcli.idl - Do not edit ***/
   2
   3#ifdef _WIN32
   4#ifndef __REQUIRED_RPCNDR_H_VERSION__
   5#define __REQUIRED_RPCNDR_H_VERSION__ 475
   6#endif
   7#include <rpc.h>
   8#include <rpcndr.h>
   9#endif
  10
  11#ifndef COM_NO_WINDOWS_H
  12#include <windows.h>
  13#include <ole2.h>
  14#endif
  15
  16#ifndef __wbemcli_h__
  17#define __wbemcli_h__
  18
  19/* Forward declarations */
  20
  21#ifndef __WbemBackupRestore_FWD_DEFINED__
  22#define __WbemBackupRestore_FWD_DEFINED__
  23#ifdef __cplusplus
  24typedef class WbemBackupRestore WbemBackupRestore;
  25#else
  26typedef struct WbemBackupRestore WbemBackupRestore;
  27#endif /* defined __cplusplus */
  28#endif /* defined __WbemBackupRestore_FWD_DEFINED__ */
  29
  30#ifndef __WbemClassObject_FWD_DEFINED__
  31#define __WbemClassObject_FWD_DEFINED__
  32#ifdef __cplusplus
  33typedef class WbemClassObject WbemClassObject;
  34#else
  35typedef struct WbemClassObject WbemClassObject;
  36#endif /* defined __cplusplus */
  37#endif /* defined __WbemClassObject_FWD_DEFINED__ */
  38
  39#ifndef __WbemContext_FWD_DEFINED__
  40#define __WbemContext_FWD_DEFINED__
  41#ifdef __cplusplus
  42typedef class WbemContext WbemContext;
  43#else
  44typedef struct WbemContext WbemContext;
  45#endif /* defined __cplusplus */
  46#endif /* defined __WbemContext_FWD_DEFINED__ */
  47
  48#ifndef __WbemLocator_FWD_DEFINED__
  49#define __WbemLocator_FWD_DEFINED__
  50#ifdef __cplusplus
  51typedef class WbemLocator WbemLocator;
  52#else
  53typedef struct WbemLocator WbemLocator;
  54#endif /* defined __cplusplus */
  55#endif /* defined __WbemLocator_FWD_DEFINED__ */
  56
  57#ifndef __WbemStatusCodeText_FWD_DEFINED__
  58#define __WbemStatusCodeText_FWD_DEFINED__
  59#ifdef __cplusplus
  60typedef class WbemStatusCodeText WbemStatusCodeText;
  61#else
  62typedef struct WbemStatusCodeText WbemStatusCodeText;
  63#endif /* defined __cplusplus */
  64#endif /* defined __WbemStatusCodeText_FWD_DEFINED__ */
  65
  66#ifndef __UnsecuredApartment_FWD_DEFINED__
  67#define __UnsecuredApartment_FWD_DEFINED__
  68#ifdef __cplusplus
  69typedef class UnsecuredApartment UnsecuredApartment;
  70#else
  71typedef struct UnsecuredApartment UnsecuredApartment;
  72#endif /* defined __cplusplus */
  73#endif /* defined __UnsecuredApartment_FWD_DEFINED__ */
  74
  75#ifndef __MofCompiler_FWD_DEFINED__
  76#define __MofCompiler_FWD_DEFINED__
  77#ifdef __cplusplus
  78typedef class MofCompiler MofCompiler;
  79#else
  80typedef struct MofCompiler MofCompiler;
  81#endif /* defined __cplusplus */
  82#endif /* defined __MofCompiler_FWD_DEFINED__ */
  83
  84#ifndef __WbemObjectTextSrc_FWD_DEFINED__
  85#define __WbemObjectTextSrc_FWD_DEFINED__
  86#ifdef __cplusplus
  87typedef class WbemObjectTextSrc WbemObjectTextSrc;
  88#else
  89typedef struct WbemObjectTextSrc WbemObjectTextSrc;
  90#endif /* defined __cplusplus */
  91#endif /* defined __WbemObjectTextSrc_FWD_DEFINED__ */
  92
  93#ifndef __WbemRefresher_FWD_DEFINED__
  94#define __WbemRefresher_FWD_DEFINED__
  95#ifdef __cplusplus
  96typedef class WbemRefresher WbemRefresher;
  97#else
  98typedef struct WbemRefresher WbemRefresher;
  99#endif /* defined __cplusplus */
 100#endif /* defined __WbemRefresher_FWD_DEFINED__ */
 101
 102#ifndef __IWbemClassObject_FWD_DEFINED__
 103#define __IWbemClassObject_FWD_DEFINED__
 104typedef interface IWbemClassObject IWbemClassObject;
 105#ifdef __cplusplus
 106interface IWbemClassObject;
 107#endif /* __cplusplus */
 108#endif
 109
 110#ifndef __IWbemQualifierSet_FWD_DEFINED__
 111#define __IWbemQualifierSet_FWD_DEFINED__
 112typedef interface IWbemQualifierSet IWbemQualifierSet;
 113#ifdef __cplusplus
 114interface IWbemQualifierSet;
 115#endif /* __cplusplus */
 116#endif
 117
 118#ifndef __IWbemLocator_FWD_DEFINED__
 119#define __IWbemLocator_FWD_DEFINED__
 120typedef interface IWbemLocator IWbemLocator;
 121#ifdef __cplusplus
 122interface IWbemLocator;
 123#endif /* __cplusplus */
 124#endif
 125
 126#ifndef __IWbemObjectSink_FWD_DEFINED__
 127#define __IWbemObjectSink_FWD_DEFINED__
 128typedef interface IWbemObjectSink IWbemObjectSink;
 129#ifdef __cplusplus
 130interface IWbemObjectSink;
 131#endif /* __cplusplus */
 132#endif
 133
 134#ifndef __IWbemObjectSinkEx_FWD_DEFINED__
 135#define __IWbemObjectSinkEx_FWD_DEFINED__
 136typedef interface IWbemObjectSinkEx IWbemObjectSinkEx;
 137#ifdef __cplusplus
 138interface IWbemObjectSinkEx;
 139#endif /* __cplusplus */
 140#endif
 141
 142#ifndef __IEnumWbemClassObject_FWD_DEFINED__
 143#define __IEnumWbemClassObject_FWD_DEFINED__
 144typedef interface IEnumWbemClassObject IEnumWbemClassObject;
 145#ifdef __cplusplus
 146interface IEnumWbemClassObject;
 147#endif /* __cplusplus */
 148#endif
 149
 150#ifndef __IWbemContext_FWD_DEFINED__
 151#define __IWbemContext_FWD_DEFINED__
 152typedef interface IWbemContext IWbemContext;
 153#ifdef __cplusplus
 154interface IWbemContext;
 155#endif /* __cplusplus */
 156#endif
 157
 158#ifndef __IWbemCallResult_FWD_DEFINED__
 159#define __IWbemCallResult_FWD_DEFINED__
 160typedef interface IWbemCallResult IWbemCallResult;
 161#ifdef __cplusplus
 162interface IWbemCallResult;
 163#endif /* __cplusplus */
 164#endif
 165
 166#ifndef __IWbemServices_FWD_DEFINED__
 167#define __IWbemServices_FWD_DEFINED__
 168typedef interface IWbemServices IWbemServices;
 169#ifdef __cplusplus
 170interface IWbemServices;
 171#endif /* __cplusplus */
 172#endif
 173
 174#ifndef __IWbemShutdown_FWD_DEFINED__
 175#define __IWbemShutdown_FWD_DEFINED__
 176typedef interface IWbemShutdown IWbemShutdown;
 177#ifdef __cplusplus
 178interface IWbemShutdown;
 179#endif /* __cplusplus */
 180#endif
 181
 182#ifndef __IWbemObjectTextSrc_FWD_DEFINED__
 183#define __IWbemObjectTextSrc_FWD_DEFINED__
 184typedef interface IWbemObjectTextSrc IWbemObjectTextSrc;
 185#ifdef __cplusplus
 186interface IWbemObjectTextSrc;
 187#endif /* __cplusplus */
 188#endif
 189
 190#ifndef __IWbemObjectAccess_FWD_DEFINED__
 191#define __IWbemObjectAccess_FWD_DEFINED__
 192typedef interface IWbemObjectAccess IWbemObjectAccess;
 193#ifdef __cplusplus
 194interface IWbemObjectAccess;
 195#endif /* __cplusplus */
 196#endif
 197
 198#ifndef __IMofCompiler_FWD_DEFINED__
 199#define __IMofCompiler_FWD_DEFINED__
 200typedef interface IMofCompiler IMofCompiler;
 201#ifdef __cplusplus
 202interface IMofCompiler;
 203#endif /* __cplusplus */
 204#endif
 205
 206#ifndef __IUnsecuredApartment_FWD_DEFINED__
 207#define __IUnsecuredApartment_FWD_DEFINED__
 208typedef interface IUnsecuredApartment IUnsecuredApartment;
 209#ifdef __cplusplus
 210interface IUnsecuredApartment;
 211#endif /* __cplusplus */
 212#endif
 213
 214#ifndef __IWbemUnsecuredApartment_FWD_DEFINED__
 215#define __IWbemUnsecuredApartment_FWD_DEFINED__
 216typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment;
 217#ifdef __cplusplus
 218interface IWbemUnsecuredApartment;
 219#endif /* __cplusplus */
 220#endif
 221
 222#ifndef __IWbemStatusCodeText_FWD_DEFINED__
 223#define __IWbemStatusCodeText_FWD_DEFINED__
 224typedef interface IWbemStatusCodeText IWbemStatusCodeText;
 225#ifdef __cplusplus
 226interface IWbemStatusCodeText;
 227#endif /* __cplusplus */
 228#endif
 229
 230#ifndef __IWbemBackupRestore_FWD_DEFINED__
 231#define __IWbemBackupRestore_FWD_DEFINED__
 232typedef interface IWbemBackupRestore IWbemBackupRestore;
 233#ifdef __cplusplus
 234interface IWbemBackupRestore;
 235#endif /* __cplusplus */
 236#endif
 237
 238#ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
 239#define __IWbemBackupRestoreEx_FWD_DEFINED__
 240typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
 241#ifdef __cplusplus
 242interface IWbemBackupRestoreEx;
 243#endif /* __cplusplus */
 244#endif
 245
 246#ifndef __IWbemRefresher_FWD_DEFINED__
 247#define __IWbemRefresher_FWD_DEFINED__
 248typedef interface IWbemRefresher IWbemRefresher;
 249#ifdef __cplusplus
 250interface IWbemRefresher;
 251#endif /* __cplusplus */
 252#endif
 253
 254#ifndef __IWbemHiPerfEnum_FWD_DEFINED__
 255#define __IWbemHiPerfEnum_FWD_DEFINED__
 256typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
 257#ifdef __cplusplus
 258interface IWbemHiPerfEnum;
 259#endif /* __cplusplus */
 260#endif
 261
 262#ifndef __IWbemConfigureRefresher_FWD_DEFINED__
 263#define __IWbemConfigureRefresher_FWD_DEFINED__
 264typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
 265#ifdef __cplusplus
 266interface IWbemConfigureRefresher;
 267#endif /* __cplusplus */
 268#endif
 269
 270/* Headers for imported files */
 271
 272#include <ocidl.h>
 273#include <oleidl.h>
 274#include <oaidl.h>
 275#include <servprov.h>
 276
 277#ifdef __cplusplus
 278extern "C" {
 279#endif
 280
 281/**
 282 * This file is part of the mingw-w64 runtime package.
 283 * No warranty is given; refer to the file DISCLAIMER within this package.
 284 */
 285
 286#ifndef __IEnumWbemClassObject_FWD_DEFINED__
 287#define __IEnumWbemClassObject_FWD_DEFINED__
 288typedef interface IEnumWbemClassObject IEnumWbemClassObject;
 289#ifdef __cplusplus
 290interface IEnumWbemClassObject;
 291#endif /* __cplusplus */
 292#endif
 293
 294#ifndef __IUnsecuredApartment_FWD_DEFINED__
 295#define __IUnsecuredApartment_FWD_DEFINED__
 296typedef interface IUnsecuredApartment IUnsecuredApartment;
 297#ifdef __cplusplus
 298interface IUnsecuredApartment;
 299#endif /* __cplusplus */
 300#endif
 301
 302#ifndef __IWbemBackupRestore_FWD_DEFINED__
 303#define __IWbemBackupRestore_FWD_DEFINED__
 304typedef interface IWbemBackupRestore IWbemBackupRestore;
 305#ifdef __cplusplus
 306interface IWbemBackupRestore;
 307#endif /* __cplusplus */
 308#endif
 309
 310#ifndef __IWbemBackupRestoreEx_FWD_DEFINED__
 311#define __IWbemBackupRestoreEx_FWD_DEFINED__
 312typedef interface IWbemBackupRestoreEx IWbemBackupRestoreEx;
 313#ifdef __cplusplus
 314interface IWbemBackupRestoreEx;
 315#endif /* __cplusplus */
 316#endif
 317
 318#ifndef __IWbemCallResult_FWD_DEFINED__
 319#define __IWbemCallResult_FWD_DEFINED__
 320typedef interface IWbemCallResult IWbemCallResult;
 321#ifdef __cplusplus
 322interface IWbemCallResult;
 323#endif /* __cplusplus */
 324#endif
 325
 326#ifndef __IWbemClassObject_FWD_DEFINED__
 327#define __IWbemClassObject_FWD_DEFINED__
 328typedef interface IWbemClassObject IWbemClassObject;
 329#ifdef __cplusplus
 330interface IWbemClassObject;
 331#endif /* __cplusplus */
 332#endif
 333
 334#ifndef __IWbemConfigureRefresher_FWD_DEFINED__
 335#define __IWbemConfigureRefresher_FWD_DEFINED__
 336typedef interface IWbemConfigureRefresher IWbemConfigureRefresher;
 337#ifdef __cplusplus
 338interface IWbemConfigureRefresher;
 339#endif /* __cplusplus */
 340#endif
 341
 342#ifndef __IWbemConnection_FWD_DEFINED__
 343#define __IWbemConnection_FWD_DEFINED__
 344typedef interface IWbemConnection IWbemConnection;
 345#ifdef __cplusplus
 346interface IWbemConnection;
 347#endif /* __cplusplus */
 348#endif
 349
 350#ifndef __IWbemContext_FWD_DEFINED__
 351#define __IWbemContext_FWD_DEFINED__
 352typedef interface IWbemContext IWbemContext;
 353#ifdef __cplusplus
 354interface IWbemContext;
 355#endif /* __cplusplus */
 356#endif
 357
 358#ifndef __IWbemEventSink_FWD_DEFINED__
 359#define __IWbemEventSink_FWD_DEFINED__
 360typedef interface IWbemEventSink IWbemEventSink;
 361#ifdef __cplusplus
 362interface IWbemEventSink;
 363#endif /* __cplusplus */
 364#endif
 365
 366#ifndef __IWbemHiPerfEnum_FWD_DEFINED__
 367#define __IWbemHiPerfEnum_FWD_DEFINED__
 368typedef interface IWbemHiPerfEnum IWbemHiPerfEnum;
 369#ifdef __cplusplus
 370interface IWbemHiPerfEnum;
 371#endif /* __cplusplus */
 372#endif
 373
 374#ifndef __IWbemLocator_FWD_DEFINED__
 375#define __IWbemLocator_FWD_DEFINED__
 376typedef interface IWbemLocator IWbemLocator;
 377#ifdef __cplusplus
 378interface IWbemLocator;
 379#endif /* __cplusplus */
 380#endif
 381
 382#ifndef __IWbemObjectAccess_FWD_DEFINED__
 383#define __IWbemObjectAccess_FWD_DEFINED__
 384typedef interface IWbemObjectAccess IWbemObjectAccess;
 385#ifdef __cplusplus
 386interface IWbemObjectAccess;
 387#endif /* __cplusplus */
 388#endif
 389
 390#ifndef __IWbemObjectSink_FWD_DEFINED__
 391#define __IWbemObjectSink_FWD_DEFINED__
 392typedef interface IWbemObjectSink IWbemObjectSink;
 393#ifdef __cplusplus
 394interface IWbemObjectSink;
 395#endif /* __cplusplus */
 396#endif
 397
 398#ifndef __IWbemQualifierSet_FWD_DEFINED__
 399#define __IWbemQualifierSet_FWD_DEFINED__
 400typedef interface IWbemQualifierSet IWbemQualifierSet;
 401#ifdef __cplusplus
 402interface IWbemQualifierSet;
 403#endif /* __cplusplus */
 404#endif
 405
 406#ifndef __IWbemRefresher_FWD_DEFINED__
 407#define __IWbemRefresher_FWD_DEFINED__
 408typedef interface IWbemRefresher IWbemRefresher;
 409#ifdef __cplusplus
 410interface IWbemRefresher;
 411#endif /* __cplusplus */
 412#endif
 413
 414#ifndef __IWbemSecureObjectSink_FWD_DEFINED__
 415#define __IWbemSecureObjectSink_FWD_DEFINED__
 416typedef interface IWbemSecureObjectSink IWbemSecureObjectSink;
 417#ifdef __cplusplus
 418interface IWbemSecureObjectSink;
 419#endif /* __cplusplus */
 420#endif
 421
 422#ifndef __IWbemServices_FWD_DEFINED__
 423#define __IWbemServices_FWD_DEFINED__
 424typedef interface IWbemServices IWbemServices;
 425#ifdef __cplusplus
 426interface IWbemServices;
 427#endif /* __cplusplus */
 428#endif
 429
 430#ifndef __IWbemStatusCodeText_FWD_DEFINED__
 431#define __IWbemStatusCodeText_FWD_DEFINED__
 432typedef interface IWbemStatusCodeText IWbemStatusCodeText;
 433#ifdef __cplusplus
 434interface IWbemStatusCodeText;
 435#endif /* __cplusplus */
 436#endif
 437
 438#ifndef __IWbemUnsecuredApartment_FWD_DEFINED__
 439#define __IWbemUnsecuredApartment_FWD_DEFINED__
 440typedef interface IWbemUnsecuredApartment IWbemUnsecuredApartment;
 441#ifdef __cplusplus
 442interface IWbemUnsecuredApartment;
 443#endif /* __cplusplus */
 444#endif
 445
 446#include <winapifamily.h>
 447
 448#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
 449#ifndef __WbemClient_v1_LIBRARY_DEFINED__
 450#define __WbemClient_v1_LIBRARY_DEFINED__
 451
 452DEFINE_GUID(LIBID_WbemClient_v1, 0x7ec196fe, 0x7005, 0x11d1, 0xad,0x90, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
 453
 454typedef enum tag_WBEM_GENUS_TYPE {
 455    WBEM_GENUS_CLASS = 1,
 456    WBEM_GENUS_INSTANCE = 2
 457} WBEM_GENUS_TYPE;
 458typedef enum tag_WBEM_CHANGE_FLAG_TYPE {
 459    WBEM_FLAG_CREATE_OR_UPDATE = 0,
 460    WBEM_FLAG_UPDATE_ONLY = 0x1,
 461    WBEM_FLAG_CREATE_ONLY = 0x2,
 462    WBEM_FLAG_UPDATE_COMPATIBLE = 0x0,
 463    WBEM_FLAG_UPDATE_SAFE_MODE = 0x20,
 464    WBEM_FLAG_UPDATE_FORCE_MODE = 0x40,
 465    WBEM_MASK_UPDATE_MODE = 0x60,
 466    WBEM_FLAG_ADVISORY = 0x10000
 467} WBEM_CHANGE_FLAG_TYPE;
 468typedef enum tag_WBEM_GENERIC_FLAG_TYPE {
 469    WBEM_FLAG_RETURN_IMMEDIATELY = 0x10,
 470    WBEM_FLAG_RETURN_WBEM_COMPLETE = 0,
 471    WBEM_FLAG_BIDIRECTIONAL = 0,
 472    WBEM_FLAG_FORWARD_ONLY = 0x20,
 473    WBEM_FLAG_NO_ERROR_OBJECT = 0x40,
 474    WBEM_FLAG_RETURN_ERROR_OBJECT = 0,
 475    WBEM_FLAG_SEND_STATUS = 0x80,
 476    WBEM_FLAG_DONT_SEND_STATUS = 0,
 477    WBEM_FLAG_ENSURE_LOCATABLE = 0x100,
 478    WBEM_FLAG_DIRECT_READ = 0x200,
 479    WBEM_FLAG_SEND_ONLY_SELECTED = 0,
 480    WBEM_RETURN_WHEN_COMPLETE = 0,
 481    WBEM_RETURN_IMMEDIATELY = 0x10,
 482    WBEM_MASK_RESERVED_FLAGS = 0x1f000,
 483    WBEM_FLAG_USE_AMENDED_QUALIFIERS = 0x20000,
 484    WBEM_FLAG_STRONG_VALIDATION = 0x100000
 485} WBEM_GENERIC_FLAG_TYPE;
 486typedef enum tag_WBEM_STATUS_TYPE {
 487    WBEM_STATUS_COMPLETE = 0,
 488    WBEM_STATUS_REQUIREMENTS = 1,
 489    WBEM_STATUS_PROGRESS = 2,
 490    WBEM_STATUS_LOGGING_INFORMATION = 0x100,
 491    WBEM_STATUS_LOGGING_INFORMATION_PROVIDER = 0x200,
 492    WBEM_STATUS_LOGGING_INFORMATION_HOST = 0x400,
 493    WBEM_STATUS_LOGGING_INFORMATION_REPOSITORY = 0x800,
 494    WBEM_STATUS_LOGGING_INFORMATION_ESS = 0x1000
 495} WBEM_STATUS_TYPE;
 496typedef enum tag_WBEM_TIMEOUT_TYPE {
 497    WBEM_NO_WAIT = 0,
 498    WBEM_INFINITE = 0xffffffff
 499} WBEM_TIMEOUT_TYPE;
 500typedef enum tag_WBEM_CONDITION_FLAG_TYPE {
 501    WBEM_FLAG_ALWAYS = 0,
 502    WBEM_FLAG_ONLY_IF_TRUE = 0x1,
 503    WBEM_FLAG_ONLY_IF_FALSE = 0x2,
 504    WBEM_FLAG_ONLY_IF_IDENTICAL = 0x3,
 505    WBEM_MASK_PRIMARY_CONDITION = 0x3,
 506    WBEM_FLAG_KEYS_ONLY = 0x4,
 507    WBEM_FLAG_REFS_ONLY = 0x8,
 508    WBEM_FLAG_LOCAL_ONLY = 0x10,
 509    WBEM_FLAG_PROPAGATED_ONLY = 0x20,
 510    WBEM_FLAG_SYSTEM_ONLY = 0x30,
 511    WBEM_FLAG_NONSYSTEM_ONLY = 0x40,
 512    WBEM_MASK_CONDITION_ORIGIN = 0x70,
 513    WBEM_FLAG_CLASS_OVERRIDES_ONLY = 0x100,
 514    WBEM_FLAG_CLASS_LOCAL_AND_OVERRIDES = 0x200,
 515    WBEM_MASK_CLASS_CONDITION = 0x300
 516} WBEM_CONDITION_FLAG_TYPE;
 517typedef enum tag_WBEM_FLAVOR_TYPE {
 518    WBEM_FLAVOR_DONT_PROPAGATE = 0,
 519    WBEM_FLAVOR_FLAG_PROPAGATE_TO_INSTANCE = 0x1,
 520    WBEM_FLAVOR_FLAG_PROPAGATE_TO_DERIVED_CLASS = 0x2,
 521    WBEM_FLAVOR_MASK_PROPAGATION = 0xf,
 522    WBEM_FLAVOR_OVERRIDABLE = 0,
 523    WBEM_FLAVOR_NOT_OVERRIDABLE = 0x10,
 524    WBEM_FLAVOR_MASK_PERMISSIONS = 0x10,
 525    WBEM_FLAVOR_ORIGIN_LOCAL = 0,
 526    WBEM_FLAVOR_ORIGIN_PROPAGATED = 0x20,
 527    WBEM_FLAVOR_ORIGIN_SYSTEM = 0x40,
 528    WBEM_FLAVOR_MASK_ORIGIN = 0x60,
 529    WBEM_FLAVOR_NOT_AMENDED = 0,
 530    WBEM_FLAVOR_AMENDED = 0x80,
 531    WBEM_FLAVOR_MASK_AMENDED = 0x80
 532} WBEM_FLAVOR_TYPE;
 533typedef enum tag_WBEM_QUERY_FLAG_TYPE {
 534    WBEM_FLAG_DEEP = 0,
 535    WBEM_FLAG_SHALLOW = 1,
 536    WBEM_FLAG_PROTOTYPE = 2
 537} WBEM_QUERY_FLAG_TYPE;
 538typedef enum tag_WBEM_SECURITY_FLAGS {
 539    WBEM_ENABLE = 1,
 540    WBEM_METHOD_EXECUTE = 2,
 541    WBEM_FULL_WRITE_REP = 4,
 542    WBEM_PARTIAL_WRITE_REP = 8,
 543    WBEM_WRITE_PROVIDER = 0x10,
 544    WBEM_REMOTE_ACCESS = 0x20,
 545    WBEM_RIGHT_SUBSCRIBE = 0x40,
 546    WBEM_RIGHT_PUBLISH = 0x80
 547} WBEM_SECURITY_FLAGS;
 548typedef enum tag_WBEM_LIMITATION_FLAG_TYPE {
 549    WBEM_FLAG_EXCLUDE_OBJECT_QUALIFIERS = 0x10,
 550    WBEM_FLAG_EXCLUDE_PROPERTY_QUALIFIERS = 0x20
 551} WBEM_LIMITATION_FLAG_TYPE;
 552typedef enum tag_WBEM_TEXT_FLAG_TYPE {
 553    WBEM_FLAG_NO_FLAVORS = 0x1
 554} WBEM_TEXT_FLAG_TYPE;
 555typedef enum tag_WBEM_COMPARISON_FLAG {
 556    WBEM_COMPARISON_INCLUDE_ALL = 0,
 557    WBEM_FLAG_IGNORE_QUALIFIERS = 0x1,
 558    WBEM_FLAG_IGNORE_OBJECT_SOURCE = 0x2,
 559    WBEM_FLAG_IGNORE_DEFAULT_VALUES = 0x4,
 560    WBEM_FLAG_IGNORE_CLASS = 0x8,
 561    WBEM_FLAG_IGNORE_CASE = 0x10,
 562    WBEM_FLAG_IGNORE_FLAVOR = 0x20
 563} WBEM_COMPARISON_FLAG;
 564typedef enum tag_WBEM_LOCKING {
 565    WBEM_FLAG_ALLOW_READ = 0x1
 566} WBEM_LOCKING_FLAG_TYPE;
 567typedef enum tag_CIMTYPE_ENUMERATION {
 568    CIM_ILLEGAL = 0xfff,
 569    CIM_EMPTY = 0,
 570    CIM_SINT8 = 16,
 571    CIM_UINT8 = 17,
 572    CIM_SINT16 = 2,
 573    CIM_UINT16 = 18,
 574    CIM_SINT32 = 3,
 575    CIM_UINT32 = 19,
 576    CIM_SINT64 = 20,
 577    CIM_UINT64 = 21,
 578    CIM_REAL32 = 4,
 579    CIM_REAL64 = 5,
 580    CIM_BOOLEAN = 11,
 581    CIM_STRING = 8,
 582    CIM_DATETIME = 101,
 583    CIM_REFERENCE = 102,
 584    CIM_CHAR16 = 103,
 585    CIM_OBJECT = 13,
 586    CIM_FLAG_ARRAY = 0x2000
 587} CIMTYPE_ENUMERATION;
 588typedef enum tag_WBEM_BACKUP_RESTORE_FLAGS {
 589    WBEM_FLAG_BACKUP_RESTORE_DEFAULT = 0,
 590    WBEM_FLAG_BACKUP_RESTORE_FORCE_SHUTDOWN = 1
 591} WBEM_BACKUP_RESTORE_FLAGS;
 592typedef enum tag_WBEM_REFRESHER_FLAGS {
 593    WBEM_FLAG_REFRESH_AUTO_RECONNECT = 0,
 594    WBEM_FLAG_REFRESH_NO_AUTO_RECONNECT = 1
 595} WBEM_REFRESHER_FLAGS;
 596typedef enum tag_WBEM_SHUTDOWN_FLAGS {
 597    WBEM_SHUTDOWN_UNLOAD_COMPONENT = 1,
 598    WBEM_SHUTDOWN_WMI = 2,
 599    WBEM_SHUTDOWN_OS = 3
 600} WBEM_SHUTDOWN_FLAGS;
 601typedef enum tag_WBEMSTATUS_FORMAT {
 602    WBEMSTATUS_FORMAT_NEWLINE = 0,
 603    WBEMSTATUS_FORMAT_NO_NEWLINE = 1
 604} WBEMSTATUS_FORMAT;
 605typedef enum tag_WBEM_LIMITS {
 606    WBEM_MAX_IDENTIFIER = 0x1000,
 607    WBEM_MAX_QUERY = 0x4000,
 608    WBEM_MAX_PATH = 0x2000,
 609    WBEM_MAX_OBJECT_NESTING = 64,
 610    WBEM_MAX_USER_PROPERTIES = 1024
 611} WBEM_LIMITS;
 612typedef enum tag_WBEMSTATUS {
 613    WBEM_NO_ERROR = 0,
 614    WBEM_S_NO_ERROR = 0,
 615    WBEM_S_SAME = 0,
 616    WBEM_S_FALSE = 1,
 617    WBEM_S_ALREADY_EXISTS = 0x40001,
 618    WBEM_S_RESET_TO_DEFAULT = 0x40002,
 619    WBEM_S_DIFFERENT = 0x40003,
 620    WBEM_S_TIMEDOUT = 0x40004,
 621    WBEM_S_NO_MORE_DATA = 0x40005,
 622    WBEM_S_OPERATION_CANCELLED = 0x40006,
 623    WBEM_S_PENDING = 0x40007,
 624    WBEM_S_DUPLICATE_OBJECTS = 0x40008,
 625    WBEM_S_ACCESS_DENIED = 0x40009,
 626    WBEM_S_PARTIAL_RESULTS = 0x40010,
 627    WBEM_S_SOURCE_NOT_AVAILABLE = 0x40017,
 628    WBEM_E_FAILED = 0x80041001,
 629    WBEM_E_NOT_FOUND = 0x80041002,
 630    WBEM_E_ACCESS_DENIED = 0x80041003,
 631    WBEM_E_PROVIDER_FAILURE = 0x80041004,
 632    WBEM_E_TYPE_MISMATCH = 0x80041005,
 633    WBEM_E_OUT_OF_MEMORY = 0x80041006,
 634    WBEM_E_INVALID_CONTEXT = 0x80041007,
 635    WBEM_E_INVALID_PARAMETER = 0x80041008,
 636    WBEM_E_NOT_AVAILABLE = 0x80041009,
 637    WBEM_E_CRITICAL_ERROR = 0x8004100a,
 638    WBEM_E_INVALID_STREAM = 0x8004100b,
 639    WBEM_E_NOT_SUPPORTED = 0x8004100c,
 640    WBEM_E_INVALID_SUPERCLASS = 0x8004100d,
 641    WBEM_E_INVALID_NAMESPACE = 0x8004100e,
 642    WBEM_E_INVALID_OBJECT = 0x8004100f,
 643    WBEM_E_INVALID_CLASS = 0x80041010,
 644    WBEM_E_PROVIDER_NOT_FOUND = 0x80041011,
 645    WBEM_E_INVALID_PROVIDER_REGISTRATION = 0x80041012,
 646    WBEM_E_PROVIDER_LOAD_FAILURE = 0x80041013,
 647    WBEM_E_INITIALIZATION_FAILURE = 0x80041014,
 648    WBEM_E_TRANSPORT_FAILURE = 0x80041015,
 649    WBEM_E_INVALID_OPERATION = 0x80041016,
 650    WBEM_E_INVALID_QUERY = 0x80041017,
 651    WBEM_E_INVALID_QUERY_TYPE = 0x80041018,
 652    WBEM_E_ALREADY_EXISTS = 0x80041019,
 653    WBEM_E_OVERRIDE_NOT_ALLOWED = 0x8004101a,
 654    WBEM_E_PROPAGATED_QUALIFIER = 0x8004101b,
 655    WBEM_E_PROPAGATED_PROPERTY = 0x8004101c,
 656    WBEM_E_UNEXPECTED = 0x8004101d,
 657    WBEM_E_ILLEGAL_OPERATION = 0x8004101e,
 658    WBEM_E_CANNOT_BE_KEY = 0x8004101f,
 659    WBEM_E_INCOMPLETE_CLASS = 0x80041020,
 660    WBEM_E_INVALID_SYNTAX = 0x80041021,
 661    WBEM_E_NONDECORATED_OBJECT = 0x80041022,
 662    WBEM_E_READ_ONLY = 0x80041023,
 663    WBEM_E_PROVIDER_NOT_CAPABLE = 0x80041024,
 664    WBEM_E_CLASS_HAS_CHILDREN = 0x80041025,
 665    WBEM_E_CLASS_HAS_INSTANCES = 0x80041026,
 666    WBEM_E_QUERY_NOT_IMPLEMENTED = 0x80041027,
 667    WBEM_E_ILLEGAL_NULL = 0x80041028,
 668    WBEM_E_INVALID_QUALIFIER_TYPE = 0x80041029,
 669    WBEM_E_INVALID_PROPERTY_TYPE = 0x8004102a,
 670    WBEM_E_VALUE_OUT_OF_RANGE = 0x8004102b,
 671    WBEM_E_CANNOT_BE_SINGLETON = 0x8004102c,
 672    WBEM_E_INVALID_CIM_TYPE = 0x8004102d,
 673    WBEM_E_INVALID_METHOD = 0x8004102e,
 674    WBEM_E_INVALID_METHOD_PARAMETERS = 0x8004102f,
 675    WBEM_E_SYSTEM_PROPERTY = 0x80041030,
 676    WBEM_E_INVALID_PROPERTY = 0x80041031,
 677    WBEM_E_CALL_CANCELLED = 0x80041032,
 678    WBEM_E_SHUTTING_DOWN = 0x80041033,
 679    WBEM_E_PROPAGATED_METHOD = 0x80041034,
 680    WBEM_E_UNSUPPORTED_PARAMETER = 0x80041035,
 681    WBEM_E_MISSING_PARAMETER_ID = 0x80041036,
 682    WBEM_E_INVALID_PARAMETER_ID = 0x80041037,
 683    WBEM_E_NONCONSECUTIVE_PARAMETER_IDS = 0x80041038,
 684    WBEM_E_PARAMETER_ID_ON_RETVAL = 0x80041039,
 685    WBEM_E_INVALID_OBJECT_PATH = 0x8004103a,
 686    WBEM_E_OUT_OF_DISK_SPACE = 0x8004103b,
 687    WBEM_E_BUFFER_TOO_SMALL = 0x8004103c,
 688    WBEM_E_UNSUPPORTED_PUT_EXTENSION = 0x8004103d,
 689    WBEM_E_UNKNOWN_OBJECT_TYPE = 0x8004103e,
 690    WBEM_E_UNKNOWN_PACKET_TYPE = 0x8004103f,
 691    WBEM_E_MARSHAL_VERSION_MISMATCH = 0x80041040,
 692    WBEM_E_MARSHAL_INVALID_SIGNATURE = 0x80041041,
 693    WBEM_E_INVALID_QUALIFIER = 0x80041042,
 694    WBEM_E_INVALID_DUPLICATE_PARAMETER = 0x80041043,
 695    WBEM_E_TOO_MUCH_DATA = 0x80041044,
 696    WBEM_E_SERVER_TOO_BUSY = 0x80041045,
 697    WBEM_E_INVALID_FLAVOR = 0x80041046,
 698    WBEM_E_CIRCULAR_REFERENCE = 0x80041047,
 699    WBEM_E_UNSUPPORTED_CLASS_UPDATE = 0x80041048,
 700    WBEM_E_CANNOT_CHANGE_KEY_INHERITANCE = 0x80041049,
 701    WBEM_E_CANNOT_CHANGE_INDEX_INHERITANCE = 0x80041050,
 702    WBEM_E_TOO_MANY_PROPERTIES = 0x80041051,
 703    WBEM_E_UPDATE_TYPE_MISMATCH = 0x80041052,
 704    WBEM_E_UPDATE_OVERRIDE_NOT_ALLOWED = 0x80041053,
 705    WBEM_E_UPDATE_PROPAGATED_METHOD = 0x80041054,
 706    WBEM_E_METHOD_NOT_IMPLEMENTED = 0x80041055,
 707    WBEM_E_METHOD_DISABLED = 0x80041056,
 708    WBEM_E_REFRESHER_BUSY = 0x80041057,
 709    WBEM_E_UNPARSABLE_QUERY = 0x80041058,
 710    WBEM_E_NOT_EVENT_CLASS = 0x80041059,
 711    WBEM_E_MISSING_GROUP_WITHIN = 0x8004105a,
 712    WBEM_E_MISSING_AGGREGATION_LIST = 0x8004105b,
 713    WBEM_E_PROPERTY_NOT_AN_OBJECT = 0x8004105c,
 714    WBEM_E_AGGREGATING_BY_OBJECT = 0x8004105d,
 715    WBEM_E_UNINTERPRETABLE_PROVIDER_QUERY = 0x8004105f,
 716    WBEM_E_BACKUP_RESTORE_WINMGMT_RUNNING = 0x80041060,
 717    WBEM_E_QUEUE_OVERFLOW = 0x80041061,
 718    WBEM_E_PRIVILEGE_NOT_HELD = 0x80041062,
 719    WBEM_E_INVALID_OPERATOR = 0x80041063,
 720    WBEM_E_LOCAL_CREDENTIALS = 0x80041064,
 721    WBEM_E_CANNOT_BE_ABSTRACT = 0x80041065,
 722    WBEM_E_AMENDED_OBJECT = 0x80041066,
 723    WBEM_E_CLIENT_TOO_SLOW = 0x80041067,
 724    WBEM_E_NULL_SECURITY_DESCRIPTOR = 0x80041068,
 725    WBEM_E_TIMED_OUT = 0x80041069,
 726    WBEM_E_INVALID_ASSOCIATION = 0x8004106a,
 727    WBEM_E_AMBIGUOUS_OPERATION = 0x8004106b,
 728    WBEM_E_QUOTA_VIOLATION = 0x8004106c,
 729    WBEM_E_RESERVED_001 = 0x8004106d,
 730    WBEM_E_RESERVED_002 = 0x8004106e,
 731    WBEM_E_UNSUPPORTED_LOCALE = 0x8004106f,
 732    WBEM_E_HANDLE_OUT_OF_DATE = 0x80041070,
 733    WBEM_E_CONNECTION_FAILED = 0x80041071,
 734    WBEM_E_INVALID_HANDLE_REQUEST = 0x80041072,
 735    WBEM_E_PROPERTY_NAME_TOO_WIDE = 0x80041073,
 736    WBEM_E_CLASS_NAME_TOO_WIDE = 0x80041074,
 737    WBEM_E_METHOD_NAME_TOO_WIDE = 0x80041075,
 738    WBEM_E_QUALIFIER_NAME_TOO_WIDE = 0x80041076,
 739    WBEM_E_RERUN_COMMAND = 0x80041077,
 740    WBEM_E_DATABASE_VER_MISMATCH = 0x80041078,
 741    WBEM_E_VETO_DELETE = 0x80041079,
 742    WBEM_E_VETO_PUT = 0x8004107a,
 743    WBEM_E_INVALID_LOCALE = 0x80041080,
 744    WBEM_E_PROVIDER_SUSPENDED = 0x80041081,
 745    WBEM_E_SYNCHRONIZATION_REQUIRED = 0x80041082,
 746    WBEM_E_NO_SCHEMA = 0x80041083,
 747    WBEM_E_PROVIDER_ALREADY_REGISTERED = 0x80041084,
 748    WBEM_E_PROVIDER_NOT_REGISTERED = 0x80041085,
 749    WBEM_E_FATAL_TRANSPORT_ERROR = 0x80041086,
 750    WBEM_E_ENCRYPTED_CONNECTION_REQUIRED = 0x80041087,
 751    WBEM_E_PROVIDER_TIMED_OUT = 0x80041088,
 752    WBEM_E_NO_KEY = 0x80041089,
 753    WBEM_E_PROVIDER_DISABLED = 0x8004108a,
 754    WBEMESS_E_REGISTRATION_TOO_BROAD = 0x80042001,
 755    WBEMESS_E_REGISTRATION_TOO_PRECISE = 0x80042002,
 756    WBEMESS_E_AUTHZ_NOT_PRIVILEGED = 0x80042003,
 757    WBEMMOF_E_EXPECTED_QUALIFIER_NAME = 0x80044001,
 758    WBEMMOF_E_EXPECTED_SEMI = 0x80044002,
 759    WBEMMOF_E_EXPECTED_OPEN_BRACE = 0x80044003,
 760    WBEMMOF_E_EXPECTED_CLOSE_BRACE = 0x80044004,
 761    WBEMMOF_E_EXPECTED_CLOSE_BRACKET = 0x80044005,
 762    WBEMMOF_E_EXPECTED_CLOSE_PAREN = 0x80044006,
 763    WBEMMOF_E_ILLEGAL_CONSTANT_VALUE = 0x80044007,
 764    WBEMMOF_E_EXPECTED_TYPE_IDENTIFIER = 0x80044008,
 765    WBEMMOF_E_EXPECTED_OPEN_PAREN = 0x80044009,
 766    WBEMMOF_E_UNRECOGNIZED_TOKEN = 0x8004400a,
 767    WBEMMOF_E_UNRECOGNIZED_TYPE = 0x8004400b,
 768    WBEMMOF_E_EXPECTED_PROPERTY_NAME = 0x8004400c,
 769    WBEMMOF_E_TYPEDEF_NOT_SUPPORTED = 0x8004400d,
 770    WBEMMOF_E_UNEXPECTED_ALIAS = 0x8004400e,
 771    WBEMMOF_E_UNEXPECTED_ARRAY_INIT = 0x8004400f,
 772    WBEMMOF_E_INVALID_AMENDMENT_SYNTAX = 0x80044010,
 773    WBEMMOF_E_INVALID_DUPLICATE_AMENDMENT = 0x80044011,
 774    WBEMMOF_E_INVALID_PRAGMA = 0x80044012,
 775    WBEMMOF_E_INVALID_NAMESPACE_SYNTAX = 0x80044013,
 776    WBEMMOF_E_EXPECTED_CLASS_NAME = 0x80044014,
 777    WBEMMOF_E_TYPE_MISMATCH = 0x80044015,
 778    WBEMMOF_E_EXPECTED_ALIAS_NAME = 0x80044016,
 779    WBEMMOF_E_INVALID_CLASS_DECLARATION = 0x80044017,
 780    WBEMMOF_E_INVALID_INSTANCE_DECLARATION = 0x80044018,
 781    WBEMMOF_E_EXPECTED_DOLLAR = 0x80044019,
 782    WBEMMOF_E_CIMTYPE_QUALIFIER = 0x8004401a,
 783    WBEMMOF_E_DUPLICATE_PROPERTY = 0x8004401b,
 784    WBEMMOF_E_INVALID_NAMESPACE_SPECIFICATION = 0x8004401c,
 785    WBEMMOF_E_OUT_OF_RANGE = 0x8004401d,
 786    WBEMMOF_E_INVALID_FILE = 0x8004401e,
 787    WBEMMOF_E_ALIASES_IN_EMBEDDED = 0x8004401f,
 788    WBEMMOF_E_NULL_ARRAY_ELEM = 0x80044020,
 789    WBEMMOF_E_DUPLICATE_QUALIFIER = 0x80044021,
 790    WBEMMOF_E_EXPECTED_FLAVOR_TYPE = 0x80044022,
 791    WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES = 0x80044023,
 792    WBEMMOF_E_MULTIPLE_ALIASES = 0x80044024,
 793    WBEMMOF_E_INCOMPATIBLE_FLAVOR_TYPES2 = 0x80044025,
 794    WBEMMOF_E_NO_ARRAYS_RETURNED = 0x80044026,
 795    WBEMMOF_E_MUST_BE_IN_OR_OUT = 0x80044027,
 796    WBEMMOF_E_INVALID_FLAGS_SYNTAX = 0x80044028,
 797    WBEMMOF_E_EXPECTED_BRACE_OR_BAD_TYPE = 0x80044029,
 798    WBEMMOF_E_UNSUPPORTED_CIMV22_QUAL_VALUE = 0x8004402a,
 799    WBEMMOF_E_UNSUPPORTED_CIMV22_DATA_TYPE = 0x8004402b,
 800    WBEMMOF_E_INVALID_DELETEINSTANCE_SYNTAX = 0x8004402c,
 801    WBEMMOF_E_INVALID_QUALIFIER_SYNTAX = 0x8004402d,
 802    WBEMMOF_E_QUALIFIER_USED_OUTSIDE_SCOPE = 0x8004402e,
 803    WBEMMOF_E_ERROR_CREATING_TEMP_FILE = 0x8004402f,
 804    WBEMMOF_E_ERROR_INVALID_INCLUDE_FILE = 0x80044030,
 805    WBEMMOF_E_INVALID_DELETECLASS_SYNTAX = 0x80044031
 806} WBEMSTATUS;
 807typedef enum tag_WMI_OBJ_TEXT {
 808    WMI_OBJ_TEXT_CIM_DTD_2_0 = 1,
 809    WMI_OBJ_TEXT_WMI_DTD_2_0 = 2,
 810    WMI_OBJ_TEXT_WMI_EXT1 = 3,
 811    WMI_OBJ_TEXT_WMI_EXT2 = 4,
 812    WMI_OBJ_TEXT_WMI_EXT3 = 5,
 813    WMI_OBJ_TEXT_WMI_EXT4 = 6,
 814    WMI_OBJ_TEXT_WMI_EXT5 = 7,
 815    WMI_OBJ_TEXT_WMI_EXT6 = 8,
 816    WMI_OBJ_TEXT_WMI_EXT7 = 9,
 817    WMI_OBJ_TEXT_WMI_EXT8 = 10,
 818    WMI_OBJ_TEXT_WMI_EXT9 = 11,
 819    WMI_OBJ_TEXT_WMI_EXT10 = 12,
 820    WMI_OBJ_TEXT_LAST = 13
 821} WMI_OBJ_TEXT;
 822typedef enum tag_WBEM_COMPILER_OPTIONS {
 823    WBEM_FLAG_CHECK_ONLY = 0x1,
 824    WBEM_FLAG_AUTORECOVER = 0x2,
 825    WBEM_FLAG_WMI_CHECK = 0x4,
 826    WBEM_FLAG_CONSOLE_PRINT = 0x8,
 827    WBEM_FLAG_DONT_ADD_TO_LIST = 0x10,
 828    WBEM_FLAG_SPLIT_FILES = 0x20,
 829    WBEM_FLAG_STORE_FILE = 0x100
 830} WBEM_COMPILER_OPTIONS;
 831typedef enum tag_WBEM_CONNECT_OPTIONS {
 832    WBEM_FLAG_CONNECT_REPOSITORY_ONLY = 0x40,
 833    WBEM_FLAG_CONNECT_USE_MAX_WAIT = 0x80,
 834    WBEM_FLAG_CONNECT_PROVIDERS = 0x100
 835} WBEM_CONNECT_OPTIONS;
 836typedef enum tag_WBEM_UNSECAPP_FLAG_TYPE {
 837    WBEM_FLAG_UNSECAPP_DEFAULT_CHECK_ACCESS = 0,
 838    WBEM_FLAG_UNSECAPP_CHECK_ACCESS = 1,
 839    WBEM_FLAG_UNSECAPP_DONT_CHECK_ACCESS = 2
 840} WBEM_UNSECAPP_FLAG_TYPE;
 841typedef enum tag_WBEM_INFORMATION_FLAG_TYPE {
 842    WBEM_FLAG_SHORT_NAME = 0x1,
 843    WBEM_FLAG_LONG_NAME = 0x2
 844} WBEM_INFORMATION_FLAG_TYPE;
 845typedef struct tag_CompileStatusInfo {
 846    LONG lPhaseError;
 847    HRESULT hRes;
 848    LONG ObjectNum;
 849    LONG FirstLine;
 850    LONG LastLine;
 851    DWORD dwOutFlags;
 852} WBEM_COMPILE_STATUS_INFO;
 853typedef LONG CIMTYPE;
 854/*****************************************************************************
 855 * WbemBackupRestore coclass
 856 */
 857
 858DEFINE_GUID(CLSID_WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04);
 859
 860#ifdef __cplusplus
 861class DECLSPEC_UUID("c49e32c6-bc8b-11d2-85d4-00105a1f8304") WbemBackupRestore;
 862#ifdef __CRT_UUID_DECL
 863__CRT_UUID_DECL(WbemBackupRestore, 0xc49e32c6, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04)
 864#endif
 865#endif
 866
 867/*****************************************************************************
 868 * WbemClassObject coclass
 869 */
 870
 871DEFINE_GUID(CLSID_WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd);
 872
 873#ifdef __cplusplus
 874class DECLSPEC_UUID("9a653086-174f-11d2-b5f9-00104b703efd") WbemClassObject;
 875#ifdef __CRT_UUID_DECL
 876__CRT_UUID_DECL(WbemClassObject, 0x9a653086, 0x174f, 0x11d2, 0xb5,0xf9, 0x00,0x10,0x4b,0x70,0x3e,0xfd)
 877#endif
 878#endif
 879
 880/*****************************************************************************
 881 * WbemContext coclass
 882 */
 883
 884DEFINE_GUID(CLSID_WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
 885
 886#ifdef __cplusplus
 887class DECLSPEC_UUID("674b6698-ee92-11d0-ad71-00c04fd8fdff") WbemContext;
 888#ifdef __CRT_UUID_DECL
 889__CRT_UUID_DECL(WbemContext, 0x674b6698, 0xee92, 0x11d0, 0xad,0x71, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
 890#endif
 891#endif
 892
 893/*****************************************************************************
 894 * WbemLocator coclass
 895 */
 896
 897DEFINE_GUID(CLSID_WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
 898
 899#ifdef __cplusplus
 900class DECLSPEC_UUID("4590f811-1d3a-11d0-891f-00aa004b2e24") WbemLocator;
 901#ifdef __CRT_UUID_DECL
 902__CRT_UUID_DECL(WbemLocator, 0x4590f811, 0x1d3a, 0x11d0, 0x89,0x1f, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
 903#endif
 904#endif
 905
 906/*****************************************************************************
 907 * WbemStatusCodeText coclass
 908 */
 909
 910DEFINE_GUID(CLSID_WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
 911
 912#ifdef __cplusplus
 913class DECLSPEC_UUID("eb87e1bd-3233-11d2-aec9-00c04fb68820") WbemStatusCodeText;
 914#ifdef __CRT_UUID_DECL
 915__CRT_UUID_DECL(WbemStatusCodeText, 0xeb87e1bd, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
 916#endif
 917#endif
 918
 919/*****************************************************************************
 920 * UnsecuredApartment coclass
 921 */
 922
 923DEFINE_GUID(CLSID_UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
 924
 925#ifdef __cplusplus
 926class DECLSPEC_UUID("49bd2028-1523-11d1-ad79-00c04fd8fdff") UnsecuredApartment;
 927#ifdef __CRT_UUID_DECL
 928__CRT_UUID_DECL(UnsecuredApartment, 0x49bd2028, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
 929#endif
 930#endif
 931
 932/*****************************************************************************
 933 * MofCompiler coclass
 934 */
 935
 936DEFINE_GUID(CLSID_MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
 937
 938#ifdef __cplusplus
 939class DECLSPEC_UUID("6daf9757-2e37-11d2-aec9-00c04fb68820") MofCompiler;
 940#ifdef __CRT_UUID_DECL
 941__CRT_UUID_DECL(MofCompiler, 0x6daf9757, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
 942#endif
 943#endif
 944
 945/*****************************************************************************
 946 * WbemObjectTextSrc coclass
 947 */
 948
 949DEFINE_GUID(CLSID_WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6);
 950
 951#ifdef __cplusplus
 952class DECLSPEC_UUID("8d1c559d-84f0-4bb3-a7d5-56a7435a9ba6") WbemObjectTextSrc;
 953#ifdef __CRT_UUID_DECL
 954__CRT_UUID_DECL(WbemObjectTextSrc, 0x8d1c559d, 0x84f0, 0x4bb3, 0xa7,0xd5, 0x56,0xa7,0x43,0x5a,0x9b,0xa6)
 955#endif
 956#endif
 957
 958/*****************************************************************************
 959 * WbemRefresher coclass
 960 */
 961
 962DEFINE_GUID(CLSID_WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
 963
 964#ifdef __cplusplus
 965class DECLSPEC_UUID("c71566f2-561e-11d1-ad87-00c04fd8fdff") WbemRefresher;
 966#ifdef __CRT_UUID_DECL
 967__CRT_UUID_DECL(WbemRefresher, 0xc71566f2, 0x561e, 0x11d1, 0xad,0x87, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
 968#endif
 969#endif
 970
 971#endif /* __WbemClient_v1_LIBRARY_DEFINED__ */
 972/*****************************************************************************
 973 * IWbemClassObject interface
 974 */
 975#ifndef __IWbemClassObject_INTERFACE_DEFINED__
 976#define __IWbemClassObject_INTERFACE_DEFINED__
 977
 978DEFINE_GUID(IID_IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
 979#if defined(__cplusplus) && !defined(CINTERFACE)
 980MIDL_INTERFACE("dc12a681-737f-11cf-884d-00aa004b2e24")
 981IWbemClassObject : public IUnknown
 982{
 983    virtual HRESULT STDMETHODCALLTYPE GetQualifierSet(
 984        IWbemQualifierSet **ppQualSet) = 0;
 985
 986    virtual HRESULT STDMETHODCALLTYPE Get(
 987        LPCWSTR wszName,
 988        LONG lFlags,
 989        VARIANT *pVal,
 990        CIMTYPE *pType,
 991        LONG *plFlavor) = 0;
 992
 993    virtual HRESULT STDMETHODCALLTYPE Put(
 994        LPCWSTR wszName,
 995        LONG lFlags,
 996        VARIANT *pVal,
 997        CIMTYPE Type) = 0;
 998
 999    virtual HRESULT STDMETHODCALLTYPE Delete(
1000        LPCWSTR wszName) = 0;
1001
1002    virtual HRESULT STDMETHODCALLTYPE GetNames(
1003        LPCWSTR wszQualifierName,
1004        LONG lFlags,
1005        VARIANT *pQualifierVal,
1006        SAFEARRAY **pNames) = 0;
1007
1008    virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
1009        LONG lEnumFlags) = 0;
1010
1011    virtual HRESULT STDMETHODCALLTYPE Next(
1012        LONG lFlags,
1013        BSTR *strName,
1014        VARIANT *pVal,
1015        CIMTYPE *pType,
1016        LONG *plFlavor) = 0;
1017
1018    virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
1019        ) = 0;
1020
1021    virtual HRESULT STDMETHODCALLTYPE GetPropertyQualifierSet(
1022        LPCWSTR wszProperty,
1023        IWbemQualifierSet **ppQualSet) = 0;
1024
1025    virtual HRESULT STDMETHODCALLTYPE Clone(
1026        IWbemClassObject **ppCopy) = 0;
1027
1028    virtual HRESULT STDMETHODCALLTYPE GetObjectText(
1029        LONG lFlags,
1030        BSTR *pstrObjectText) = 0;
1031
1032    virtual HRESULT STDMETHODCALLTYPE SpawnDerivedClass(
1033        LONG lFlags,
1034        IWbemClassObject **ppNewClass) = 0;
1035
1036    virtual HRESULT STDMETHODCALLTYPE SpawnInstance(
1037        LONG lFlags,
1038        IWbemClassObject **ppNewInstance) = 0;
1039
1040    virtual HRESULT STDMETHODCALLTYPE CompareTo(
1041        LONG lFlags,
1042        IWbemClassObject *pCompareTo) = 0;
1043
1044    virtual HRESULT STDMETHODCALLTYPE GetPropertyOrigin(
1045        LPCWSTR wszName,
1046        BSTR *pstrClassName) = 0;
1047
1048    virtual HRESULT STDMETHODCALLTYPE InheritsFrom(
1049        LPCWSTR strAncestor) = 0;
1050
1051    virtual HRESULT STDMETHODCALLTYPE GetMethod(
1052        LPCWSTR wszName,
1053        LONG lFlags,
1054        IWbemClassObject **ppInSignature,
1055        IWbemClassObject **ppOutSignature) = 0;
1056
1057    virtual HRESULT STDMETHODCALLTYPE PutMethod(
1058        LPCWSTR wszName,
1059        LONG lFlags,
1060        IWbemClassObject *pInSignature,
1061        IWbemClassObject *pOutSignature) = 0;
1062
1063    virtual HRESULT STDMETHODCALLTYPE DeleteMethod(
1064        LPCWSTR wszName) = 0;
1065
1066    virtual HRESULT STDMETHODCALLTYPE BeginMethodEnumeration(
1067        LONG lEnumFlags) = 0;
1068
1069    virtual HRESULT STDMETHODCALLTYPE NextMethod(
1070        LONG lFlags,
1071        BSTR *pstrName,
1072        IWbemClassObject **ppInSignature,
1073        IWbemClassObject **ppOutSignature) = 0;
1074
1075    virtual HRESULT STDMETHODCALLTYPE EndMethodEnumeration(
1076        ) = 0;
1077
1078    virtual HRESULT STDMETHODCALLTYPE GetMethodQualifierSet(
1079        LPCWSTR wszMethod,
1080        IWbemQualifierSet **ppQualSet) = 0;
1081
1082    virtual HRESULT STDMETHODCALLTYPE GetMethodOrigin(
1083        LPCWSTR wszMethodName,
1084        BSTR *pstrClassName) = 0;
1085
1086};
1087#ifdef __CRT_UUID_DECL
1088__CRT_UUID_DECL(IWbemClassObject, 0xdc12a681, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1089#endif
1090#else
1091typedef struct IWbemClassObjectVtbl {
1092    BEGIN_INTERFACE
1093
1094    /*** IUnknown methods ***/
1095    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1096        IWbemClassObject *This,
1097        REFIID riid,
1098        void **ppvObject);
1099
1100    ULONG (STDMETHODCALLTYPE *AddRef)(
1101        IWbemClassObject *This);
1102
1103    ULONG (STDMETHODCALLTYPE *Release)(
1104        IWbemClassObject *This);
1105
1106    /*** IWbemClassObject methods ***/
1107    HRESULT (STDMETHODCALLTYPE *GetQualifierSet)(
1108        IWbemClassObject *This,
1109        IWbemQualifierSet **ppQualSet);
1110
1111    HRESULT (STDMETHODCALLTYPE *Get)(
1112        IWbemClassObject *This,
1113        LPCWSTR wszName,
1114        LONG lFlags,
1115        VARIANT *pVal,
1116        CIMTYPE *pType,
1117        LONG *plFlavor);
1118
1119    HRESULT (STDMETHODCALLTYPE *Put)(
1120        IWbemClassObject *This,
1121        LPCWSTR wszName,
1122        LONG lFlags,
1123        VARIANT *pVal,
1124        CIMTYPE Type);
1125
1126    HRESULT (STDMETHODCALLTYPE *Delete)(
1127        IWbemClassObject *This,
1128        LPCWSTR wszName);
1129
1130    HRESULT (STDMETHODCALLTYPE *GetNames)(
1131        IWbemClassObject *This,
1132        LPCWSTR wszQualifierName,
1133        LONG lFlags,
1134        VARIANT *pQualifierVal,
1135        SAFEARRAY **pNames);
1136
1137    HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
1138        IWbemClassObject *This,
1139        LONG lEnumFlags);
1140
1141    HRESULT (STDMETHODCALLTYPE *Next)(
1142        IWbemClassObject *This,
1143        LONG lFlags,
1144        BSTR *strName,
1145        VARIANT *pVal,
1146        CIMTYPE *pType,
1147        LONG *plFlavor);
1148
1149    HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
1150        IWbemClassObject *This);
1151
1152    HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)(
1153        IWbemClassObject *This,
1154        LPCWSTR wszProperty,
1155        IWbemQualifierSet **ppQualSet);
1156
1157    HRESULT (STDMETHODCALLTYPE *Clone)(
1158        IWbemClassObject *This,
1159        IWbemClassObject **ppCopy);
1160
1161    HRESULT (STDMETHODCALLTYPE *GetObjectText)(
1162        IWbemClassObject *This,
1163        LONG lFlags,
1164        BSTR *pstrObjectText);
1165
1166    HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)(
1167        IWbemClassObject *This,
1168        LONG lFlags,
1169        IWbemClassObject **ppNewClass);
1170
1171    HRESULT (STDMETHODCALLTYPE *SpawnInstance)(
1172        IWbemClassObject *This,
1173        LONG lFlags,
1174        IWbemClassObject **ppNewInstance);
1175
1176    HRESULT (STDMETHODCALLTYPE *CompareTo)(
1177        IWbemClassObject *This,
1178        LONG lFlags,
1179        IWbemClassObject *pCompareTo);
1180
1181    HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)(
1182        IWbemClassObject *This,
1183        LPCWSTR wszName,
1184        BSTR *pstrClassName);
1185
1186    HRESULT (STDMETHODCALLTYPE *InheritsFrom)(
1187        IWbemClassObject *This,
1188        LPCWSTR strAncestor);
1189
1190    HRESULT (STDMETHODCALLTYPE *GetMethod)(
1191        IWbemClassObject *This,
1192        LPCWSTR wszName,
1193        LONG lFlags,
1194        IWbemClassObject **ppInSignature,
1195        IWbemClassObject **ppOutSignature);
1196
1197    HRESULT (STDMETHODCALLTYPE *PutMethod)(
1198        IWbemClassObject *This,
1199        LPCWSTR wszName,
1200        LONG lFlags,
1201        IWbemClassObject *pInSignature,
1202        IWbemClassObject *pOutSignature);
1203
1204    HRESULT (STDMETHODCALLTYPE *DeleteMethod)(
1205        IWbemClassObject *This,
1206        LPCWSTR wszName);
1207
1208    HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)(
1209        IWbemClassObject *This,
1210        LONG lEnumFlags);
1211
1212    HRESULT (STDMETHODCALLTYPE *NextMethod)(
1213        IWbemClassObject *This,
1214        LONG lFlags,
1215        BSTR *pstrName,
1216        IWbemClassObject **ppInSignature,
1217        IWbemClassObject **ppOutSignature);
1218
1219    HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)(
1220        IWbemClassObject *This);
1221
1222    HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)(
1223        IWbemClassObject *This,
1224        LPCWSTR wszMethod,
1225        IWbemQualifierSet **ppQualSet);
1226
1227    HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)(
1228        IWbemClassObject *This,
1229        LPCWSTR wszMethodName,
1230        BSTR *pstrClassName);
1231
1232    END_INTERFACE
1233} IWbemClassObjectVtbl;
1234
1235interface IWbemClassObject {
1236    CONST_VTBL IWbemClassObjectVtbl* lpVtbl;
1237};
1238
1239#ifdef COBJMACROS
1240#ifndef WIDL_C_INLINE_WRAPPERS
1241/*** IUnknown methods ***/
1242#define IWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1243#define IWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1244#define IWbemClassObject_Release(This) (This)->lpVtbl->Release(This)
1245/*** IWbemClassObject methods ***/
1246#define IWbemClassObject_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet)
1247#define IWbemClassObject_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor)
1248#define IWbemClassObject_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type)
1249#define IWbemClassObject_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
1250#define IWbemClassObject_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
1251#define IWbemClassObject_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags)
1252#define IWbemClassObject_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor)
1253#define IWbemClassObject_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
1254#define IWbemClassObject_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet)
1255#define IWbemClassObject_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy)
1256#define IWbemClassObject_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText)
1257#define IWbemClassObject_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass)
1258#define IWbemClassObject_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance)
1259#define IWbemClassObject_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo)
1260#define IWbemClassObject_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName)
1261#define IWbemClassObject_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor)
1262#define IWbemClassObject_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
1263#define IWbemClassObject_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
1264#define IWbemClassObject_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName)
1265#define IWbemClassObject_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags)
1266#define IWbemClassObject_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
1267#define IWbemClassObject_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This)
1268#define IWbemClassObject_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet)
1269#define IWbemClassObject_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName)
1270#else
1271/*** IUnknown methods ***/
1272static inline HRESULT IWbemClassObject_QueryInterface(IWbemClassObject* This,REFIID riid,void **ppvObject) {
1273    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1274}
1275static inline ULONG IWbemClassObject_AddRef(IWbemClassObject* This) {
1276    return This->lpVtbl->AddRef(This);
1277}
1278static inline ULONG IWbemClassObject_Release(IWbemClassObject* This) {
1279    return This->lpVtbl->Release(This);
1280}
1281/*** IWbemClassObject methods ***/
1282static inline HRESULT IWbemClassObject_GetQualifierSet(IWbemClassObject* This,IWbemQualifierSet **ppQualSet) {
1283    return This->lpVtbl->GetQualifierSet(This,ppQualSet);
1284}
1285static inline HRESULT IWbemClassObject_Get(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
1286    return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor);
1287}
1288static inline HRESULT IWbemClassObject_Put(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) {
1289    return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type);
1290}
1291static inline HRESULT IWbemClassObject_Delete(IWbemClassObject* This,LPCWSTR wszName) {
1292    return This->lpVtbl->Delete(This,wszName);
1293}
1294static inline HRESULT IWbemClassObject_GetNames(IWbemClassObject* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) {
1295    return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames);
1296}
1297static inline HRESULT IWbemClassObject_BeginEnumeration(IWbemClassObject* This,LONG lEnumFlags) {
1298    return This->lpVtbl->BeginEnumeration(This,lEnumFlags);
1299}
1300static inline HRESULT IWbemClassObject_Next(IWbemClassObject* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
1301    return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor);
1302}
1303static inline HRESULT IWbemClassObject_EndEnumeration(IWbemClassObject* This) {
1304    return This->lpVtbl->EndEnumeration(This);
1305}
1306static inline HRESULT IWbemClassObject_GetPropertyQualifierSet(IWbemClassObject* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) {
1307    return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet);
1308}
1309static inline HRESULT IWbemClassObject_Clone(IWbemClassObject* This,IWbemClassObject **ppCopy) {
1310    return This->lpVtbl->Clone(This,ppCopy);
1311}
1312static inline HRESULT IWbemClassObject_GetObjectText(IWbemClassObject* This,LONG lFlags,BSTR *pstrObjectText) {
1313    return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText);
1314}
1315static inline HRESULT IWbemClassObject_SpawnDerivedClass(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewClass) {
1316    return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass);
1317}
1318static inline HRESULT IWbemClassObject_SpawnInstance(IWbemClassObject* This,LONG lFlags,IWbemClassObject **ppNewInstance) {
1319    return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance);
1320}
1321static inline HRESULT IWbemClassObject_CompareTo(IWbemClassObject* This,LONG lFlags,IWbemClassObject *pCompareTo) {
1322    return This->lpVtbl->CompareTo(This,lFlags,pCompareTo);
1323}
1324static inline HRESULT IWbemClassObject_GetPropertyOrigin(IWbemClassObject* This,LPCWSTR wszName,BSTR *pstrClassName) {
1325    return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName);
1326}
1327static inline HRESULT IWbemClassObject_InheritsFrom(IWbemClassObject* This,LPCWSTR strAncestor) {
1328    return This->lpVtbl->InheritsFrom(This,strAncestor);
1329}
1330static inline HRESULT IWbemClassObject_GetMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
1331    return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature);
1332}
1333static inline HRESULT IWbemClassObject_PutMethod(IWbemClassObject* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) {
1334    return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature);
1335}
1336static inline HRESULT IWbemClassObject_DeleteMethod(IWbemClassObject* This,LPCWSTR wszName) {
1337    return This->lpVtbl->DeleteMethod(This,wszName);
1338}
1339static inline HRESULT IWbemClassObject_BeginMethodEnumeration(IWbemClassObject* This,LONG lEnumFlags) {
1340    return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags);
1341}
1342static inline HRESULT IWbemClassObject_NextMethod(IWbemClassObject* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
1343    return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature);
1344}
1345static inline HRESULT IWbemClassObject_EndMethodEnumeration(IWbemClassObject* This) {
1346    return This->lpVtbl->EndMethodEnumeration(This);
1347}
1348static inline HRESULT IWbemClassObject_GetMethodQualifierSet(IWbemClassObject* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) {
1349    return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet);
1350}
1351static inline HRESULT IWbemClassObject_GetMethodOrigin(IWbemClassObject* This,LPCWSTR wszMethodName,BSTR *pstrClassName) {
1352    return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName);
1353}
1354#endif
1355#endif
1356
1357#endif
1358
1359
1360#endif  /* __IWbemClassObject_INTERFACE_DEFINED__ */
1361
1362/*****************************************************************************
1363 * IWbemQualifierSet interface
1364 */
1365#ifndef __IWbemQualifierSet_INTERFACE_DEFINED__
1366#define __IWbemQualifierSet_INTERFACE_DEFINED__
1367
1368DEFINE_GUID(IID_IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1369#if defined(__cplusplus) && !defined(CINTERFACE)
1370MIDL_INTERFACE("dc12a680-737f-11cf-884d-00aa004b2e24")
1371IWbemQualifierSet : public IUnknown
1372{
1373    virtual HRESULT STDMETHODCALLTYPE Get(
1374        LPCWSTR wszName,
1375        LONG lFlags,
1376        VARIANT *pVal,
1377        LONG *plFlavor) = 0;
1378
1379    virtual HRESULT STDMETHODCALLTYPE Put(
1380        LPCWSTR wszName,
1381        VARIANT *pVal,
1382        LONG lFlavor) = 0;
1383
1384    virtual HRESULT STDMETHODCALLTYPE Delete(
1385        LPCWSTR wszName) = 0;
1386
1387    virtual HRESULT STDMETHODCALLTYPE GetNames(
1388        LONG lFlags,
1389        SAFEARRAY **pNames) = 0;
1390
1391    virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
1392        LONG lFlags) = 0;
1393
1394    virtual HRESULT STDMETHODCALLTYPE Next(
1395        LONG lFlags,
1396        BSTR *pstrName,
1397        VARIANT *pVal,
1398        LONG *plFlavor) = 0;
1399
1400    virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
1401        ) = 0;
1402
1403};
1404#ifdef __CRT_UUID_DECL
1405__CRT_UUID_DECL(IWbemQualifierSet, 0xdc12a680, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1406#endif
1407#else
1408typedef struct IWbemQualifierSetVtbl {
1409    BEGIN_INTERFACE
1410
1411    /*** IUnknown methods ***/
1412    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1413        IWbemQualifierSet *This,
1414        REFIID riid,
1415        void **ppvObject);
1416
1417    ULONG (STDMETHODCALLTYPE *AddRef)(
1418        IWbemQualifierSet *This);
1419
1420    ULONG (STDMETHODCALLTYPE *Release)(
1421        IWbemQualifierSet *This);
1422
1423    /*** IWbemQualifierSet methods ***/
1424    HRESULT (STDMETHODCALLTYPE *Get)(
1425        IWbemQualifierSet *This,
1426        LPCWSTR wszName,
1427        LONG lFlags,
1428        VARIANT *pVal,
1429        LONG *plFlavor);
1430
1431    HRESULT (STDMETHODCALLTYPE *Put)(
1432        IWbemQualifierSet *This,
1433        LPCWSTR wszName,
1434        VARIANT *pVal,
1435        LONG lFlavor);
1436
1437    HRESULT (STDMETHODCALLTYPE *Delete)(
1438        IWbemQualifierSet *This,
1439        LPCWSTR wszName);
1440
1441    HRESULT (STDMETHODCALLTYPE *GetNames)(
1442        IWbemQualifierSet *This,
1443        LONG lFlags,
1444        SAFEARRAY **pNames);
1445
1446    HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
1447        IWbemQualifierSet *This,
1448        LONG lFlags);
1449
1450    HRESULT (STDMETHODCALLTYPE *Next)(
1451        IWbemQualifierSet *This,
1452        LONG lFlags,
1453        BSTR *pstrName,
1454        VARIANT *pVal,
1455        LONG *plFlavor);
1456
1457    HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
1458        IWbemQualifierSet *This);
1459
1460    END_INTERFACE
1461} IWbemQualifierSetVtbl;
1462
1463interface IWbemQualifierSet {
1464    CONST_VTBL IWbemQualifierSetVtbl* lpVtbl;
1465};
1466
1467#ifdef COBJMACROS
1468#ifndef WIDL_C_INLINE_WRAPPERS
1469/*** IUnknown methods ***/
1470#define IWbemQualifierSet_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1471#define IWbemQualifierSet_AddRef(This) (This)->lpVtbl->AddRef(This)
1472#define IWbemQualifierSet_Release(This) (This)->lpVtbl->Release(This)
1473/*** IWbemQualifierSet methods ***/
1474#define IWbemQualifierSet_Get(This,wszName,lFlags,pVal,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor)
1475#define IWbemQualifierSet_Put(This,wszName,pVal,lFlavor) (This)->lpVtbl->Put(This,wszName,pVal,lFlavor)
1476#define IWbemQualifierSet_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
1477#define IWbemQualifierSet_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames)
1478#define IWbemQualifierSet_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags)
1479#define IWbemQualifierSet_Next(This,lFlags,pstrName,pVal,plFlavor) (This)->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor)
1480#define IWbemQualifierSet_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
1481#else
1482/*** IUnknown methods ***/
1483static inline HRESULT IWbemQualifierSet_QueryInterface(IWbemQualifierSet* This,REFIID riid,void **ppvObject) {
1484    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1485}
1486static inline ULONG IWbemQualifierSet_AddRef(IWbemQualifierSet* This) {
1487    return This->lpVtbl->AddRef(This);
1488}
1489static inline ULONG IWbemQualifierSet_Release(IWbemQualifierSet* This) {
1490    return This->lpVtbl->Release(This);
1491}
1492/*** IWbemQualifierSet methods ***/
1493static inline HRESULT IWbemQualifierSet_Get(IWbemQualifierSet* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,LONG *plFlavor) {
1494    return This->lpVtbl->Get(This,wszName,lFlags,pVal,plFlavor);
1495}
1496static inline HRESULT IWbemQualifierSet_Put(IWbemQualifierSet* This,LPCWSTR wszName,VARIANT *pVal,LONG lFlavor) {
1497    return This->lpVtbl->Put(This,wszName,pVal,lFlavor);
1498}
1499static inline HRESULT IWbemQualifierSet_Delete(IWbemQualifierSet* This,LPCWSTR wszName) {
1500    return This->lpVtbl->Delete(This,wszName);
1501}
1502static inline HRESULT IWbemQualifierSet_GetNames(IWbemQualifierSet* This,LONG lFlags,SAFEARRAY **pNames) {
1503    return This->lpVtbl->GetNames(This,lFlags,pNames);
1504}
1505static inline HRESULT IWbemQualifierSet_BeginEnumeration(IWbemQualifierSet* This,LONG lFlags) {
1506    return This->lpVtbl->BeginEnumeration(This,lFlags);
1507}
1508static inline HRESULT IWbemQualifierSet_Next(IWbemQualifierSet* This,LONG lFlags,BSTR *pstrName,VARIANT *pVal,LONG *plFlavor) {
1509    return This->lpVtbl->Next(This,lFlags,pstrName,pVal,plFlavor);
1510}
1511static inline HRESULT IWbemQualifierSet_EndEnumeration(IWbemQualifierSet* This) {
1512    return This->lpVtbl->EndEnumeration(This);
1513}
1514#endif
1515#endif
1516
1517#endif
1518
1519
1520#endif  /* __IWbemQualifierSet_INTERFACE_DEFINED__ */
1521
1522/*****************************************************************************
1523 * IWbemLocator interface
1524 */
1525#ifndef __IWbemLocator_INTERFACE_DEFINED__
1526#define __IWbemLocator_INTERFACE_DEFINED__
1527
1528DEFINE_GUID(IID_IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1529#if defined(__cplusplus) && !defined(CINTERFACE)
1530MIDL_INTERFACE("dc12a687-737f-11cf-884d-00aa004b2e24")
1531IWbemLocator : public IUnknown
1532{
1533    virtual HRESULT STDMETHODCALLTYPE ConnectServer(
1534        const BSTR strNetworkResource,
1535        const BSTR strUser,
1536        const BSTR strPassword,
1537        const BSTR strLocale,
1538        LONG lSecurityFlags,
1539        const BSTR strAuthority,
1540        IWbemContext *pCtx,
1541        IWbemServices **ppNamespace) = 0;
1542
1543};
1544#ifdef __CRT_UUID_DECL
1545__CRT_UUID_DECL(IWbemLocator, 0xdc12a687, 0x737f, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1546#endif
1547#else
1548typedef struct IWbemLocatorVtbl {
1549    BEGIN_INTERFACE
1550
1551    /*** IUnknown methods ***/
1552    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1553        IWbemLocator *This,
1554        REFIID riid,
1555        void **ppvObject);
1556
1557    ULONG (STDMETHODCALLTYPE *AddRef)(
1558        IWbemLocator *This);
1559
1560    ULONG (STDMETHODCALLTYPE *Release)(
1561        IWbemLocator *This);
1562
1563    /*** IWbemLocator methods ***/
1564    HRESULT (STDMETHODCALLTYPE *ConnectServer)(
1565        IWbemLocator *This,
1566        const BSTR strNetworkResource,
1567        const BSTR strUser,
1568        const BSTR strPassword,
1569        const BSTR strLocale,
1570        LONG lSecurityFlags,
1571        const BSTR strAuthority,
1572        IWbemContext *pCtx,
1573        IWbemServices **ppNamespace);
1574
1575    END_INTERFACE
1576} IWbemLocatorVtbl;
1577
1578interface IWbemLocator {
1579    CONST_VTBL IWbemLocatorVtbl* lpVtbl;
1580};
1581
1582#ifdef COBJMACROS
1583#ifndef WIDL_C_INLINE_WRAPPERS
1584/*** IUnknown methods ***/
1585#define IWbemLocator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1586#define IWbemLocator_AddRef(This) (This)->lpVtbl->AddRef(This)
1587#define IWbemLocator_Release(This) (This)->lpVtbl->Release(This)
1588/*** IWbemLocator methods ***/
1589#define IWbemLocator_ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace) (This)->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace)
1590#else
1591/*** IUnknown methods ***/
1592static inline HRESULT IWbemLocator_QueryInterface(IWbemLocator* This,REFIID riid,void **ppvObject) {
1593    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1594}
1595static inline ULONG IWbemLocator_AddRef(IWbemLocator* This) {
1596    return This->lpVtbl->AddRef(This);
1597}
1598static inline ULONG IWbemLocator_Release(IWbemLocator* This) {
1599    return This->lpVtbl->Release(This);
1600}
1601/*** IWbemLocator methods ***/
1602static inline HRESULT IWbemLocator_ConnectServer(IWbemLocator* This,const BSTR strNetworkResource,const BSTR strUser,const BSTR strPassword,const BSTR strLocale,LONG lSecurityFlags,const BSTR strAuthority,IWbemContext *pCtx,IWbemServices **ppNamespace) {
1603    return This->lpVtbl->ConnectServer(This,strNetworkResource,strUser,strPassword,strLocale,lSecurityFlags,strAuthority,pCtx,ppNamespace);
1604}
1605#endif
1606#endif
1607
1608#endif
1609
1610
1611#endif  /* __IWbemLocator_INTERFACE_DEFINED__ */
1612
1613/*****************************************************************************
1614 * IWbemObjectSink interface
1615 */
1616#ifndef __IWbemObjectSink_INTERFACE_DEFINED__
1617#define __IWbemObjectSink_INTERFACE_DEFINED__
1618
1619DEFINE_GUID(IID_IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24);
1620#if defined(__cplusplus) && !defined(CINTERFACE)
1621MIDL_INTERFACE("7c857801-7381-11cf-884d-00aa004b2e24")
1622IWbemObjectSink : public IUnknown
1623{
1624    virtual HRESULT STDMETHODCALLTYPE Indicate(
1625        LONG lObjectCount,
1626        IWbemClassObject **apObjArray) = 0;
1627
1628    virtual HRESULT STDMETHODCALLTYPE SetStatus(
1629        LONG lFlags,
1630        HRESULT hResult,
1631        BSTR strParam,
1632        IWbemClassObject *pObjParam) = 0;
1633
1634};
1635#ifdef __CRT_UUID_DECL
1636__CRT_UUID_DECL(IWbemObjectSink, 0x7c857801, 0x7381, 0x11cf, 0x88,0x4d, 0x00,0xaa,0x00,0x4b,0x2e,0x24)
1637#endif
1638#else
1639typedef struct IWbemObjectSinkVtbl {
1640    BEGIN_INTERFACE
1641
1642    /*** IUnknown methods ***/
1643    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1644        IWbemObjectSink *This,
1645        REFIID riid,
1646        void **ppvObject);
1647
1648    ULONG (STDMETHODCALLTYPE *AddRef)(
1649        IWbemObjectSink *This);
1650
1651    ULONG (STDMETHODCALLTYPE *Release)(
1652        IWbemObjectSink *This);
1653
1654    /*** IWbemObjectSink methods ***/
1655    HRESULT (STDMETHODCALLTYPE *Indicate)(
1656        IWbemObjectSink *This,
1657        LONG lObjectCount,
1658        IWbemClassObject **apObjArray);
1659
1660    HRESULT (STDMETHODCALLTYPE *SetStatus)(
1661        IWbemObjectSink *This,
1662        LONG lFlags,
1663        HRESULT hResult,
1664        BSTR strParam,
1665        IWbemClassObject *pObjParam);
1666
1667    END_INTERFACE
1668} IWbemObjectSinkVtbl;
1669
1670interface IWbemObjectSink {
1671    CONST_VTBL IWbemObjectSinkVtbl* lpVtbl;
1672};
1673
1674#ifdef COBJMACROS
1675#ifndef WIDL_C_INLINE_WRAPPERS
1676/*** IUnknown methods ***/
1677#define IWbemObjectSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1678#define IWbemObjectSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1679#define IWbemObjectSink_Release(This) (This)->lpVtbl->Release(This)
1680/*** IWbemObjectSink methods ***/
1681#define IWbemObjectSink_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray)
1682#define IWbemObjectSink_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam)
1683#else
1684/*** IUnknown methods ***/
1685static inline HRESULT IWbemObjectSink_QueryInterface(IWbemObjectSink* This,REFIID riid,void **ppvObject) {
1686    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1687}
1688static inline ULONG IWbemObjectSink_AddRef(IWbemObjectSink* This) {
1689    return This->lpVtbl->AddRef(This);
1690}
1691static inline ULONG IWbemObjectSink_Release(IWbemObjectSink* This) {
1692    return This->lpVtbl->Release(This);
1693}
1694/*** IWbemObjectSink methods ***/
1695static inline HRESULT IWbemObjectSink_Indicate(IWbemObjectSink* This,LONG lObjectCount,IWbemClassObject **apObjArray) {
1696    return This->lpVtbl->Indicate(This,lObjectCount,apObjArray);
1697}
1698static inline HRESULT IWbemObjectSink_SetStatus(IWbemObjectSink* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) {
1699    return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam);
1700}
1701#endif
1702#endif
1703
1704#endif
1705
1706
1707#endif  /* __IWbemObjectSink_INTERFACE_DEFINED__ */
1708
1709/*****************************************************************************
1710 * IWbemObjectSinkEx interface
1711 */
1712#ifndef __IWbemObjectSinkEx_INTERFACE_DEFINED__
1713#define __IWbemObjectSinkEx_INTERFACE_DEFINED__
1714
1715DEFINE_GUID(IID_IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca);
1716#if defined(__cplusplus) && !defined(CINTERFACE)
1717MIDL_INTERFACE("e7d35cfa-348b-485e-b524-252725d697ca")
1718IWbemObjectSinkEx : public IWbemObjectSink
1719{
1720    virtual HRESULT STDMETHODCALLTYPE WriteMessage(
1721        ULONG uChannel,
1722        const BSTR strMessage) = 0;
1723
1724    virtual HRESULT STDMETHODCALLTYPE WriteError(
1725        IWbemClassObject *pObjError,
1726        unsigned char *puReturned) = 0;
1727
1728    virtual HRESULT STDMETHODCALLTYPE PromptUser(
1729        const BSTR strMessage,
1730        unsigned char uPromptType,
1731        unsigned char *puReturned) = 0;
1732
1733    virtual HRESULT STDMETHODCALLTYPE WriteProgress(
1734        const BSTR strActivity,
1735        const BSTR strCurrentOperation,
1736        const BSTR strStatusDescription,
1737        ULONG uPercentComplete,
1738        ULONG uSecondsRemaining) = 0;
1739
1740    virtual HRESULT STDMETHODCALLTYPE WriteStreamParameter(
1741        const BSTR strName,
1742        VARIANT *vtValue,
1743        ULONG ulType,
1744        ULONG ulFlags) = 0;
1745
1746};
1747#ifdef __CRT_UUID_DECL
1748__CRT_UUID_DECL(IWbemObjectSinkEx, 0xe7d35cfa, 0x348b, 0x485e, 0xb5,0x24, 0x25,0x27,0x25,0xd6,0x97,0xca)
1749#endif
1750#else
1751typedef struct IWbemObjectSinkExVtbl {
1752    BEGIN_INTERFACE
1753
1754    /*** IUnknown methods ***/
1755    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1756        IWbemObjectSinkEx *This,
1757        REFIID riid,
1758        void **ppvObject);
1759
1760    ULONG (STDMETHODCALLTYPE *AddRef)(
1761        IWbemObjectSinkEx *This);
1762
1763    ULONG (STDMETHODCALLTYPE *Release)(
1764        IWbemObjectSinkEx *This);
1765
1766    /*** IWbemObjectSink methods ***/
1767    HRESULT (STDMETHODCALLTYPE *Indicate)(
1768        IWbemObjectSinkEx *This,
1769        LONG lObjectCount,
1770        IWbemClassObject **apObjArray);
1771
1772    HRESULT (STDMETHODCALLTYPE *SetStatus)(
1773        IWbemObjectSinkEx *This,
1774        LONG lFlags,
1775        HRESULT hResult,
1776        BSTR strParam,
1777        IWbemClassObject *pObjParam);
1778
1779    /*** IWbemObjectSinkEx methods ***/
1780    HRESULT (STDMETHODCALLTYPE *WriteMessage)(
1781        IWbemObjectSinkEx *This,
1782        ULONG uChannel,
1783        const BSTR strMessage);
1784
1785    HRESULT (STDMETHODCALLTYPE *WriteError)(
1786        IWbemObjectSinkEx *This,
1787        IWbemClassObject *pObjError,
1788        unsigned char *puReturned);
1789
1790    HRESULT (STDMETHODCALLTYPE *PromptUser)(
1791        IWbemObjectSinkEx *This,
1792        const BSTR strMessage,
1793        unsigned char uPromptType,
1794        unsigned char *puReturned);
1795
1796    HRESULT (STDMETHODCALLTYPE *WriteProgress)(
1797        IWbemObjectSinkEx *This,
1798        const BSTR strActivity,
1799        const BSTR strCurrentOperation,
1800        const BSTR strStatusDescription,
1801        ULONG uPercentComplete,
1802        ULONG uSecondsRemaining);
1803
1804    HRESULT (STDMETHODCALLTYPE *WriteStreamParameter)(
1805        IWbemObjectSinkEx *This,
1806        const BSTR strName,
1807        VARIANT *vtValue,
1808        ULONG ulType,
1809        ULONG ulFlags);
1810
1811    END_INTERFACE
1812} IWbemObjectSinkExVtbl;
1813
1814interface IWbemObjectSinkEx {
1815    CONST_VTBL IWbemObjectSinkExVtbl* lpVtbl;
1816};
1817
1818#ifdef COBJMACROS
1819#ifndef WIDL_C_INLINE_WRAPPERS
1820/*** IUnknown methods ***/
1821#define IWbemObjectSinkEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1822#define IWbemObjectSinkEx_AddRef(This) (This)->lpVtbl->AddRef(This)
1823#define IWbemObjectSinkEx_Release(This) (This)->lpVtbl->Release(This)
1824/*** IWbemObjectSink methods ***/
1825#define IWbemObjectSinkEx_Indicate(This,lObjectCount,apObjArray) (This)->lpVtbl->Indicate(This,lObjectCount,apObjArray)
1826#define IWbemObjectSinkEx_SetStatus(This,lFlags,hResult,strParam,pObjParam) (This)->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam)
1827/*** IWbemObjectSinkEx methods ***/
1828#define IWbemObjectSinkEx_WriteMessage(This,uChannel,strMessage) (This)->lpVtbl->WriteMessage(This,uChannel,strMessage)
1829#define IWbemObjectSinkEx_WriteError(This,pObjError,puReturned) (This)->lpVtbl->WriteError(This,pObjError,puReturned)
1830#define IWbemObjectSinkEx_PromptUser(This,strMessage,uPromptType,puReturned) (This)->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned)
1831#define IWbemObjectSinkEx_WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining) (This)->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining)
1832#define IWbemObjectSinkEx_WriteStreamParameter(This,strName,vtValue,ulType,ulFlags) (This)->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags)
1833#else
1834/*** IUnknown methods ***/
1835static inline HRESULT IWbemObjectSinkEx_QueryInterface(IWbemObjectSinkEx* This,REFIID riid,void **ppvObject) {
1836    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1837}
1838static inline ULONG IWbemObjectSinkEx_AddRef(IWbemObjectSinkEx* This) {
1839    return This->lpVtbl->AddRef(This);
1840}
1841static inline ULONG IWbemObjectSinkEx_Release(IWbemObjectSinkEx* This) {
1842    return This->lpVtbl->Release(This);
1843}
1844/*** IWbemObjectSink methods ***/
1845static inline HRESULT IWbemObjectSinkEx_Indicate(IWbemObjectSinkEx* This,LONG lObjectCount,IWbemClassObject **apObjArray) {
1846    return This->lpVtbl->Indicate(This,lObjectCount,apObjArray);
1847}
1848static inline HRESULT IWbemObjectSinkEx_SetStatus(IWbemObjectSinkEx* This,LONG lFlags,HRESULT hResult,BSTR strParam,IWbemClassObject *pObjParam) {
1849    return This->lpVtbl->SetStatus(This,lFlags,hResult,strParam,pObjParam);
1850}
1851/*** IWbemObjectSinkEx methods ***/
1852static inline HRESULT IWbemObjectSinkEx_WriteMessage(IWbemObjectSinkEx* This,ULONG uChannel,const BSTR strMessage) {
1853    return This->lpVtbl->WriteMessage(This,uChannel,strMessage);
1854}
1855static inline HRESULT IWbemObjectSinkEx_WriteError(IWbemObjectSinkEx* This,IWbemClassObject *pObjError,unsigned char *puReturned) {
1856    return This->lpVtbl->WriteError(This,pObjError,puReturned);
1857}
1858static inline HRESULT IWbemObjectSinkEx_PromptUser(IWbemObjectSinkEx* This,const BSTR strMessage,unsigned char uPromptType,unsigned char *puReturned) {
1859    return This->lpVtbl->PromptUser(This,strMessage,uPromptType,puReturned);
1860}
1861static inline HRESULT IWbemObjectSinkEx_WriteProgress(IWbemObjectSinkEx* This,const BSTR strActivity,const BSTR strCurrentOperation,const BSTR strStatusDescription,ULONG uPercentComplete,ULONG uSecondsRemaining) {
1862    return This->lpVtbl->WriteProgress(This,strActivity,strCurrentOperation,strStatusDescription,uPercentComplete,uSecondsRemaining);
1863}
1864static inline HRESULT IWbemObjectSinkEx_WriteStreamParameter(IWbemObjectSinkEx* This,const BSTR strName,VARIANT *vtValue,ULONG ulType,ULONG ulFlags) {
1865    return This->lpVtbl->WriteStreamParameter(This,strName,vtValue,ulType,ulFlags);
1866}
1867#endif
1868#endif
1869
1870#endif
1871
1872
1873#endif  /* __IWbemObjectSinkEx_INTERFACE_DEFINED__ */
1874
1875/*****************************************************************************
1876 * IEnumWbemClassObject interface
1877 */
1878#ifndef __IEnumWbemClassObject_INTERFACE_DEFINED__
1879#define __IEnumWbemClassObject_INTERFACE_DEFINED__
1880
1881DEFINE_GUID(IID_IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01);
1882#if defined(__cplusplus) && !defined(CINTERFACE)
1883MIDL_INTERFACE("027947e1-d731-11ce-a357-000000000001")
1884IEnumWbemClassObject : public IUnknown
1885{
1886    virtual HRESULT STDMETHODCALLTYPE Reset(
1887        ) = 0;
1888
1889    virtual HRESULT STDMETHODCALLTYPE Next(
1890        LONG lTimeout,
1891        ULONG uCount,
1892        IWbemClassObject **apObjects,
1893        ULONG *puReturned) = 0;
1894
1895    virtual HRESULT STDMETHODCALLTYPE NextAsync(
1896        ULONG uCount,
1897        IWbemObjectSink *pSink) = 0;
1898
1899    virtual HRESULT STDMETHODCALLTYPE Clone(
1900        IEnumWbemClassObject **ppEnum) = 0;
1901
1902    virtual HRESULT STDMETHODCALLTYPE Skip(
1903        LONG lTimeout,
1904        ULONG nCount) = 0;
1905
1906};
1907#ifdef __CRT_UUID_DECL
1908__CRT_UUID_DECL(IEnumWbemClassObject, 0x027947e1, 0xd731, 0x11ce, 0xa3,0x57, 0x00,0x00,0x00,0x00,0x00,0x01)
1909#endif
1910#else
1911typedef struct IEnumWbemClassObjectVtbl {
1912    BEGIN_INTERFACE
1913
1914    /*** IUnknown methods ***/
1915    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1916        IEnumWbemClassObject *This,
1917        REFIID riid,
1918        void **ppvObject);
1919
1920    ULONG (STDMETHODCALLTYPE *AddRef)(
1921        IEnumWbemClassObject *This);
1922
1923    ULONG (STDMETHODCALLTYPE *Release)(
1924        IEnumWbemClassObject *This);
1925
1926    /*** IEnumWbemClassObject methods ***/
1927    HRESULT (STDMETHODCALLTYPE *Reset)(
1928        IEnumWbemClassObject *This);
1929
1930    HRESULT (STDMETHODCALLTYPE *Next)(
1931        IEnumWbemClassObject *This,
1932        LONG lTimeout,
1933        ULONG uCount,
1934        IWbemClassObject **apObjects,
1935        ULONG *puReturned);
1936
1937    HRESULT (STDMETHODCALLTYPE *NextAsync)(
1938        IEnumWbemClassObject *This,
1939        ULONG uCount,
1940        IWbemObjectSink *pSink);
1941
1942    HRESULT (STDMETHODCALLTYPE *Clone)(
1943        IEnumWbemClassObject *This,
1944        IEnumWbemClassObject **ppEnum);
1945
1946    HRESULT (STDMETHODCALLTYPE *Skip)(
1947        IEnumWbemClassObject *This,
1948        LONG lTimeout,
1949        ULONG nCount);
1950
1951    END_INTERFACE
1952} IEnumWbemClassObjectVtbl;
1953
1954interface IEnumWbemClassObject {
1955    CONST_VTBL IEnumWbemClassObjectVtbl* lpVtbl;
1956};
1957
1958#ifdef COBJMACROS
1959#ifndef WIDL_C_INLINE_WRAPPERS
1960/*** IUnknown methods ***/
1961#define IEnumWbemClassObject_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1962#define IEnumWbemClassObject_AddRef(This) (This)->lpVtbl->AddRef(This)
1963#define IEnumWbemClassObject_Release(This) (This)->lpVtbl->Release(This)
1964/*** IEnumWbemClassObject methods ***/
1965#define IEnumWbemClassObject_Reset(This) (This)->lpVtbl->Reset(This)
1966#define IEnumWbemClassObject_Next(This,lTimeout,uCount,apObjects,puReturned) (This)->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned)
1967#define IEnumWbemClassObject_NextAsync(This,uCount,pSink) (This)->lpVtbl->NextAsync(This,uCount,pSink)
1968#define IEnumWbemClassObject_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
1969#define IEnumWbemClassObject_Skip(This,lTimeout,nCount) (This)->lpVtbl->Skip(This,lTimeout,nCount)
1970#else
1971/*** IUnknown methods ***/
1972static inline HRESULT IEnumWbemClassObject_QueryInterface(IEnumWbemClassObject* This,REFIID riid,void **ppvObject) {
1973    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1974}
1975static inline ULONG IEnumWbemClassObject_AddRef(IEnumWbemClassObject* This) {
1976    return This->lpVtbl->AddRef(This);
1977}
1978static inline ULONG IEnumWbemClassObject_Release(IEnumWbemClassObject* This) {
1979    return This->lpVtbl->Release(This);
1980}
1981/*** IEnumWbemClassObject methods ***/
1982static inline HRESULT IEnumWbemClassObject_Reset(IEnumWbemClassObject* This) {
1983    return This->lpVtbl->Reset(This);
1984}
1985static inline HRESULT IEnumWbemClassObject_Next(IEnumWbemClassObject* This,LONG lTimeout,ULONG uCount,IWbemClassObject **apObjects,ULONG *puReturned) {
1986    return This->lpVtbl->Next(This,lTimeout,uCount,apObjects,puReturned);
1987}
1988static inline HRESULT IEnumWbemClassObject_NextAsync(IEnumWbemClassObject* This,ULONG uCount,IWbemObjectSink *pSink) {
1989    return This->lpVtbl->NextAsync(This,uCount,pSink);
1990}
1991static inline HRESULT IEnumWbemClassObject_Clone(IEnumWbemClassObject* This,IEnumWbemClassObject **ppEnum) {
1992    return This->lpVtbl->Clone(This,ppEnum);
1993}
1994static inline HRESULT IEnumWbemClassObject_Skip(IEnumWbemClassObject* This,LONG lTimeout,ULONG nCount) {
1995    return This->lpVtbl->Skip(This,lTimeout,nCount);
1996}
1997#endif
1998#endif
1999
2000#endif
2001
2002
2003#endif  /* __IEnumWbemClassObject_INTERFACE_DEFINED__ */
2004
2005/*****************************************************************************
2006 * IWbemContext interface
2007 */
2008#ifndef __IWbemContext_INTERFACE_DEFINED__
2009#define __IWbemContext_INTERFACE_DEFINED__
2010
2011DEFINE_GUID(IID_IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2012#if defined(__cplusplus) && !defined(CINTERFACE)
2013MIDL_INTERFACE("44aca674-e8fc-11d0-a07c-00c04fb68820")
2014IWbemContext : public IUnknown
2015{
2016    virtual HRESULT STDMETHODCALLTYPE Clone(
2017        IWbemContext **ppNewCopy) = 0;
2018
2019    virtual HRESULT STDMETHODCALLTYPE GetNames(
2020        LONG lFlags,
2021        SAFEARRAY **pNames) = 0;
2022
2023    virtual HRESULT STDMETHODCALLTYPE BeginEnumeration(
2024        LONG lFlags) = 0;
2025
2026    virtual HRESULT STDMETHODCALLTYPE Next(
2027        LONG lFlags,
2028        BSTR *pstrName,
2029        VARIANT *pValue) = 0;
2030
2031    virtual HRESULT STDMETHODCALLTYPE EndEnumeration(
2032        ) = 0;
2033
2034    virtual HRESULT STDMETHODCALLTYPE SetValue(
2035        LPCWSTR wszName,
2036        LONG lFlags,
2037        VARIANT *pValue) = 0;
2038
2039    virtual HRESULT STDMETHODCALLTYPE GetValue(
2040        LPCWSTR wszName,
2041        LONG lFlags,
2042        VARIANT *pValue) = 0;
2043
2044    virtual HRESULT STDMETHODCALLTYPE DeleteValue(
2045        LPCWSTR wszName,
2046        LONG lFlags) = 0;
2047
2048    virtual HRESULT STDMETHODCALLTYPE DeleteAll(
2049        ) = 0;
2050
2051};
2052#ifdef __CRT_UUID_DECL
2053__CRT_UUID_DECL(IWbemContext, 0x44aca674, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
2054#endif
2055#else
2056typedef struct IWbemContextVtbl {
2057    BEGIN_INTERFACE
2058
2059    /*** IUnknown methods ***/
2060    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2061        IWbemContext *This,
2062        REFIID riid,
2063        void **ppvObject);
2064
2065    ULONG (STDMETHODCALLTYPE *AddRef)(
2066        IWbemContext *This);
2067
2068    ULONG (STDMETHODCALLTYPE *Release)(
2069        IWbemContext *This);
2070
2071    /*** IWbemContext methods ***/
2072    HRESULT (STDMETHODCALLTYPE *Clone)(
2073        IWbemContext *This,
2074        IWbemContext **ppNewCopy);
2075
2076    HRESULT (STDMETHODCALLTYPE *GetNames)(
2077        IWbemContext *This,
2078        LONG lFlags,
2079        SAFEARRAY **pNames);
2080
2081    HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
2082        IWbemContext *This,
2083        LONG lFlags);
2084
2085    HRESULT (STDMETHODCALLTYPE *Next)(
2086        IWbemContext *This,
2087        LONG lFlags,
2088        BSTR *pstrName,
2089        VARIANT *pValue);
2090
2091    HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
2092        IWbemContext *This);
2093
2094    HRESULT (STDMETHODCALLTYPE *SetValue)(
2095        IWbemContext *This,
2096        LPCWSTR wszName,
2097        LONG lFlags,
2098        VARIANT *pValue);
2099
2100    HRESULT (STDMETHODCALLTYPE *GetValue)(
2101        IWbemContext *This,
2102        LPCWSTR wszName,
2103        LONG lFlags,
2104        VARIANT *pValue);
2105
2106    HRESULT (STDMETHODCALLTYPE *DeleteValue)(
2107        IWbemContext *This,
2108        LPCWSTR wszName,
2109        LONG lFlags);
2110
2111    HRESULT (STDMETHODCALLTYPE *DeleteAll)(
2112        IWbemContext *This);
2113
2114    END_INTERFACE
2115} IWbemContextVtbl;
2116
2117interface IWbemContext {
2118    CONST_VTBL IWbemContextVtbl* lpVtbl;
2119};
2120
2121#ifdef COBJMACROS
2122#ifndef WIDL_C_INLINE_WRAPPERS
2123/*** IUnknown methods ***/
2124#define IWbemContext_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2125#define IWbemContext_AddRef(This) (This)->lpVtbl->AddRef(This)
2126#define IWbemContext_Release(This) (This)->lpVtbl->Release(This)
2127/*** IWbemContext methods ***/
2128#define IWbemContext_Clone(This,ppNewCopy) (This)->lpVtbl->Clone(This,ppNewCopy)
2129#define IWbemContext_GetNames(This,lFlags,pNames) (This)->lpVtbl->GetNames(This,lFlags,pNames)
2130#define IWbemContext_BeginEnumeration(This,lFlags) (This)->lpVtbl->BeginEnumeration(This,lFlags)
2131#define IWbemContext_Next(This,lFlags,pstrName,pValue) (This)->lpVtbl->Next(This,lFlags,pstrName,pValue)
2132#define IWbemContext_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
2133#define IWbemContext_SetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->SetValue(This,wszName,lFlags,pValue)
2134#define IWbemContext_GetValue(This,wszName,lFlags,pValue) (This)->lpVtbl->GetValue(This,wszName,lFlags,pValue)
2135#define IWbemContext_DeleteValue(This,wszName,lFlags) (This)->lpVtbl->DeleteValue(This,wszName,lFlags)
2136#define IWbemContext_DeleteAll(This) (This)->lpVtbl->DeleteAll(This)
2137#else
2138/*** IUnknown methods ***/
2139static inline HRESULT IWbemContext_QueryInterface(IWbemContext* This,REFIID riid,void **ppvObject) {
2140    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2141}
2142static inline ULONG IWbemContext_AddRef(IWbemContext* This) {
2143    return This->lpVtbl->AddRef(This);
2144}
2145static inline ULONG IWbemContext_Release(IWbemContext* This) {
2146    return This->lpVtbl->Release(This);
2147}
2148/*** IWbemContext methods ***/
2149static inline HRESULT IWbemContext_Clone(IWbemContext* This,IWbemContext **ppNewCopy) {
2150    return This->lpVtbl->Clone(This,ppNewCopy);
2151}
2152static inline HRESULT IWbemContext_GetNames(IWbemContext* This,LONG lFlags,SAFEARRAY **pNames) {
2153    return This->lpVtbl->GetNames(This,lFlags,pNames);
2154}
2155static inline HRESULT IWbemContext_BeginEnumeration(IWbemContext* This,LONG lFlags) {
2156    return This->lpVtbl->BeginEnumeration(This,lFlags);
2157}
2158static inline HRESULT IWbemContext_Next(IWbemContext* This,LONG lFlags,BSTR *pstrName,VARIANT *pValue) {
2159    return This->lpVtbl->Next(This,lFlags,pstrName,pValue);
2160}
2161static inline HRESULT IWbemContext_EndEnumeration(IWbemContext* This) {
2162    return This->lpVtbl->EndEnumeration(This);
2163}
2164static inline HRESULT IWbemContext_SetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) {
2165    return This->lpVtbl->SetValue(This,wszName,lFlags,pValue);
2166}
2167static inline HRESULT IWbemContext_GetValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags,VARIANT *pValue) {
2168    return This->lpVtbl->GetValue(This,wszName,lFlags,pValue);
2169}
2170static inline HRESULT IWbemContext_DeleteValue(IWbemContext* This,LPCWSTR wszName,LONG lFlags) {
2171    return This->lpVtbl->DeleteValue(This,wszName,lFlags);
2172}
2173static inline HRESULT IWbemContext_DeleteAll(IWbemContext* This) {
2174    return This->lpVtbl->DeleteAll(This);
2175}
2176#endif
2177#endif
2178
2179#endif
2180
2181
2182#endif  /* __IWbemContext_INTERFACE_DEFINED__ */
2183
2184/*****************************************************************************
2185 * IWbemCallResult interface
2186 */
2187#ifndef __IWbemCallResult_INTERFACE_DEFINED__
2188#define __IWbemCallResult_INTERFACE_DEFINED__
2189
2190DEFINE_GUID(IID_IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2191#if defined(__cplusplus) && !defined(CINTERFACE)
2192MIDL_INTERFACE("44aca675-e8fc-11d0-a07c-00c04fb68820")
2193IWbemCallResult : public IUnknown
2194{
2195    virtual HRESULT STDMETHODCALLTYPE GetResultObject(
2196        LONG lTimeout,
2197        IWbemClassObject **ppResultObject) = 0;
2198
2199    virtual HRESULT STDMETHODCALLTYPE GetResultString(
2200        LONG lTimeout,
2201        BSTR *pstrResultString) = 0;
2202
2203    virtual HRESULT STDMETHODCALLTYPE GetResultServices(
2204        LONG lTimeout,
2205        IWbemServices **ppServices) = 0;
2206
2207    virtual HRESULT STDMETHODCALLTYPE GetCallStatus(
2208        LONG lTimeout,
2209        LONG *plStatus) = 0;
2210
2211};
2212#ifdef __CRT_UUID_DECL
2213__CRT_UUID_DECL(IWbemCallResult, 0x44aca675, 0xe8fc, 0x11d0, 0xa0,0x7c, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
2214#endif
2215#else
2216typedef struct IWbemCallResultVtbl {
2217    BEGIN_INTERFACE
2218
2219    /*** IUnknown methods ***/
2220    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2221        IWbemCallResult *This,
2222        REFIID riid,
2223        void **ppvObject);
2224
2225    ULONG (STDMETHODCALLTYPE *AddRef)(
2226        IWbemCallResult *This);
2227
2228    ULONG (STDMETHODCALLTYPE *Release)(
2229        IWbemCallResult *This);
2230
2231    /*** IWbemCallResult methods ***/
2232    HRESULT (STDMETHODCALLTYPE *GetResultObject)(
2233        IWbemCallResult *This,
2234        LONG lTimeout,
2235        IWbemClassObject **ppResultObject);
2236
2237    HRESULT (STDMETHODCALLTYPE *GetResultString)(
2238        IWbemCallResult *This,
2239        LONG lTimeout,
2240        BSTR *pstrResultString);
2241
2242    HRESULT (STDMETHODCALLTYPE *GetResultServices)(
2243        IWbemCallResult *This,
2244        LONG lTimeout,
2245        IWbemServices **ppServices);
2246
2247    HRESULT (STDMETHODCALLTYPE *GetCallStatus)(
2248        IWbemCallResult *This,
2249        LONG lTimeout,
2250        LONG *plStatus);
2251
2252    END_INTERFACE
2253} IWbemCallResultVtbl;
2254
2255interface IWbemCallResult {
2256    CONST_VTBL IWbemCallResultVtbl* lpVtbl;
2257};
2258
2259#ifdef COBJMACROS
2260#ifndef WIDL_C_INLINE_WRAPPERS
2261/*** IUnknown methods ***/
2262#define IWbemCallResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2263#define IWbemCallResult_AddRef(This) (This)->lpVtbl->AddRef(This)
2264#define IWbemCallResult_Release(This) (This)->lpVtbl->Release(This)
2265/*** IWbemCallResult methods ***/
2266#define IWbemCallResult_GetResultObject(This,lTimeout,ppResultObject) (This)->lpVtbl->GetResultObject(This,lTimeout,ppResultObject)
2267#define IWbemCallResult_GetResultString(This,lTimeout,pstrResultString) (This)->lpVtbl->GetResultString(This,lTimeout,pstrResultString)
2268#define IWbemCallResult_GetResultServices(This,lTimeout,ppServices) (This)->lpVtbl->GetResultServices(This,lTimeout,ppServices)
2269#define IWbemCallResult_GetCallStatus(This,lTimeout,plStatus) (This)->lpVtbl->GetCallStatus(This,lTimeout,plStatus)
2270#else
2271/*** IUnknown methods ***/
2272static inline HRESULT IWbemCallResult_QueryInterface(IWbemCallResult* This,REFIID riid,void **ppvObject) {
2273    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2274}
2275static inline ULONG IWbemCallResult_AddRef(IWbemCallResult* This) {
2276    return This->lpVtbl->AddRef(This);
2277}
2278static inline ULONG IWbemCallResult_Release(IWbemCallResult* This) {
2279    return This->lpVtbl->Release(This);
2280}
2281/*** IWbemCallResult methods ***/
2282static inline HRESULT IWbemCallResult_GetResultObject(IWbemCallResult* This,LONG lTimeout,IWbemClassObject **ppResultObject) {
2283    return This->lpVtbl->GetResultObject(This,lTimeout,ppResultObject);
2284}
2285static inline HRESULT IWbemCallResult_GetResultString(IWbemCallResult* This,LONG lTimeout,BSTR *pstrResultString) {
2286    return This->lpVtbl->GetResultString(This,lTimeout,pstrResultString);
2287}
2288static inline HRESULT IWbemCallResult_GetResultServices(IWbemCallResult* This,LONG lTimeout,IWbemServices **ppServices) {
2289    return This->lpVtbl->GetResultServices(This,lTimeout,ppServices);
2290}
2291static inline HRESULT IWbemCallResult_GetCallStatus(IWbemCallResult* This,LONG lTimeout,LONG *plStatus) {
2292    return This->lpVtbl->GetCallStatus(This,lTimeout,plStatus);
2293}
2294#endif
2295#endif
2296
2297#endif
2298
2299
2300#endif  /* __IWbemCallResult_INTERFACE_DEFINED__ */
2301
2302/*****************************************************************************
2303 * IWbemServices interface
2304 */
2305#ifndef __IWbemServices_INTERFACE_DEFINED__
2306#define __IWbemServices_INTERFACE_DEFINED__
2307
2308DEFINE_GUID(IID_IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7);
2309#if defined(__cplusplus) && !defined(CINTERFACE)
2310MIDL_INTERFACE("9556dc99-828c-11cf-a37e-00aa003240c7")
2311IWbemServices : public IUnknown
2312{
2313    virtual HRESULT STDMETHODCALLTYPE OpenNamespace(
2314        const BSTR strNamespace,
2315        LONG lFlags,
2316        IWbemContext *pCtx,
2317        IWbemServices **ppWorkingNamespace,
2318        IWbemCallResult **ppResult) = 0;
2319
2320    virtual HRESULT STDMETHODCALLTYPE CancelAsyncCall(
2321        IWbemObjectSink *pSink) = 0;
2322
2323    virtual HRESULT STDMETHODCALLTYPE QueryObjectSink(
2324        LONG lFlags,
2325        IWbemObjectSink **ppResponseHandler) = 0;
2326
2327    virtual HRESULT STDMETHODCALLTYPE GetObject(
2328        const BSTR strObjectPath,
2329        LONG lFlags,
2330        IWbemContext *pCtx,
2331        IWbemClassObject **ppObject,
2332        IWbemCallResult **ppCallResult) = 0;
2333
2334    virtual HRESULT STDMETHODCALLTYPE GetObjectAsync(
2335        const BSTR strObjectPath,
2336        LONG lFlags,
2337        IWbemContext *pCtx,
2338        IWbemObjectSink *pResponseHandler) = 0;
2339
2340    virtual HRESULT STDMETHODCALLTYPE PutClass(
2341        IWbemClassObject *pObject,
2342        LONG lFlags,
2343        IWbemContext *pCtx,
2344        IWbemCallResult **ppCallResult) = 0;
2345
2346    virtual HRESULT STDMETHODCALLTYPE PutClassAsync(
2347        IWbemClassObject *pObject,
2348        LONG lFlags,
2349        IWbemContext *pCtx,
2350        IWbemObjectSink *pResponseHandler) = 0;
2351
2352    virtual HRESULT STDMETHODCALLTYPE DeleteClass(
2353        const BSTR strClass,
2354        LONG lFlags,
2355        IWbemContext *pCtx,
2356        IWbemCallResult **ppCallResult) = 0;
2357
2358    virtual HRESULT STDMETHODCALLTYPE DeleteClassAsync(
2359        const BSTR strClass,
2360        LONG lFlags,
2361        IWbemContext *pCtx,
2362        IWbemObjectSink *pResponseHandler) = 0;
2363
2364    virtual HRESULT STDMETHODCALLTYPE CreateClassEnum(
2365        const BSTR strSuperclass,
2366        LONG lFlags,
2367        IWbemContext *pCtx,
2368        IEnumWbemClassObject **ppEnum) = 0;
2369
2370    virtual HRESULT STDMETHODCALLTYPE CreateClassEnumAsync(
2371        const BSTR strSuperclass,
2372        LONG lFlags,
2373        IWbemContext *pCtx,
2374        IWbemObjectSink *pResponseHandler) = 0;
2375
2376    virtual HRESULT STDMETHODCALLTYPE PutInstance(
2377        IWbemClassObject *pInst,
2378        LONG lFlags,
2379        IWbemContext *pCtx,
2380        IWbemCallResult **ppCallResult) = 0;
2381
2382    virtual HRESULT STDMETHODCALLTYPE PutInstanceAsync(
2383        IWbemClassObject *pInst,
2384        LONG lFlags,
2385        IWbemContext *pCtx,
2386        IWbemObjectSink *pResponseHandler) = 0;
2387
2388    virtual HRESULT STDMETHODCALLTYPE DeleteInstance(
2389        const BSTR strObjectPath,
2390        LONG lFlags,
2391        IWbemContext *pCtx,
2392        IWbemCallResult **ppCallResult) = 0;
2393
2394    virtual HRESULT STDMETHODCALLTYPE DeleteInstanceAsync(
2395        const BSTR strObjectPath,
2396        LONG lFlags,
2397        IWbemContext *pCtx,
2398        IWbemObjectSink *pResponseHandler) = 0;
2399
2400    virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnum(
2401        const BSTR strFilter,
2402        LONG lFlags,
2403        IWbemContext *pCtx,
2404        IEnumWbemClassObject **ppEnum) = 0;
2405
2406    virtual HRESULT STDMETHODCALLTYPE CreateInstanceEnumAsync(
2407        const BSTR strFilter,
2408        LONG lFlags,
2409        IWbemContext *pCtx,
2410        IWbemObjectSink *pResponseHandler) = 0;
2411
2412    virtual HRESULT STDMETHODCALLTYPE ExecQuery(
2413        const BSTR strQueryLanguage,
2414        const BSTR strQuery,
2415        LONG lFlags,
2416        IWbemContext *pCtx,
2417        IEnumWbemClassObject **ppEnum) = 0;
2418
2419    virtual HRESULT STDMETHODCALLTYPE ExecQueryAsync(
2420        const BSTR strQueryLanguage,
2421        const BSTR strQuery,
2422        LONG lFlags,
2423        IWbemContext *pCtx,
2424        IWbemObjectSink *pResponseHandler) = 0;
2425
2426    virtual HRESULT STDMETHODCALLTYPE ExecNotificationQuery(
2427        const BSTR strQueryLanguage,
2428        const BSTR strQuery,
2429        LONG lFlags,
2430        IWbemContext *pCtx,
2431        IEnumWbemClassObject **ppEnum) = 0;
2432
2433    virtual HRESULT STDMETHODCALLTYPE ExecNotificationQueryAsync(
2434        const BSTR strQueryLanguage,
2435        const BSTR strQuery,
2436        LONG lFlags,
2437        IWbemContext *pCtx,
2438        IWbemObjectSink *pResponseHandler) = 0;
2439
2440    virtual HRESULT STDMETHODCALLTYPE ExecMethod(
2441        const BSTR strObjectPath,
2442        const BSTR strMethodName,
2443        LONG lFlags,
2444        IWbemContext *pCtx,
2445        IWbemClassObject *pInParams,
2446        IWbemClassObject **ppOutParams,
2447        IWbemCallResult **ppCallResult) = 0;
2448
2449    virtual HRESULT STDMETHODCALLTYPE ExecMethodAsync(
2450        const BSTR strObjectPath,
2451        const BSTR strMethodName,
2452        LONG lFlags,
2453        IWbemContext *pCtx,
2454        IWbemClassObject *pInParams,
2455        IWbemObjectSink *pResponseHandler) = 0;
2456
2457};
2458#ifdef __CRT_UUID_DECL
2459__CRT_UUID_DECL(IWbemServices, 0x9556dc99, 0x828c, 0x11cf, 0xa3,0x7e, 0x00,0xaa,0x00,0x32,0x40,0xc7)
2460#endif
2461#else
2462typedef struct IWbemServicesVtbl {
2463    BEGIN_INTERFACE
2464
2465    /*** IUnknown methods ***/
2466    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2467        IWbemServices *This,
2468        REFIID riid,
2469        void **ppvObject);
2470
2471    ULONG (STDMETHODCALLTYPE *AddRef)(
2472        IWbemServices *This);
2473
2474    ULONG (STDMETHODCALLTYPE *Release)(
2475        IWbemServices *This);
2476
2477    /*** IWbemServices methods ***/
2478    HRESULT (STDMETHODCALLTYPE *OpenNamespace)(
2479        IWbemServices *This,
2480        const BSTR strNamespace,
2481        LONG lFlags,
2482        IWbemContext *pCtx,
2483        IWbemServices **ppWorkingNamespace,
2484        IWbemCallResult **ppResult);
2485
2486    HRESULT (STDMETHODCALLTYPE *CancelAsyncCall)(
2487        IWbemServices *This,
2488        IWbemObjectSink *pSink);
2489
2490    HRESULT (STDMETHODCALLTYPE *QueryObjectSink)(
2491        IWbemServices *This,
2492        LONG lFlags,
2493        IWbemObjectSink **ppResponseHandler);
2494
2495    HRESULT (STDMETHODCALLTYPE *GetObject)(
2496        IWbemServices *This,
2497        const BSTR strObjectPath,
2498        LONG lFlags,
2499        IWbemContext *pCtx,
2500        IWbemClassObject **ppObject,
2501        IWbemCallResult **ppCallResult);
2502
2503    HRESULT (STDMETHODCALLTYPE *GetObjectAsync)(
2504        IWbemServices *This,
2505        const BSTR strObjectPath,
2506        LONG lFlags,
2507        IWbemContext *pCtx,
2508        IWbemObjectSink *pResponseHandler);
2509
2510    HRESULT (STDMETHODCALLTYPE *PutClass)(
2511        IWbemServices *This,
2512        IWbemClassObject *pObject,
2513        LONG lFlags,
2514        IWbemContext *pCtx,
2515        IWbemCallResult **ppCallResult);
2516
2517    HRESULT (STDMETHODCALLTYPE *PutClassAsync)(
2518        IWbemServices *This,
2519        IWbemClassObject *pObject,
2520        LONG lFlags,
2521        IWbemContext *pCtx,
2522        IWbemObjectSink *pResponseHandler);
2523
2524    HRESULT (STDMETHODCALLTYPE *DeleteClass)(
2525        IWbemServices *This,
2526        const BSTR strClass,
2527        LONG lFlags,
2528        IWbemContext *pCtx,
2529        IWbemCallResult **ppCallResult);
2530
2531    HRESULT (STDMETHODCALLTYPE *DeleteClassAsync)(
2532        IWbemServices *This,
2533        const BSTR strClass,
2534        LONG lFlags,
2535        IWbemContext *pCtx,
2536        IWbemObjectSink *pResponseHandler);
2537
2538    HRESULT (STDMETHODCALLTYPE *CreateClassEnum)(
2539        IWbemServices *This,
2540        const BSTR strSuperclass,
2541        LONG lFlags,
2542        IWbemContext *pCtx,
2543        IEnumWbemClassObject **ppEnum);
2544
2545    HRESULT (STDMETHODCALLTYPE *CreateClassEnumAsync)(
2546        IWbemServices *This,
2547        const BSTR strSuperclass,
2548        LONG lFlags,
2549        IWbemContext *pCtx,
2550        IWbemObjectSink *pResponseHandler);
2551
2552    HRESULT (STDMETHODCALLTYPE *PutInstance)(
2553        IWbemServices *This,
2554        IWbemClassObject *pInst,
2555        LONG lFlags,
2556        IWbemContext *pCtx,
2557        IWbemCallResult **ppCallResult);
2558
2559    HRESULT (STDMETHODCALLTYPE *PutInstanceAsync)(
2560        IWbemServices *This,
2561        IWbemClassObject *pInst,
2562        LONG lFlags,
2563        IWbemContext *pCtx,
2564        IWbemObjectSink *pResponseHandler);
2565
2566    HRESULT (STDMETHODCALLTYPE *DeleteInstance)(
2567        IWbemServices *This,
2568        const BSTR strObjectPath,
2569        LONG lFlags,
2570        IWbemContext *pCtx,
2571        IWbemCallResult **ppCallResult);
2572
2573    HRESULT (STDMETHODCALLTYPE *DeleteInstanceAsync)(
2574        IWbemServices *This,
2575        const BSTR strObjectPath,
2576        LONG lFlags,
2577        IWbemContext *pCtx,
2578        IWbemObjectSink *pResponseHandler);
2579
2580    HRESULT (STDMETHODCALLTYPE *CreateInstanceEnum)(
2581        IWbemServices *This,
2582        const BSTR strFilter,
2583        LONG lFlags,
2584        IWbemContext *pCtx,
2585        IEnumWbemClassObject **ppEnum);
2586
2587    HRESULT (STDMETHODCALLTYPE *CreateInstanceEnumAsync)(
2588        IWbemServices *This,
2589        const BSTR strFilter,
2590        LONG lFlags,
2591        IWbemContext *pCtx,
2592        IWbemObjectSink *pResponseHandler);
2593
2594    HRESULT (STDMETHODCALLTYPE *ExecQuery)(
2595        IWbemServices *This,
2596        const BSTR strQueryLanguage,
2597        const BSTR strQuery,
2598        LONG lFlags,
2599        IWbemContext *pCtx,
2600        IEnumWbemClassObject **ppEnum);
2601
2602    HRESULT (STDMETHODCALLTYPE *ExecQueryAsync)(
2603        IWbemServices *This,
2604        const BSTR strQueryLanguage,
2605        const BSTR strQuery,
2606        LONG lFlags,
2607        IWbemContext *pCtx,
2608        IWbemObjectSink *pResponseHandler);
2609
2610    HRESULT (STDMETHODCALLTYPE *ExecNotificationQuery)(
2611        IWbemServices *This,
2612        const BSTR strQueryLanguage,
2613        const BSTR strQuery,
2614        LONG lFlags,
2615        IWbemContext *pCtx,
2616        IEnumWbemClassObject **ppEnum);
2617
2618    HRESULT (STDMETHODCALLTYPE *ExecNotificationQueryAsync)(
2619        IWbemServices *This,
2620        const BSTR strQueryLanguage,
2621        const BSTR strQuery,
2622        LONG lFlags,
2623        IWbemContext *pCtx,
2624        IWbemObjectSink *pResponseHandler);
2625
2626    HRESULT (STDMETHODCALLTYPE *ExecMethod)(
2627        IWbemServices *This,
2628        const BSTR strObjectPath,
2629        const BSTR strMethodName,
2630        LONG lFlags,
2631        IWbemContext *pCtx,
2632        IWbemClassObject *pInParams,
2633        IWbemClassObject **ppOutParams,
2634        IWbemCallResult **ppCallResult);
2635
2636    HRESULT (STDMETHODCALLTYPE *ExecMethodAsync)(
2637        IWbemServices *This,
2638        const BSTR strObjectPath,
2639        const BSTR strMethodName,
2640        LONG lFlags,
2641        IWbemContext *pCtx,
2642        IWbemClassObject *pInParams,
2643        IWbemObjectSink *pResponseHandler);
2644
2645    END_INTERFACE
2646} IWbemServicesVtbl;
2647
2648interface IWbemServices {
2649    CONST_VTBL IWbemServicesVtbl* lpVtbl;
2650};
2651
2652#ifdef COBJMACROS
2653#ifndef WIDL_C_INLINE_WRAPPERS
2654/*** IUnknown methods ***/
2655#define IWbemServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2656#define IWbemServices_AddRef(This) (This)->lpVtbl->AddRef(This)
2657#define IWbemServices_Release(This) (This)->lpVtbl->Release(This)
2658/*** IWbemServices methods ***/
2659#define IWbemServices_OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult) (This)->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult)
2660#define IWbemServices_CancelAsyncCall(This,pSink) (This)->lpVtbl->CancelAsyncCall(This,pSink)
2661#define IWbemServices_QueryObjectSink(This,lFlags,ppResponseHandler) (This)->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler)
2662#define IWbemServices_GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult) (This)->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult)
2663#define IWbemServices_GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
2664#define IWbemServices_PutClass(This,pObject,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult)
2665#define IWbemServices_PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler)
2666#define IWbemServices_DeleteClass(This,strClass,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult)
2667#define IWbemServices_DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler)
2668#define IWbemServices_CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum)
2669#define IWbemServices_CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler)
2670#define IWbemServices_PutInstance(This,pInst,lFlags,pCtx,ppCallResult) (This)->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult)
2671#define IWbemServices_PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler)
2672#define IWbemServices_DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult) (This)->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult)
2673#define IWbemServices_DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler)
2674#define IWbemServices_CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum) (This)->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum)
2675#define IWbemServices_CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler)
2676#define IWbemServices_ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
2677#define IWbemServices_ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
2678#define IWbemServices_ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum) (This)->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum)
2679#define IWbemServices_ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler) (This)->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler)
2680#define IWbemServices_ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult) (This)->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult)
2681#define IWbemServices_ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler) (This)->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler)
2682#else
2683/*** IUnknown methods ***/
2684static inline HRESULT IWbemServices_QueryInterface(IWbemServices* This,REFIID riid,void **ppvObject) {
2685    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2686}
2687static inline ULONG IWbemServices_AddRef(IWbemServices* This) {
2688    return This->lpVtbl->AddRef(This);
2689}
2690static inline ULONG IWbemServices_Release(IWbemServices* This) {
2691    return This->lpVtbl->Release(This);
2692}
2693/*** IWbemServices methods ***/
2694static inline HRESULT IWbemServices_OpenNamespace(IWbemServices* This,const BSTR strNamespace,LONG lFlags,IWbemContext *pCtx,IWbemServices **ppWorkingNamespace,IWbemCallResult **ppResult) {
2695    return This->lpVtbl->OpenNamespace(This,strNamespace,lFlags,pCtx,ppWorkingNamespace,ppResult);
2696}
2697static inline HRESULT IWbemServices_CancelAsyncCall(IWbemServices* This,IWbemObjectSink *pSink) {
2698    return This->lpVtbl->CancelAsyncCall(This,pSink);
2699}
2700static inline HRESULT IWbemServices_QueryObjectSink(IWbemServices* This,LONG lFlags,IWbemObjectSink **ppResponseHandler) {
2701    return This->lpVtbl->QueryObjectSink(This,lFlags,ppResponseHandler);
2702}
2703static inline HRESULT IWbemServices_GetObject(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemClassObject **ppObject,IWbemCallResult **ppCallResult) {
2704    return This->lpVtbl->GetObject(This,strObjectPath,lFlags,pCtx,ppObject,ppCallResult);
2705}
2706static inline HRESULT IWbemServices_GetObjectAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2707    return This->lpVtbl->GetObjectAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler);
2708}
2709static inline HRESULT IWbemServices_PutClass(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2710    return This->lpVtbl->PutClass(This,pObject,lFlags,pCtx,ppCallResult);
2711}
2712static inline HRESULT IWbemServices_PutClassAsync(IWbemServices* This,IWbemClassObject *pObject,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2713    return This->lpVtbl->PutClassAsync(This,pObject,lFlags,pCtx,pResponseHandler);
2714}
2715static inline HRESULT IWbemServices_DeleteClass(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2716    return This->lpVtbl->DeleteClass(This,strClass,lFlags,pCtx,ppCallResult);
2717}
2718static inline HRESULT IWbemServices_DeleteClassAsync(IWbemServices* This,const BSTR strClass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2719    return This->lpVtbl->DeleteClassAsync(This,strClass,lFlags,pCtx,pResponseHandler);
2720}
2721static inline HRESULT IWbemServices_CreateClassEnum(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2722    return This->lpVtbl->CreateClassEnum(This,strSuperclass,lFlags,pCtx,ppEnum);
2723}
2724static inline HRESULT IWbemServices_CreateClassEnumAsync(IWbemServices* This,const BSTR strSuperclass,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2725    return This->lpVtbl->CreateClassEnumAsync(This,strSuperclass,lFlags,pCtx,pResponseHandler);
2726}
2727static inline HRESULT IWbemServices_PutInstance(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2728    return This->lpVtbl->PutInstance(This,pInst,lFlags,pCtx,ppCallResult);
2729}
2730static inline HRESULT IWbemServices_PutInstanceAsync(IWbemServices* This,IWbemClassObject *pInst,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2731    return This->lpVtbl->PutInstanceAsync(This,pInst,lFlags,pCtx,pResponseHandler);
2732}
2733static inline HRESULT IWbemServices_DeleteInstance(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemCallResult **ppCallResult) {
2734    return This->lpVtbl->DeleteInstance(This,strObjectPath,lFlags,pCtx,ppCallResult);
2735}
2736static inline HRESULT IWbemServices_DeleteInstanceAsync(IWbemServices* This,const BSTR strObjectPath,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2737    return This->lpVtbl->DeleteInstanceAsync(This,strObjectPath,lFlags,pCtx,pResponseHandler);
2738}
2739static inline HRESULT IWbemServices_CreateInstanceEnum(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2740    return This->lpVtbl->CreateInstanceEnum(This,strFilter,lFlags,pCtx,ppEnum);
2741}
2742static inline HRESULT IWbemServices_CreateInstanceEnumAsync(IWbemServices* This,const BSTR strFilter,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2743    return This->lpVtbl->CreateInstanceEnumAsync(This,strFilter,lFlags,pCtx,pResponseHandler);
2744}
2745static inline HRESULT IWbemServices_ExecQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2746    return This->lpVtbl->ExecQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum);
2747}
2748static inline HRESULT IWbemServices_ExecQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2749    return This->lpVtbl->ExecQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler);
2750}
2751static inline HRESULT IWbemServices_ExecNotificationQuery(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IEnumWbemClassObject **ppEnum) {
2752    return This->lpVtbl->ExecNotificationQuery(This,strQueryLanguage,strQuery,lFlags,pCtx,ppEnum);
2753}
2754static inline HRESULT IWbemServices_ExecNotificationQueryAsync(IWbemServices* This,const BSTR strQueryLanguage,const BSTR strQuery,LONG lFlags,IWbemContext *pCtx,IWbemObjectSink *pResponseHandler) {
2755    return This->lpVtbl->ExecNotificationQueryAsync(This,strQueryLanguage,strQuery,lFlags,pCtx,pResponseHandler);
2756}
2757static inline HRESULT IWbemServices_ExecMethod(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemClassObject **ppOutParams,IWbemCallResult **ppCallResult) {
2758    return This->lpVtbl->ExecMethod(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,ppOutParams,ppCallResult);
2759}
2760static inline HRESULT IWbemServices_ExecMethodAsync(IWbemServices* This,const BSTR strObjectPath,const BSTR strMethodName,LONG lFlags,IWbemContext *pCtx,IWbemClassObject *pInParams,IWbemObjectSink *pResponseHandler) {
2761    return This->lpVtbl->ExecMethodAsync(This,strObjectPath,strMethodName,lFlags,pCtx,pInParams,pResponseHandler);
2762}
2763#endif
2764#endif
2765
2766#endif
2767
2768
2769#endif  /* __IWbemServices_INTERFACE_DEFINED__ */
2770
2771/*****************************************************************************
2772 * IWbemShutdown interface
2773 */
2774#ifndef __IWbemShutdown_INTERFACE_DEFINED__
2775#define __IWbemShutdown_INTERFACE_DEFINED__
2776
2777DEFINE_GUID(IID_IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a);
2778#if defined(__cplusplus) && !defined(CINTERFACE)
2779MIDL_INTERFACE("b7b31df9-d515-11d3-a11c-00105a1f515a")
2780IWbemShutdown : public IUnknown
2781{
2782    virtual HRESULT STDMETHODCALLTYPE Shutdown(
2783        LONG uReason,
2784        ULONG uMaxMilliseconds,
2785        IWbemContext *pCtx) = 0;
2786
2787};
2788#ifdef __CRT_UUID_DECL
2789__CRT_UUID_DECL(IWbemShutdown, 0xb7b31df9, 0xd515, 0x11d3, 0xa1,0x1c, 0x00,0x10,0x5a,0x1f,0x51,0x5a)
2790#endif
2791#else
2792typedef struct IWbemShutdownVtbl {
2793    BEGIN_INTERFACE
2794
2795    /*** IUnknown methods ***/
2796    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2797        IWbemShutdown *This,
2798        REFIID riid,
2799        void **ppvObject);
2800
2801    ULONG (STDMETHODCALLTYPE *AddRef)(
2802        IWbemShutdown *This);
2803
2804    ULONG (STDMETHODCALLTYPE *Release)(
2805        IWbemShutdown *This);
2806
2807    /*** IWbemShutdown methods ***/
2808    HRESULT (STDMETHODCALLTYPE *Shutdown)(
2809        IWbemShutdown *This,
2810        LONG uReason,
2811        ULONG uMaxMilliseconds,
2812        IWbemContext *pCtx);
2813
2814    END_INTERFACE
2815} IWbemShutdownVtbl;
2816
2817interface IWbemShutdown {
2818    CONST_VTBL IWbemShutdownVtbl* lpVtbl;
2819};
2820
2821#ifdef COBJMACROS
2822#ifndef WIDL_C_INLINE_WRAPPERS
2823/*** IUnknown methods ***/
2824#define IWbemShutdown_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2825#define IWbemShutdown_AddRef(This) (This)->lpVtbl->AddRef(This)
2826#define IWbemShutdown_Release(This) (This)->lpVtbl->Release(This)
2827/*** IWbemShutdown methods ***/
2828#define IWbemShutdown_Shutdown(This,uReason,uMaxMilliseconds,pCtx) (This)->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx)
2829#else
2830/*** IUnknown methods ***/
2831static inline HRESULT IWbemShutdown_QueryInterface(IWbemShutdown* This,REFIID riid,void **ppvObject) {
2832    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2833}
2834static inline ULONG IWbemShutdown_AddRef(IWbemShutdown* This) {
2835    return This->lpVtbl->AddRef(This);
2836}
2837static inline ULONG IWbemShutdown_Release(IWbemShutdown* This) {
2838    return This->lpVtbl->Release(This);
2839}
2840/*** IWbemShutdown methods ***/
2841static inline HRESULT IWbemShutdown_Shutdown(IWbemShutdown* This,LONG uReason,ULONG uMaxMilliseconds,IWbemContext *pCtx) {
2842    return This->lpVtbl->Shutdown(This,uReason,uMaxMilliseconds,pCtx);
2843}
2844#endif
2845#endif
2846
2847#endif
2848
2849
2850#endif  /* __IWbemShutdown_INTERFACE_DEFINED__ */
2851
2852/*****************************************************************************
2853 * IWbemObjectTextSrc interface
2854 */
2855#ifndef __IWbemObjectTextSrc_INTERFACE_DEFINED__
2856#define __IWbemObjectTextSrc_INTERFACE_DEFINED__
2857
2858DEFINE_GUID(IID_IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a);
2859#if defined(__cplusplus) && !defined(CINTERFACE)
2860MIDL_INTERFACE("bfbf883a-cad7-11d3-a11b-00105a1f515a")
2861IWbemObjectTextSrc : public IUnknown
2862{
2863    virtual HRESULT STDMETHODCALLTYPE GetText(
2864        LONG lFlags,
2865        IWbemClassObject *pObj,
2866        ULONG uObjTextFormat,
2867        IWbemContext *pCtx,
2868        BSTR *strText) = 0;
2869
2870    virtual HRESULT STDMETHODCALLTYPE CreateFromText(
2871        LONG lFlags,
2872        BSTR strText,
2873        ULONG uObjTextFormat,
2874        IWbemContext *pCtx,
2875        IWbemClassObject **pNewObj) = 0;
2876
2877};
2878#ifdef __CRT_UUID_DECL
2879__CRT_UUID_DECL(IWbemObjectTextSrc, 0xbfbf883a, 0xcad7, 0x11d3, 0xa1,0x1b, 0x00,0x10,0x5a,0x1f,0x51,0x5a)
2880#endif
2881#else
2882typedef struct IWbemObjectTextSrcVtbl {
2883    BEGIN_INTERFACE
2884
2885    /*** IUnknown methods ***/
2886    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
2887        IWbemObjectTextSrc *This,
2888        REFIID riid,
2889        void **ppvObject);
2890
2891    ULONG (STDMETHODCALLTYPE *AddRef)(
2892        IWbemObjectTextSrc *This);
2893
2894    ULONG (STDMETHODCALLTYPE *Release)(
2895        IWbemObjectTextSrc *This);
2896
2897    /*** IWbemObjectTextSrc methods ***/
2898    HRESULT (STDMETHODCALLTYPE *GetText)(
2899        IWbemObjectTextSrc *This,
2900        LONG lFlags,
2901        IWbemClassObject *pObj,
2902        ULONG uObjTextFormat,
2903        IWbemContext *pCtx,
2904        BSTR *strText);
2905
2906    HRESULT (STDMETHODCALLTYPE *CreateFromText)(
2907        IWbemObjectTextSrc *This,
2908        LONG lFlags,
2909        BSTR strText,
2910        ULONG uObjTextFormat,
2911        IWbemContext *pCtx,
2912        IWbemClassObject **pNewObj);
2913
2914    END_INTERFACE
2915} IWbemObjectTextSrcVtbl;
2916
2917interface IWbemObjectTextSrc {
2918    CONST_VTBL IWbemObjectTextSrcVtbl* lpVtbl;
2919};
2920
2921#ifdef COBJMACROS
2922#ifndef WIDL_C_INLINE_WRAPPERS
2923/*** IUnknown methods ***/
2924#define IWbemObjectTextSrc_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
2925#define IWbemObjectTextSrc_AddRef(This) (This)->lpVtbl->AddRef(This)
2926#define IWbemObjectTextSrc_Release(This) (This)->lpVtbl->Release(This)
2927/*** IWbemObjectTextSrc methods ***/
2928#define IWbemObjectTextSrc_GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText) (This)->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText)
2929#define IWbemObjectTextSrc_CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj) (This)->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj)
2930#else
2931/*** IUnknown methods ***/
2932static inline HRESULT IWbemObjectTextSrc_QueryInterface(IWbemObjectTextSrc* This,REFIID riid,void **ppvObject) {
2933    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
2934}
2935static inline ULONG IWbemObjectTextSrc_AddRef(IWbemObjectTextSrc* This) {
2936    return This->lpVtbl->AddRef(This);
2937}
2938static inline ULONG IWbemObjectTextSrc_Release(IWbemObjectTextSrc* This) {
2939    return This->lpVtbl->Release(This);
2940}
2941/*** IWbemObjectTextSrc methods ***/
2942static inline HRESULT IWbemObjectTextSrc_GetText(IWbemObjectTextSrc* This,LONG lFlags,IWbemClassObject *pObj,ULONG uObjTextFormat,IWbemContext *pCtx,BSTR *strText) {
2943    return This->lpVtbl->GetText(This,lFlags,pObj,uObjTextFormat,pCtx,strText);
2944}
2945static inline HRESULT IWbemObjectTextSrc_CreateFromText(IWbemObjectTextSrc* This,LONG lFlags,BSTR strText,ULONG uObjTextFormat,IWbemContext *pCtx,IWbemClassObject **pNewObj) {
2946    return This->lpVtbl->CreateFromText(This,lFlags,strText,uObjTextFormat,pCtx,pNewObj);
2947}
2948#endif
2949#endif
2950
2951#endif
2952
2953
2954#endif  /* __IWbemObjectTextSrc_INTERFACE_DEFINED__ */
2955
2956/*****************************************************************************
2957 * IWbemObjectAccess interface
2958 */
2959#ifndef __IWbemObjectAccess_INTERFACE_DEFINED__
2960#define __IWbemObjectAccess_INTERFACE_DEFINED__
2961
2962DEFINE_GUID(IID_IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
2963#if defined(__cplusplus) && !defined(CINTERFACE)
2964MIDL_INTERFACE("49353c9a-516b-11d1-aea6-00c04fb68820")
2965IWbemObjectAccess : public IWbemClassObject
2966{
2967    virtual HRESULT STDMETHODCALLTYPE GetPropertyHandle(
2968        LPCWSTR wszPropertyName,
2969        CIMTYPE *pType,
2970        LONG *plHandle) = 0;
2971
2972    virtual HRESULT STDMETHODCALLTYPE WritePropertyValue(
2973        LONG lHandle,
2974        LONG lNumBytes,
2975        const byte *aData) = 0;
2976
2977    virtual HRESULT STDMETHODCALLTYPE ReadPropertyValue(
2978        LONG lHandle,
2979        LONG lBufferSize,
2980        LONG *plNumBytes,
2981        byte *aData) = 0;
2982
2983    virtual HRESULT STDMETHODCALLTYPE ReadDWORD(
2984        LONG lHandle,
2985        DWORD *pdw) = 0;
2986
2987    virtual HRESULT STDMETHODCALLTYPE WriteDWORD(
2988        LONG lHandle,
2989        DWORD dw) = 0;
2990
2991    virtual HRESULT STDMETHODCALLTYPE ReadQWORD(
2992        LONG lHandle,
2993        UINT64 *pqw) = 0;
2994
2995    virtual HRESULT STDMETHODCALLTYPE WriteQWORD(
2996        LONG lHandle,
2997        UINT64 pw) = 0;
2998
2999    virtual HRESULT STDMETHODCALLTYPE GetPropertyInfoByHandle(
3000        LONG lHandle,
3001        BSTR *pstrName,
3002        CIMTYPE *pType) = 0;
3003
3004    virtual HRESULT STDMETHODCALLTYPE Lock(
3005        LONG lFlags) = 0;
3006
3007    virtual HRESULT STDMETHODCALLTYPE Unlock(
3008        LONG lFlags) = 0;
3009
3010};
3011#ifdef __CRT_UUID_DECL
3012__CRT_UUID_DECL(IWbemObjectAccess, 0x49353c9a, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3013#endif
3014#else
3015typedef struct IWbemObjectAccessVtbl {
3016    BEGIN_INTERFACE
3017
3018    /*** IUnknown methods ***/
3019    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3020        IWbemObjectAccess *This,
3021        REFIID riid,
3022        void **ppvObject);
3023
3024    ULONG (STDMETHODCALLTYPE *AddRef)(
3025        IWbemObjectAccess *This);
3026
3027    ULONG (STDMETHODCALLTYPE *Release)(
3028        IWbemObjectAccess *This);
3029
3030    /*** IWbemClassObject methods ***/
3031    HRESULT (STDMETHODCALLTYPE *GetQualifierSet)(
3032        IWbemObjectAccess *This,
3033        IWbemQualifierSet **ppQualSet);
3034
3035    HRESULT (STDMETHODCALLTYPE *Get)(
3036        IWbemObjectAccess *This,
3037        LPCWSTR wszName,
3038        LONG lFlags,
3039        VARIANT *pVal,
3040        CIMTYPE *pType,
3041        LONG *plFlavor);
3042
3043    HRESULT (STDMETHODCALLTYPE *Put)(
3044        IWbemObjectAccess *This,
3045        LPCWSTR wszName,
3046        LONG lFlags,
3047        VARIANT *pVal,
3048        CIMTYPE Type);
3049
3050    HRESULT (STDMETHODCALLTYPE *Delete)(
3051        IWbemObjectAccess *This,
3052        LPCWSTR wszName);
3053
3054    HRESULT (STDMETHODCALLTYPE *GetNames)(
3055        IWbemObjectAccess *This,
3056        LPCWSTR wszQualifierName,
3057        LONG lFlags,
3058        VARIANT *pQualifierVal,
3059        SAFEARRAY **pNames);
3060
3061    HRESULT (STDMETHODCALLTYPE *BeginEnumeration)(
3062        IWbemObjectAccess *This,
3063        LONG lEnumFlags);
3064
3065    HRESULT (STDMETHODCALLTYPE *Next)(
3066        IWbemObjectAccess *This,
3067        LONG lFlags,
3068        BSTR *strName,
3069        VARIANT *pVal,
3070        CIMTYPE *pType,
3071        LONG *plFlavor);
3072
3073    HRESULT (STDMETHODCALLTYPE *EndEnumeration)(
3074        IWbemObjectAccess *This);
3075
3076    HRESULT (STDMETHODCALLTYPE *GetPropertyQualifierSet)(
3077        IWbemObjectAccess *This,
3078        LPCWSTR wszProperty,
3079        IWbemQualifierSet **ppQualSet);
3080
3081    HRESULT (STDMETHODCALLTYPE *Clone)(
3082        IWbemObjectAccess *This,
3083        IWbemClassObject **ppCopy);
3084
3085    HRESULT (STDMETHODCALLTYPE *GetObjectText)(
3086        IWbemObjectAccess *This,
3087        LONG lFlags,
3088        BSTR *pstrObjectText);
3089
3090    HRESULT (STDMETHODCALLTYPE *SpawnDerivedClass)(
3091        IWbemObjectAccess *This,
3092        LONG lFlags,
3093        IWbemClassObject **ppNewClass);
3094
3095    HRESULT (STDMETHODCALLTYPE *SpawnInstance)(
3096        IWbemObjectAccess *This,
3097        LONG lFlags,
3098        IWbemClassObject **ppNewInstance);
3099
3100    HRESULT (STDMETHODCALLTYPE *CompareTo)(
3101        IWbemObjectAccess *This,
3102        LONG lFlags,
3103        IWbemClassObject *pCompareTo);
3104
3105    HRESULT (STDMETHODCALLTYPE *GetPropertyOrigin)(
3106        IWbemObjectAccess *This,
3107        LPCWSTR wszName,
3108        BSTR *pstrClassName);
3109
3110    HRESULT (STDMETHODCALLTYPE *InheritsFrom)(
3111        IWbemObjectAccess *This,
3112        LPCWSTR strAncestor);
3113
3114    HRESULT (STDMETHODCALLTYPE *GetMethod)(
3115        IWbemObjectAccess *This,
3116        LPCWSTR wszName,
3117        LONG lFlags,
3118        IWbemClassObject **ppInSignature,
3119        IWbemClassObject **ppOutSignature);
3120
3121    HRESULT (STDMETHODCALLTYPE *PutMethod)(
3122        IWbemObjectAccess *This,
3123        LPCWSTR wszName,
3124        LONG lFlags,
3125        IWbemClassObject *pInSignature,
3126        IWbemClassObject *pOutSignature);
3127
3128    HRESULT (STDMETHODCALLTYPE *DeleteMethod)(
3129        IWbemObjectAccess *This,
3130        LPCWSTR wszName);
3131
3132    HRESULT (STDMETHODCALLTYPE *BeginMethodEnumeration)(
3133        IWbemObjectAccess *This,
3134        LONG lEnumFlags);
3135
3136    HRESULT (STDMETHODCALLTYPE *NextMethod)(
3137        IWbemObjectAccess *This,
3138        LONG lFlags,
3139        BSTR *pstrName,
3140        IWbemClassObject **ppInSignature,
3141        IWbemClassObject **ppOutSignature);
3142
3143    HRESULT (STDMETHODCALLTYPE *EndMethodEnumeration)(
3144        IWbemObjectAccess *This);
3145
3146    HRESULT (STDMETHODCALLTYPE *GetMethodQualifierSet)(
3147        IWbemObjectAccess *This,
3148        LPCWSTR wszMethod,
3149        IWbemQualifierSet **ppQualSet);
3150
3151    HRESULT (STDMETHODCALLTYPE *GetMethodOrigin)(
3152        IWbemObjectAccess *This,
3153        LPCWSTR wszMethodName,
3154        BSTR *pstrClassName);
3155
3156    /*** IWbemObjectAccess methods ***/
3157    HRESULT (STDMETHODCALLTYPE *GetPropertyHandle)(
3158        IWbemObjectAccess *This,
3159        LPCWSTR wszPropertyName,
3160        CIMTYPE *pType,
3161        LONG *plHandle);
3162
3163    HRESULT (STDMETHODCALLTYPE *WritePropertyValue)(
3164        IWbemObjectAccess *This,
3165        LONG lHandle,
3166        LONG lNumBytes,
3167        const byte *aData);
3168
3169    HRESULT (STDMETHODCALLTYPE *ReadPropertyValue)(
3170        IWbemObjectAccess *This,
3171        LONG lHandle,
3172        LONG lBufferSize,
3173        LONG *plNumBytes,
3174        byte *aData);
3175
3176    HRESULT (STDMETHODCALLTYPE *ReadDWORD)(
3177        IWbemObjectAccess *This,
3178        LONG lHandle,
3179        DWORD *pdw);
3180
3181    HRESULT (STDMETHODCALLTYPE *WriteDWORD)(
3182        IWbemObjectAccess *This,
3183        LONG lHandle,
3184        DWORD dw);
3185
3186    HRESULT (STDMETHODCALLTYPE *ReadQWORD)(
3187        IWbemObjectAccess *This,
3188        LONG lHandle,
3189        UINT64 *pqw);
3190
3191    HRESULT (STDMETHODCALLTYPE *WriteQWORD)(
3192        IWbemObjectAccess *This,
3193        LONG lHandle,
3194        UINT64 pw);
3195
3196    HRESULT (STDMETHODCALLTYPE *GetPropertyInfoByHandle)(
3197        IWbemObjectAccess *This,
3198        LONG lHandle,
3199        BSTR *pstrName,
3200        CIMTYPE *pType);
3201
3202    HRESULT (STDMETHODCALLTYPE *Lock)(
3203        IWbemObjectAccess *This,
3204        LONG lFlags);
3205
3206    HRESULT (STDMETHODCALLTYPE *Unlock)(
3207        IWbemObjectAccess *This,
3208        LONG lFlags);
3209
3210    END_INTERFACE
3211} IWbemObjectAccessVtbl;
3212
3213interface IWbemObjectAccess {
3214    CONST_VTBL IWbemObjectAccessVtbl* lpVtbl;
3215};
3216
3217#ifdef COBJMACROS
3218#ifndef WIDL_C_INLINE_WRAPPERS
3219/*** IUnknown methods ***/
3220#define IWbemObjectAccess_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3221#define IWbemObjectAccess_AddRef(This) (This)->lpVtbl->AddRef(This)
3222#define IWbemObjectAccess_Release(This) (This)->lpVtbl->Release(This)
3223/*** IWbemClassObject methods ***/
3224#define IWbemObjectAccess_GetQualifierSet(This,ppQualSet) (This)->lpVtbl->GetQualifierSet(This,ppQualSet)
3225#define IWbemObjectAccess_Get(This,wszName,lFlags,pVal,pType,plFlavor) (This)->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor)
3226#define IWbemObjectAccess_Put(This,wszName,lFlags,pVal,Type) (This)->lpVtbl->Put(This,wszName,lFlags,pVal,Type)
3227#define IWbemObjectAccess_Delete(This,wszName) (This)->lpVtbl->Delete(This,wszName)
3228#define IWbemObjectAccess_GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames) (This)->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames)
3229#define IWbemObjectAccess_BeginEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginEnumeration(This,lEnumFlags)
3230#define IWbemObjectAccess_Next(This,lFlags,strName,pVal,pType,plFlavor) (This)->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor)
3231#define IWbemObjectAccess_EndEnumeration(This) (This)->lpVtbl->EndEnumeration(This)
3232#define IWbemObjectAccess_GetPropertyQualifierSet(This,wszProperty,ppQualSet) (This)->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet)
3233#define IWbemObjectAccess_Clone(This,ppCopy) (This)->lpVtbl->Clone(This,ppCopy)
3234#define IWbemObjectAccess_GetObjectText(This,lFlags,pstrObjectText) (This)->lpVtbl->GetObjectText(This,lFlags,pstrObjectText)
3235#define IWbemObjectAccess_SpawnDerivedClass(This,lFlags,ppNewClass) (This)->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass)
3236#define IWbemObjectAccess_SpawnInstance(This,lFlags,ppNewInstance) (This)->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance)
3237#define IWbemObjectAccess_CompareTo(This,lFlags,pCompareTo) (This)->lpVtbl->CompareTo(This,lFlags,pCompareTo)
3238#define IWbemObjectAccess_GetPropertyOrigin(This,wszName,pstrClassName) (This)->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName)
3239#define IWbemObjectAccess_InheritsFrom(This,strAncestor) (This)->lpVtbl->InheritsFrom(This,strAncestor)
3240#define IWbemObjectAccess_GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature) (This)->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature)
3241#define IWbemObjectAccess_PutMethod(This,wszName,lFlags,pInSignature,pOutSignature) (This)->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature)
3242#define IWbemObjectAccess_DeleteMethod(This,wszName) (This)->lpVtbl->DeleteMethod(This,wszName)
3243#define IWbemObjectAccess_BeginMethodEnumeration(This,lEnumFlags) (This)->lpVtbl->BeginMethodEnumeration(This,lEnumFlags)
3244#define IWbemObjectAccess_NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature) (This)->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature)
3245#define IWbemObjectAccess_EndMethodEnumeration(This) (This)->lpVtbl->EndMethodEnumeration(This)
3246#define IWbemObjectAccess_GetMethodQualifierSet(This,wszMethod,ppQualSet) (This)->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet)
3247#define IWbemObjectAccess_GetMethodOrigin(This,wszMethodName,pstrClassName) (This)->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName)
3248/*** IWbemObjectAccess methods ***/
3249#define IWbemObjectAccess_GetPropertyHandle(This,wszPropertyName,pType,plHandle) (This)->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle)
3250#define IWbemObjectAccess_WritePropertyValue(This,lHandle,lNumBytes,aData) (This)->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData)
3251#define IWbemObjectAccess_ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData) (This)->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData)
3252#define IWbemObjectAccess_ReadDWORD(This,lHandle,pdw) (This)->lpVtbl->ReadDWORD(This,lHandle,pdw)
3253#define IWbemObjectAccess_WriteDWORD(This,lHandle,dw) (This)->lpVtbl->WriteDWORD(This,lHandle,dw)
3254#define IWbemObjectAccess_ReadQWORD(This,lHandle,pqw) (This)->lpVtbl->ReadQWORD(This,lHandle,pqw)
3255#define IWbemObjectAccess_WriteQWORD(This,lHandle,pw) (This)->lpVtbl->WriteQWORD(This,lHandle,pw)
3256#define IWbemObjectAccess_GetPropertyInfoByHandle(This,lHandle,pstrName,pType) (This)->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType)
3257#define IWbemObjectAccess_Lock(This,lFlags) (This)->lpVtbl->Lock(This,lFlags)
3258#define IWbemObjectAccess_Unlock(This,lFlags) (This)->lpVtbl->Unlock(This,lFlags)
3259#else
3260/*** IUnknown methods ***/
3261static inline HRESULT IWbemObjectAccess_QueryInterface(IWbemObjectAccess* This,REFIID riid,void **ppvObject) {
3262    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3263}
3264static inline ULONG IWbemObjectAccess_AddRef(IWbemObjectAccess* This) {
3265    return This->lpVtbl->AddRef(This);
3266}
3267static inline ULONG IWbemObjectAccess_Release(IWbemObjectAccess* This) {
3268    return This->lpVtbl->Release(This);
3269}
3270/*** IWbemClassObject methods ***/
3271static inline HRESULT IWbemObjectAccess_GetQualifierSet(IWbemObjectAccess* This,IWbemQualifierSet **ppQualSet) {
3272    return This->lpVtbl->GetQualifierSet(This,ppQualSet);
3273}
3274static inline HRESULT IWbemObjectAccess_Get(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
3275    return This->lpVtbl->Get(This,wszName,lFlags,pVal,pType,plFlavor);
3276}
3277static inline HRESULT IWbemObjectAccess_Put(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,VARIANT *pVal,CIMTYPE Type) {
3278    return This->lpVtbl->Put(This,wszName,lFlags,pVal,Type);
3279}
3280static inline HRESULT IWbemObjectAccess_Delete(IWbemObjectAccess* This,LPCWSTR wszName) {
3281    return This->lpVtbl->Delete(This,wszName);
3282}
3283static inline HRESULT IWbemObjectAccess_GetNames(IWbemObjectAccess* This,LPCWSTR wszQualifierName,LONG lFlags,VARIANT *pQualifierVal,SAFEARRAY **pNames) {
3284    return This->lpVtbl->GetNames(This,wszQualifierName,lFlags,pQualifierVal,pNames);
3285}
3286static inline HRESULT IWbemObjectAccess_BeginEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) {
3287    return This->lpVtbl->BeginEnumeration(This,lEnumFlags);
3288}
3289static inline HRESULT IWbemObjectAccess_Next(IWbemObjectAccess* This,LONG lFlags,BSTR *strName,VARIANT *pVal,CIMTYPE *pType,LONG *plFlavor) {
3290    return This->lpVtbl->Next(This,lFlags,strName,pVal,pType,plFlavor);
3291}
3292static inline HRESULT IWbemObjectAccess_EndEnumeration(IWbemObjectAccess* This) {
3293    return This->lpVtbl->EndEnumeration(This);
3294}
3295static inline HRESULT IWbemObjectAccess_GetPropertyQualifierSet(IWbemObjectAccess* This,LPCWSTR wszProperty,IWbemQualifierSet **ppQualSet) {
3296    return This->lpVtbl->GetPropertyQualifierSet(This,wszProperty,ppQualSet);
3297}
3298static inline HRESULT IWbemObjectAccess_Clone(IWbemObjectAccess* This,IWbemClassObject **ppCopy) {
3299    return This->lpVtbl->Clone(This,ppCopy);
3300}
3301static inline HRESULT IWbemObjectAccess_GetObjectText(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrObjectText) {
3302    return This->lpVtbl->GetObjectText(This,lFlags,pstrObjectText);
3303}
3304static inline HRESULT IWbemObjectAccess_SpawnDerivedClass(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewClass) {
3305    return This->lpVtbl->SpawnDerivedClass(This,lFlags,ppNewClass);
3306}
3307static inline HRESULT IWbemObjectAccess_SpawnInstance(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject **ppNewInstance) {
3308    return This->lpVtbl->SpawnInstance(This,lFlags,ppNewInstance);
3309}
3310static inline HRESULT IWbemObjectAccess_CompareTo(IWbemObjectAccess* This,LONG lFlags,IWbemClassObject *pCompareTo) {
3311    return This->lpVtbl->CompareTo(This,lFlags,pCompareTo);
3312}
3313static inline HRESULT IWbemObjectAccess_GetPropertyOrigin(IWbemObjectAccess* This,LPCWSTR wszName,BSTR *pstrClassName) {
3314    return This->lpVtbl->GetPropertyOrigin(This,wszName,pstrClassName);
3315}
3316static inline HRESULT IWbemObjectAccess_InheritsFrom(IWbemObjectAccess* This,LPCWSTR strAncestor) {
3317    return This->lpVtbl->InheritsFrom(This,strAncestor);
3318}
3319static inline HRESULT IWbemObjectAccess_GetMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
3320    return This->lpVtbl->GetMethod(This,wszName,lFlags,ppInSignature,ppOutSignature);
3321}
3322static inline HRESULT IWbemObjectAccess_PutMethod(IWbemObjectAccess* This,LPCWSTR wszName,LONG lFlags,IWbemClassObject *pInSignature,IWbemClassObject *pOutSignature) {
3323    return This->lpVtbl->PutMethod(This,wszName,lFlags,pInSignature,pOutSignature);
3324}
3325static inline HRESULT IWbemObjectAccess_DeleteMethod(IWbemObjectAccess* This,LPCWSTR wszName) {
3326    return This->lpVtbl->DeleteMethod(This,wszName);
3327}
3328static inline HRESULT IWbemObjectAccess_BeginMethodEnumeration(IWbemObjectAccess* This,LONG lEnumFlags) {
3329    return This->lpVtbl->BeginMethodEnumeration(This,lEnumFlags);
3330}
3331static inline HRESULT IWbemObjectAccess_NextMethod(IWbemObjectAccess* This,LONG lFlags,BSTR *pstrName,IWbemClassObject **ppInSignature,IWbemClassObject **ppOutSignature) {
3332    return This->lpVtbl->NextMethod(This,lFlags,pstrName,ppInSignature,ppOutSignature);
3333}
3334static inline HRESULT IWbemObjectAccess_EndMethodEnumeration(IWbemObjectAccess* This) {
3335    return This->lpVtbl->EndMethodEnumeration(This);
3336}
3337static inline HRESULT IWbemObjectAccess_GetMethodQualifierSet(IWbemObjectAccess* This,LPCWSTR wszMethod,IWbemQualifierSet **ppQualSet) {
3338    return This->lpVtbl->GetMethodQualifierSet(This,wszMethod,ppQualSet);
3339}
3340static inline HRESULT IWbemObjectAccess_GetMethodOrigin(IWbemObjectAccess* This,LPCWSTR wszMethodName,BSTR *pstrClassName) {
3341    return This->lpVtbl->GetMethodOrigin(This,wszMethodName,pstrClassName);
3342}
3343/*** IWbemObjectAccess methods ***/
3344static inline HRESULT IWbemObjectAccess_GetPropertyHandle(IWbemObjectAccess* This,LPCWSTR wszPropertyName,CIMTYPE *pType,LONG *plHandle) {
3345    return This->lpVtbl->GetPropertyHandle(This,wszPropertyName,pType,plHandle);
3346}
3347static inline HRESULT IWbemObjectAccess_WritePropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lNumBytes,const byte *aData) {
3348    return This->lpVtbl->WritePropertyValue(This,lHandle,lNumBytes,aData);
3349}
3350static inline HRESULT IWbemObjectAccess_ReadPropertyValue(IWbemObjectAccess* This,LONG lHandle,LONG lBufferSize,LONG *plNumBytes,byte *aData) {
3351    return This->lpVtbl->ReadPropertyValue(This,lHandle,lBufferSize,plNumBytes,aData);
3352}
3353static inline HRESULT IWbemObjectAccess_ReadDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD *pdw) {
3354    return This->lpVtbl->ReadDWORD(This,lHandle,pdw);
3355}
3356static inline HRESULT IWbemObjectAccess_WriteDWORD(IWbemObjectAccess* This,LONG lHandle,DWORD dw) {
3357    return This->lpVtbl->WriteDWORD(This,lHandle,dw);
3358}
3359static inline HRESULT IWbemObjectAccess_ReadQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 *pqw) {
3360    return This->lpVtbl->ReadQWORD(This,lHandle,pqw);
3361}
3362static inline HRESULT IWbemObjectAccess_WriteQWORD(IWbemObjectAccess* This,LONG lHandle,UINT64 pw) {
3363    return This->lpVtbl->WriteQWORD(This,lHandle,pw);
3364}
3365static inline HRESULT IWbemObjectAccess_GetPropertyInfoByHandle(IWbemObjectAccess* This,LONG lHandle,BSTR *pstrName,CIMTYPE *pType) {
3366    return This->lpVtbl->GetPropertyInfoByHandle(This,lHandle,pstrName,pType);
3367}
3368static inline HRESULT IWbemObjectAccess_Lock(IWbemObjectAccess* This,LONG lFlags) {
3369    return This->lpVtbl->Lock(This,lFlags);
3370}
3371static inline HRESULT IWbemObjectAccess_Unlock(IWbemObjectAccess* This,LONG lFlags) {
3372    return This->lpVtbl->Unlock(This,lFlags);
3373}
3374#endif
3375#endif
3376
3377#endif
3378
3379
3380#endif  /* __IWbemObjectAccess_INTERFACE_DEFINED__ */
3381
3382/*****************************************************************************
3383 * IMofCompiler interface
3384 */
3385#ifndef __IMofCompiler_INTERFACE_DEFINED__
3386#define __IMofCompiler_INTERFACE_DEFINED__
3387
3388DEFINE_GUID(IID_IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
3389#if defined(__cplusplus) && !defined(CINTERFACE)
3390MIDL_INTERFACE("6daf974e-2e37-11d2-aec9-00c04fb68820")
3391IMofCompiler : public IUnknown
3392{
3393    virtual HRESULT STDMETHODCALLTYPE CompileFile(
3394        LPWSTR FileName,
3395        LPWSTR ServerAndNamespace,
3396        LPWSTR User,
3397        LPWSTR Authority,
3398        LPWSTR Password,
3399        LONG lOptionFlags,
3400        LONG lClassFlags,
3401        LONG lInstanceFlags,
3402        WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3403
3404    virtual HRESULT STDMETHODCALLTYPE CompileBuffer(
3405        LONG BuffSize,
3406        BYTE *pBuffer,
3407        LPWSTR ServerAndNamespace,
3408        LPWSTR User,
3409        LPWSTR Authority,
3410        LPWSTR Password,
3411        LONG lOptionFlags,
3412        LONG lClassFlags,
3413        LONG lInstanceFlags,
3414        WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3415
3416    virtual HRESULT STDMETHODCALLTYPE CreateBMOF(
3417        LPWSTR TextFileName,
3418        LPWSTR BMOFFileName,
3419        LPWSTR ServerAndNamespace,
3420        LONG lOptionFlags,
3421        LONG lClassFlags,
3422        LONG lInstanceFlags,
3423        WBEM_COMPILE_STATUS_INFO *pInfo) = 0;
3424
3425};
3426#ifdef __CRT_UUID_DECL
3427__CRT_UUID_DECL(IMofCompiler, 0x6daf974e, 0x2e37, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3428#endif
3429#else
3430typedef struct IMofCompilerVtbl {
3431    BEGIN_INTERFACE
3432
3433    /*** IUnknown methods ***/
3434    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3435        IMofCompiler *This,
3436        REFIID riid,
3437        void **ppvObject);
3438
3439    ULONG (STDMETHODCALLTYPE *AddRef)(
3440        IMofCompiler *This);
3441
3442    ULONG (STDMETHODCALLTYPE *Release)(
3443        IMofCompiler *This);
3444
3445    /*** IMofCompiler methods ***/
3446    HRESULT (STDMETHODCALLTYPE *CompileFile)(
3447        IMofCompiler *This,
3448        LPWSTR FileName,
3449        LPWSTR ServerAndNamespace,
3450        LPWSTR User,
3451        LPWSTR Authority,
3452        LPWSTR Password,
3453        LONG lOptionFlags,
3454        LONG lClassFlags,
3455        LONG lInstanceFlags,
3456        WBEM_COMPILE_STATUS_INFO *pInfo);
3457
3458    HRESULT (STDMETHODCALLTYPE *CompileBuffer)(
3459        IMofCompiler *This,
3460        LONG BuffSize,
3461        BYTE *pBuffer,
3462        LPWSTR ServerAndNamespace,
3463        LPWSTR User,
3464        LPWSTR Authority,
3465        LPWSTR Password,
3466        LONG lOptionFlags,
3467        LONG lClassFlags,
3468        LONG lInstanceFlags,
3469        WBEM_COMPILE_STATUS_INFO *pInfo);
3470
3471    HRESULT (STDMETHODCALLTYPE *CreateBMOF)(
3472        IMofCompiler *This,
3473        LPWSTR TextFileName,
3474        LPWSTR BMOFFileName,
3475        LPWSTR ServerAndNamespace,
3476        LONG lOptionFlags,
3477        LONG lClassFlags,
3478        LONG lInstanceFlags,
3479        WBEM_COMPILE_STATUS_INFO *pInfo);
3480
3481    END_INTERFACE
3482} IMofCompilerVtbl;
3483
3484interface IMofCompiler {
3485    CONST_VTBL IMofCompilerVtbl* lpVtbl;
3486};
3487
3488#ifdef COBJMACROS
3489#ifndef WIDL_C_INLINE_WRAPPERS
3490/*** IUnknown methods ***/
3491#define IMofCompiler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3492#define IMofCompiler_AddRef(This) (This)->lpVtbl->AddRef(This)
3493#define IMofCompiler_Release(This) (This)->lpVtbl->Release(This)
3494/*** IMofCompiler methods ***/
3495#define IMofCompiler_CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3496#define IMofCompiler_CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3497#define IMofCompiler_CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo) (This)->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo)
3498#else
3499/*** IUnknown methods ***/
3500static inline HRESULT IMofCompiler_QueryInterface(IMofCompiler* This,REFIID riid,void **ppvObject) {
3501    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3502}
3503static inline ULONG IMofCompiler_AddRef(IMofCompiler* This) {
3504    return This->lpVtbl->AddRef(This);
3505}
3506static inline ULONG IMofCompiler_Release(IMofCompiler* This) {
3507    return This->lpVtbl->Release(This);
3508}
3509/*** IMofCompiler methods ***/
3510static inline HRESULT IMofCompiler_CompileFile(IMofCompiler* This,LPWSTR FileName,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3511    return This->lpVtbl->CompileFile(This,FileName,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3512}
3513static inline HRESULT IMofCompiler_CompileBuffer(IMofCompiler* This,LONG BuffSize,BYTE *pBuffer,LPWSTR ServerAndNamespace,LPWSTR User,LPWSTR Authority,LPWSTR Password,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3514    return This->lpVtbl->CompileBuffer(This,BuffSize,pBuffer,ServerAndNamespace,User,Authority,Password,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3515}
3516static inline HRESULT IMofCompiler_CreateBMOF(IMofCompiler* This,LPWSTR TextFileName,LPWSTR BMOFFileName,LPWSTR ServerAndNamespace,LONG lOptionFlags,LONG lClassFlags,LONG lInstanceFlags,WBEM_COMPILE_STATUS_INFO *pInfo) {
3517    return This->lpVtbl->CreateBMOF(This,TextFileName,BMOFFileName,ServerAndNamespace,lOptionFlags,lClassFlags,lInstanceFlags,pInfo);
3518}
3519#endif
3520#endif
3521
3522#endif
3523
3524
3525#endif  /* __IMofCompiler_INTERFACE_DEFINED__ */
3526
3527/*****************************************************************************
3528 * IUnsecuredApartment interface
3529 */
3530#ifndef __IUnsecuredApartment_INTERFACE_DEFINED__
3531#define __IUnsecuredApartment_INTERFACE_DEFINED__
3532
3533DEFINE_GUID(IID_IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff);
3534#if defined(__cplusplus) && !defined(CINTERFACE)
3535MIDL_INTERFACE("1cfaba8c-1523-11d1-ad79-00c04fd8fdff")
3536IUnsecuredApartment : public IUnknown
3537{
3538    virtual HRESULT STDMETHODCALLTYPE CreateObjectStub(
3539        IUnknown *pObject,
3540        IUnknown **ppStub) = 0;
3541
3542};
3543#ifdef __CRT_UUID_DECL
3544__CRT_UUID_DECL(IUnsecuredApartment, 0x1cfaba8c, 0x1523, 0x11d1, 0xad,0x79, 0x00,0xc0,0x4f,0xd8,0xfd,0xff)
3545#endif
3546#else
3547typedef struct IUnsecuredApartmentVtbl {
3548    BEGIN_INTERFACE
3549
3550    /*** IUnknown methods ***/
3551    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3552        IUnsecuredApartment *This,
3553        REFIID riid,
3554        void **ppvObject);
3555
3556    ULONG (STDMETHODCALLTYPE *AddRef)(
3557        IUnsecuredApartment *This);
3558
3559    ULONG (STDMETHODCALLTYPE *Release)(
3560        IUnsecuredApartment *This);
3561
3562    /*** IUnsecuredApartment methods ***/
3563    HRESULT (STDMETHODCALLTYPE *CreateObjectStub)(
3564        IUnsecuredApartment *This,
3565        IUnknown *pObject,
3566        IUnknown **ppStub);
3567
3568    END_INTERFACE
3569} IUnsecuredApartmentVtbl;
3570
3571interface IUnsecuredApartment {
3572    CONST_VTBL IUnsecuredApartmentVtbl* lpVtbl;
3573};
3574
3575#ifdef COBJMACROS
3576#ifndef WIDL_C_INLINE_WRAPPERS
3577/*** IUnknown methods ***/
3578#define IUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3579#define IUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This)
3580#define IUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This)
3581/*** IUnsecuredApartment methods ***/
3582#define IUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub)
3583#else
3584/*** IUnknown methods ***/
3585static inline HRESULT IUnsecuredApartment_QueryInterface(IUnsecuredApartment* This,REFIID riid,void **ppvObject) {
3586    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3587}
3588static inline ULONG IUnsecuredApartment_AddRef(IUnsecuredApartment* This) {
3589    return This->lpVtbl->AddRef(This);
3590}
3591static inline ULONG IUnsecuredApartment_Release(IUnsecuredApartment* This) {
3592    return This->lpVtbl->Release(This);
3593}
3594/*** IUnsecuredApartment methods ***/
3595static inline HRESULT IUnsecuredApartment_CreateObjectStub(IUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) {
3596    return This->lpVtbl->CreateObjectStub(This,pObject,ppStub);
3597}
3598#endif
3599#endif
3600
3601#endif
3602
3603
3604#endif  /* __IUnsecuredApartment_INTERFACE_DEFINED__ */
3605
3606/*****************************************************************************
3607 * IWbemUnsecuredApartment interface
3608 */
3609#ifndef __IWbemUnsecuredApartment_INTERFACE_DEFINED__
3610#define __IWbemUnsecuredApartment_INTERFACE_DEFINED__
3611
3612DEFINE_GUID(IID_IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56);
3613#if defined(__cplusplus) && !defined(CINTERFACE)
3614MIDL_INTERFACE("31739d04-3471-4cf4-9a7c-57a44ae71956")
3615IWbemUnsecuredApartment : public IUnsecuredApartment
3616{
3617    virtual HRESULT STDMETHODCALLTYPE CreateSinkStub(
3618        IWbemObjectSink *pSink,
3619        DWORD dwFlags,
3620        LPCWSTR wszReserved,
3621        IWbemObjectSink **ppStub) = 0;
3622
3623};
3624#ifdef __CRT_UUID_DECL
3625__CRT_UUID_DECL(IWbemUnsecuredApartment, 0x31739d04, 0x3471, 0x4cf4, 0x9a,0x7c, 0x57,0xa4,0x4a,0xe7,0x19,0x56)
3626#endif
3627#else
3628typedef struct IWbemUnsecuredApartmentVtbl {
3629    BEGIN_INTERFACE
3630
3631    /*** IUnknown methods ***/
3632    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3633        IWbemUnsecuredApartment *This,
3634        REFIID riid,
3635        void **ppvObject);
3636
3637    ULONG (STDMETHODCALLTYPE *AddRef)(
3638        IWbemUnsecuredApartment *This);
3639
3640    ULONG (STDMETHODCALLTYPE *Release)(
3641        IWbemUnsecuredApartment *This);
3642
3643    /*** IUnsecuredApartment methods ***/
3644    HRESULT (STDMETHODCALLTYPE *CreateObjectStub)(
3645        IWbemUnsecuredApartment *This,
3646        IUnknown *pObject,
3647        IUnknown **ppStub);
3648
3649    /*** IWbemUnsecuredApartment methods ***/
3650    HRESULT (STDMETHODCALLTYPE *CreateSinkStub)(
3651        IWbemUnsecuredApartment *This,
3652        IWbemObjectSink *pSink,
3653        DWORD dwFlags,
3654        LPCWSTR wszReserved,
3655        IWbemObjectSink **ppStub);
3656
3657    END_INTERFACE
3658} IWbemUnsecuredApartmentVtbl;
3659
3660interface IWbemUnsecuredApartment {
3661    CONST_VTBL IWbemUnsecuredApartmentVtbl* lpVtbl;
3662};
3663
3664#ifdef COBJMACROS
3665#ifndef WIDL_C_INLINE_WRAPPERS
3666/*** IUnknown methods ***/
3667#define IWbemUnsecuredApartment_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3668#define IWbemUnsecuredApartment_AddRef(This) (This)->lpVtbl->AddRef(This)
3669#define IWbemUnsecuredApartment_Release(This) (This)->lpVtbl->Release(This)
3670/*** IUnsecuredApartment methods ***/
3671#define IWbemUnsecuredApartment_CreateObjectStub(This,pObject,ppStub) (This)->lpVtbl->CreateObjectStub(This,pObject,ppStub)
3672/*** IWbemUnsecuredApartment methods ***/
3673#define IWbemUnsecuredApartment_CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub) (This)->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub)
3674#else
3675/*** IUnknown methods ***/
3676static inline HRESULT IWbemUnsecuredApartment_QueryInterface(IWbemUnsecuredApartment* This,REFIID riid,void **ppvObject) {
3677    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3678}
3679static inline ULONG IWbemUnsecuredApartment_AddRef(IWbemUnsecuredApartment* This) {
3680    return This->lpVtbl->AddRef(This);
3681}
3682static inline ULONG IWbemUnsecuredApartment_Release(IWbemUnsecuredApartment* This) {
3683    return This->lpVtbl->Release(This);
3684}
3685/*** IUnsecuredApartment methods ***/
3686static inline HRESULT IWbemUnsecuredApartment_CreateObjectStub(IWbemUnsecuredApartment* This,IUnknown *pObject,IUnknown **ppStub) {
3687    return This->lpVtbl->CreateObjectStub(This,pObject,ppStub);
3688}
3689/*** IWbemUnsecuredApartment methods ***/
3690static inline HRESULT IWbemUnsecuredApartment_CreateSinkStub(IWbemUnsecuredApartment* This,IWbemObjectSink *pSink,DWORD dwFlags,LPCWSTR wszReserved,IWbemObjectSink **ppStub) {
3691    return This->lpVtbl->CreateSinkStub(This,pSink,dwFlags,wszReserved,ppStub);
3692}
3693#endif
3694#endif
3695
3696#endif
3697
3698
3699#endif  /* __IWbemUnsecuredApartment_INTERFACE_DEFINED__ */
3700
3701/*****************************************************************************
3702 * IWbemStatusCodeText interface
3703 */
3704#ifndef __IWbemStatusCodeText_INTERFACE_DEFINED__
3705#define __IWbemStatusCodeText_INTERFACE_DEFINED__
3706
3707DEFINE_GUID(IID_IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
3708#if defined(__cplusplus) && !defined(CINTERFACE)
3709MIDL_INTERFACE("eb87e1bc-3233-11d2-aec9-00c04fb68820")
3710IWbemStatusCodeText : public IUnknown
3711{
3712    virtual HRESULT STDMETHODCALLTYPE GetErrorCodeText(
3713        HRESULT hRes,
3714        LCID LocaleId,
3715        LONG lFlags,
3716        BSTR *MessageText) = 0;
3717
3718    virtual HRESULT STDMETHODCALLTYPE GetFacilityCodeText(
3719        HRESULT hRes,
3720        LCID LocaleId,
3721        LONG lFlags,
3722        BSTR *MessageText) = 0;
3723
3724};
3725#ifdef __CRT_UUID_DECL
3726__CRT_UUID_DECL(IWbemStatusCodeText, 0xeb87e1bc, 0x3233, 0x11d2, 0xae,0xc9, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
3727#endif
3728#else
3729typedef struct IWbemStatusCodeTextVtbl {
3730    BEGIN_INTERFACE
3731
3732    /*** IUnknown methods ***/
3733    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3734        IWbemStatusCodeText *This,
3735        REFIID riid,
3736        void **ppvObject);
3737
3738    ULONG (STDMETHODCALLTYPE *AddRef)(
3739        IWbemStatusCodeText *This);
3740
3741    ULONG (STDMETHODCALLTYPE *Release)(
3742        IWbemStatusCodeText *This);
3743
3744    /*** IWbemStatusCodeText methods ***/
3745    HRESULT (STDMETHODCALLTYPE *GetErrorCodeText)(
3746        IWbemStatusCodeText *This,
3747        HRESULT hRes,
3748        LCID LocaleId,
3749        LONG lFlags,
3750        BSTR *MessageText);
3751
3752    HRESULT (STDMETHODCALLTYPE *GetFacilityCodeText)(
3753        IWbemStatusCodeText *This,
3754        HRESULT hRes,
3755        LCID LocaleId,
3756        LONG lFlags,
3757        BSTR *MessageText);
3758
3759    END_INTERFACE
3760} IWbemStatusCodeTextVtbl;
3761
3762interface IWbemStatusCodeText {
3763    CONST_VTBL IWbemStatusCodeTextVtbl* lpVtbl;
3764};
3765
3766#ifdef COBJMACROS
3767#ifndef WIDL_C_INLINE_WRAPPERS
3768/*** IUnknown methods ***/
3769#define IWbemStatusCodeText_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3770#define IWbemStatusCodeText_AddRef(This) (This)->lpVtbl->AddRef(This)
3771#define IWbemStatusCodeText_Release(This) (This)->lpVtbl->Release(This)
3772/*** IWbemStatusCodeText methods ***/
3773#define IWbemStatusCodeText_GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText)
3774#define IWbemStatusCodeText_GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText) (This)->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText)
3775#else
3776/*** IUnknown methods ***/
3777static inline HRESULT IWbemStatusCodeText_QueryInterface(IWbemStatusCodeText* This,REFIID riid,void **ppvObject) {
3778    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3779}
3780static inline ULONG IWbemStatusCodeText_AddRef(IWbemStatusCodeText* This) {
3781    return This->lpVtbl->AddRef(This);
3782}
3783static inline ULONG IWbemStatusCodeText_Release(IWbemStatusCodeText* This) {
3784    return This->lpVtbl->Release(This);
3785}
3786/*** IWbemStatusCodeText methods ***/
3787static inline HRESULT IWbemStatusCodeText_GetErrorCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) {
3788    return This->lpVtbl->GetErrorCodeText(This,hRes,LocaleId,lFlags,MessageText);
3789}
3790static inline HRESULT IWbemStatusCodeText_GetFacilityCodeText(IWbemStatusCodeText* This,HRESULT hRes,LCID LocaleId,LONG lFlags,BSTR *MessageText) {
3791    return This->lpVtbl->GetFacilityCodeText(This,hRes,LocaleId,lFlags,MessageText);
3792}
3793#endif
3794#endif
3795
3796#endif
3797
3798
3799#endif  /* __IWbemStatusCodeText_INTERFACE_DEFINED__ */
3800
3801/*****************************************************************************
3802 * IWbemBackupRestore interface
3803 */
3804#ifndef __IWbemBackupRestore_INTERFACE_DEFINED__
3805#define __IWbemBackupRestore_INTERFACE_DEFINED__
3806
3807DEFINE_GUID(IID_IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04);
3808#if defined(__cplusplus) && !defined(CINTERFACE)
3809MIDL_INTERFACE("c49e32c7-bc8b-11d2-85d4-00105a1f8304")
3810IWbemBackupRestore : public IUnknown
3811{
3812    virtual HRESULT STDMETHODCALLTYPE Backup(
3813        LPCWSTR strBackupToFile,
3814        LONG lFlags) = 0;
3815
3816    virtual HRESULT STDMETHODCALLTYPE Restore(
3817        LPCWSTR strRestoreFromFile,
3818        LONG lFlags) = 0;
3819
3820};
3821#ifdef __CRT_UUID_DECL
3822__CRT_UUID_DECL(IWbemBackupRestore, 0xc49e32c7, 0xbc8b, 0x11d2, 0x85,0xd4, 0x00,0x10,0x5a,0x1f,0x83,0x04)
3823#endif
3824#else
3825typedef struct IWbemBackupRestoreVtbl {
3826    BEGIN_INTERFACE
3827
3828    /*** IUnknown methods ***/
3829    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3830        IWbemBackupRestore *This,
3831        REFIID riid,
3832        void **ppvObject);
3833
3834    ULONG (STDMETHODCALLTYPE *AddRef)(
3835        IWbemBackupRestore *This);
3836
3837    ULONG (STDMETHODCALLTYPE *Release)(
3838        IWbemBackupRestore *This);
3839
3840    /*** IWbemBackupRestore methods ***/
3841    HRESULT (STDMETHODCALLTYPE *Backup)(
3842        IWbemBackupRestore *This,
3843        LPCWSTR strBackupToFile,
3844        LONG lFlags);
3845
3846    HRESULT (STDMETHODCALLTYPE *Restore)(
3847        IWbemBackupRestore *This,
3848        LPCWSTR strRestoreFromFile,
3849        LONG lFlags);
3850
3851    END_INTERFACE
3852} IWbemBackupRestoreVtbl;
3853
3854interface IWbemBackupRestore {
3855    CONST_VTBL IWbemBackupRestoreVtbl* lpVtbl;
3856};
3857
3858#ifdef COBJMACROS
3859#ifndef WIDL_C_INLINE_WRAPPERS
3860/*** IUnknown methods ***/
3861#define IWbemBackupRestore_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3862#define IWbemBackupRestore_AddRef(This) (This)->lpVtbl->AddRef(This)
3863#define IWbemBackupRestore_Release(This) (This)->lpVtbl->Release(This)
3864/*** IWbemBackupRestore methods ***/
3865#define IWbemBackupRestore_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags)
3866#define IWbemBackupRestore_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags)
3867#else
3868/*** IUnknown methods ***/
3869static inline HRESULT IWbemBackupRestore_QueryInterface(IWbemBackupRestore* This,REFIID riid,void **ppvObject) {
3870    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3871}
3872static inline ULONG IWbemBackupRestore_AddRef(IWbemBackupRestore* This) {
3873    return This->lpVtbl->AddRef(This);
3874}
3875static inline ULONG IWbemBackupRestore_Release(IWbemBackupRestore* This) {
3876    return This->lpVtbl->Release(This);
3877}
3878/*** IWbemBackupRestore methods ***/
3879static inline HRESULT IWbemBackupRestore_Backup(IWbemBackupRestore* This,LPCWSTR strBackupToFile,LONG lFlags) {
3880    return This->lpVtbl->Backup(This,strBackupToFile,lFlags);
3881}
3882static inline HRESULT IWbemBackupRestore_Restore(IWbemBackupRestore* This,LPCWSTR strRestoreFromFile,LONG lFlags) {
3883    return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags);
3884}
3885#endif
3886#endif
3887
3888#endif
3889
3890
3891#endif  /* __IWbemBackupRestore_INTERFACE_DEFINED__ */
3892
3893/*****************************************************************************
3894 * IWbemBackupRestoreEx interface
3895 */
3896#ifndef __IWbemBackupRestoreEx_INTERFACE_DEFINED__
3897#define __IWbemBackupRestoreEx_INTERFACE_DEFINED__
3898
3899DEFINE_GUID(IID_IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76);
3900#if defined(__cplusplus) && !defined(CINTERFACE)
3901MIDL_INTERFACE("a359dec5-e813-4834-8a2a-ba7f1d777d76")
3902IWbemBackupRestoreEx : public IWbemBackupRestore
3903{
3904    virtual HRESULT STDMETHODCALLTYPE Pause(
3905        ) = 0;
3906
3907    virtual HRESULT STDMETHODCALLTYPE Resume(
3908        ) = 0;
3909
3910};
3911#ifdef __CRT_UUID_DECL
3912__CRT_UUID_DECL(IWbemBackupRestoreEx, 0xa359dec5, 0xe813, 0x4834, 0x8a,0x2a, 0xba,0x7f,0x1d,0x77,0x7d,0x76)
3913#endif
3914#else
3915typedef struct IWbemBackupRestoreExVtbl {
3916    BEGIN_INTERFACE
3917
3918    /*** IUnknown methods ***/
3919    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
3920        IWbemBackupRestoreEx *This,
3921        REFIID riid,
3922        void **ppvObject);
3923
3924    ULONG (STDMETHODCALLTYPE *AddRef)(
3925        IWbemBackupRestoreEx *This);
3926
3927    ULONG (STDMETHODCALLTYPE *Release)(
3928        IWbemBackupRestoreEx *This);
3929
3930    /*** IWbemBackupRestore methods ***/
3931    HRESULT (STDMETHODCALLTYPE *Backup)(
3932        IWbemBackupRestoreEx *This,
3933        LPCWSTR strBackupToFile,
3934        LONG lFlags);
3935
3936    HRESULT (STDMETHODCALLTYPE *Restore)(
3937        IWbemBackupRestoreEx *This,
3938        LPCWSTR strRestoreFromFile,
3939        LONG lFlags);
3940
3941    /*** IWbemBackupRestoreEx methods ***/
3942    HRESULT (STDMETHODCALLTYPE *Pause)(
3943        IWbemBackupRestoreEx *This);
3944
3945    HRESULT (STDMETHODCALLTYPE *Resume)(
3946        IWbemBackupRestoreEx *This);
3947
3948    END_INTERFACE
3949} IWbemBackupRestoreExVtbl;
3950
3951interface IWbemBackupRestoreEx {
3952    CONST_VTBL IWbemBackupRestoreExVtbl* lpVtbl;
3953};
3954
3955#ifdef COBJMACROS
3956#ifndef WIDL_C_INLINE_WRAPPERS
3957/*** IUnknown methods ***/
3958#define IWbemBackupRestoreEx_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
3959#define IWbemBackupRestoreEx_AddRef(This) (This)->lpVtbl->AddRef(This)
3960#define IWbemBackupRestoreEx_Release(This) (This)->lpVtbl->Release(This)
3961/*** IWbemBackupRestore methods ***/
3962#define IWbemBackupRestoreEx_Backup(This,strBackupToFile,lFlags) (This)->lpVtbl->Backup(This,strBackupToFile,lFlags)
3963#define IWbemBackupRestoreEx_Restore(This,strRestoreFromFile,lFlags) (This)->lpVtbl->Restore(This,strRestoreFromFile,lFlags)
3964/*** IWbemBackupRestoreEx methods ***/
3965#define IWbemBackupRestoreEx_Pause(This) (This)->lpVtbl->Pause(This)
3966#define IWbemBackupRestoreEx_Resume(This) (This)->lpVtbl->Resume(This)
3967#else
3968/*** IUnknown methods ***/
3969static inline HRESULT IWbemBackupRestoreEx_QueryInterface(IWbemBackupRestoreEx* This,REFIID riid,void **ppvObject) {
3970    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
3971}
3972static inline ULONG IWbemBackupRestoreEx_AddRef(IWbemBackupRestoreEx* This) {
3973    return This->lpVtbl->AddRef(This);
3974}
3975static inline ULONG IWbemBackupRestoreEx_Release(IWbemBackupRestoreEx* This) {
3976    return This->lpVtbl->Release(This);
3977}
3978/*** IWbemBackupRestore methods ***/
3979static inline HRESULT IWbemBackupRestoreEx_Backup(IWbemBackupRestoreEx* This,LPCWSTR strBackupToFile,LONG lFlags) {
3980    return This->lpVtbl->Backup(This,strBackupToFile,lFlags);
3981}
3982static inline HRESULT IWbemBackupRestoreEx_Restore(IWbemBackupRestoreEx* This,LPCWSTR strRestoreFromFile,LONG lFlags) {
3983    return This->lpVtbl->Restore(This,strRestoreFromFile,lFlags);
3984}
3985/*** IWbemBackupRestoreEx methods ***/
3986static inline HRESULT IWbemBackupRestoreEx_Pause(IWbemBackupRestoreEx* This) {
3987    return This->lpVtbl->Pause(This);
3988}
3989static inline HRESULT IWbemBackupRestoreEx_Resume(IWbemBackupRestoreEx* This) {
3990    return This->lpVtbl->Resume(This);
3991}
3992#endif
3993#endif
3994
3995#endif
3996
3997
3998#endif  /* __IWbemBackupRestoreEx_INTERFACE_DEFINED__ */
3999
4000/*****************************************************************************
4001 * IWbemRefresher interface
4002 */
4003#ifndef __IWbemRefresher_INTERFACE_DEFINED__
4004#define __IWbemRefresher_INTERFACE_DEFINED__
4005
4006DEFINE_GUID(IID_IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
4007#if defined(__cplusplus) && !defined(CINTERFACE)
4008MIDL_INTERFACE("49353c99-516b-11d1-aea6-00c04fb68820")
4009IWbemRefresher : public IUnknown
4010{
4011    virtual HRESULT STDMETHODCALLTYPE Refresh(
4012        LONG lFlags) = 0;
4013
4014};
4015#ifdef __CRT_UUID_DECL
4016__CRT_UUID_DECL(IWbemRefresher, 0x49353c99, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
4017#endif
4018#else
4019typedef struct IWbemRefresherVtbl {
4020    BEGIN_INTERFACE
4021
4022    /*** IUnknown methods ***/
4023    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4024        IWbemRefresher *This,
4025        REFIID riid,
4026        void **ppvObject);
4027
4028    ULONG (STDMETHODCALLTYPE *AddRef)(
4029        IWbemRefresher *This);
4030
4031    ULONG (STDMETHODCALLTYPE *Release)(
4032        IWbemRefresher *This);
4033
4034    /*** IWbemRefresher methods ***/
4035    HRESULT (STDMETHODCALLTYPE *Refresh)(
4036        IWbemRefresher *This,
4037        LONG lFlags);
4038
4039    END_INTERFACE
4040} IWbemRefresherVtbl;
4041
4042interface IWbemRefresher {
4043    CONST_VTBL IWbemRefresherVtbl* lpVtbl;
4044};
4045
4046#ifdef COBJMACROS
4047#ifndef WIDL_C_INLINE_WRAPPERS
4048/*** IUnknown methods ***/
4049#define IWbemRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4050#define IWbemRefresher_AddRef(This) (This)->lpVtbl->AddRef(This)
4051#define IWbemRefresher_Release(This) (This)->lpVtbl->Release(This)
4052/*** IWbemRefresher methods ***/
4053#define IWbemRefresher_Refresh(This,lFlags) (This)->lpVtbl->Refresh(This,lFlags)
4054#else
4055/*** IUnknown methods ***/
4056static inline HRESULT IWbemRefresher_QueryInterface(IWbemRefresher* This,REFIID riid,void **ppvObject) {
4057    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4058}
4059static inline ULONG IWbemRefresher_AddRef(IWbemRefresher* This) {
4060    return This->lpVtbl->AddRef(This);
4061}
4062static inline ULONG IWbemRefresher_Release(IWbemRefresher* This) {
4063    return This->lpVtbl->Release(This);
4064}
4065/*** IWbemRefresher methods ***/
4066static inline HRESULT IWbemRefresher_Refresh(IWbemRefresher* This,LONG lFlags) {
4067    return This->lpVtbl->Refresh(This,lFlags);
4068}
4069#endif
4070#endif
4071
4072#endif
4073
4074
4075#endif  /* __IWbemRefresher_INTERFACE_DEFINED__ */
4076
4077/*****************************************************************************
4078 * IWbemHiPerfEnum interface
4079 */
4080#ifndef __IWbemHiPerfEnum_INTERFACE_DEFINED__
4081#define __IWbemHiPerfEnum_INTERFACE_DEFINED__
4082
4083DEFINE_GUID(IID_IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77);
4084#if defined(__cplusplus) && !defined(CINTERFACE)
4085MIDL_INTERFACE("2705c288-79ae-11d2-b348-00105a1f8177")
4086IWbemHiPerfEnum : public IUnknown
4087{
4088    virtual HRESULT STDMETHODCALLTYPE AddObjects(
4089        LONG lFlags,
4090        ULONG uNumObjects,
4091        LONG *apIds,
4092        IWbemObjectAccess **apObj) = 0;
4093
4094    virtual HRESULT STDMETHODCALLTYPE RemoveObjects(
4095        LONG lFlags,
4096        ULONG uNumObjects,
4097        LONG *apIds) = 0;
4098
4099    virtual HRESULT STDMETHODCALLTYPE GetObjects(
4100        LONG lFlags,
4101        ULONG uNumObjects,
4102        IWbemObjectAccess **apObj,
4103        ULONG *puReturned) = 0;
4104
4105    virtual HRESULT STDMETHODCALLTYPE RemoveAll(
4106        LONG lFlags) = 0;
4107
4108};
4109#ifdef __CRT_UUID_DECL
4110__CRT_UUID_DECL(IWbemHiPerfEnum, 0x2705c288, 0x79ae, 0x11d2, 0xb3,0x48, 0x00,0x10,0x5a,0x1f,0x81,0x77)
4111#endif
4112#else
4113typedef struct IWbemHiPerfEnumVtbl {
4114    BEGIN_INTERFACE
4115
4116    /*** IUnknown methods ***/
4117    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4118        IWbemHiPerfEnum *This,
4119        REFIID riid,
4120        void **ppvObject);
4121
4122    ULONG (STDMETHODCALLTYPE *AddRef)(
4123        IWbemHiPerfEnum *This);
4124
4125    ULONG (STDMETHODCALLTYPE *Release)(
4126        IWbemHiPerfEnum *This);
4127
4128    /*** IWbemHiPerfEnum methods ***/
4129    HRESULT (STDMETHODCALLTYPE *AddObjects)(
4130        IWbemHiPerfEnum *This,
4131        LONG lFlags,
4132        ULONG uNumObjects,
4133        LONG *apIds,
4134        IWbemObjectAccess **apObj);
4135
4136    HRESULT (STDMETHODCALLTYPE *RemoveObjects)(
4137        IWbemHiPerfEnum *This,
4138        LONG lFlags,
4139        ULONG uNumObjects,
4140        LONG *apIds);
4141
4142    HRESULT (STDMETHODCALLTYPE *GetObjects)(
4143        IWbemHiPerfEnum *This,
4144        LONG lFlags,
4145        ULONG uNumObjects,
4146        IWbemObjectAccess **apObj,
4147        ULONG *puReturned);
4148
4149    HRESULT (STDMETHODCALLTYPE *RemoveAll)(
4150        IWbemHiPerfEnum *This,
4151        LONG lFlags);
4152
4153    END_INTERFACE
4154} IWbemHiPerfEnumVtbl;
4155
4156interface IWbemHiPerfEnum {
4157    CONST_VTBL IWbemHiPerfEnumVtbl* lpVtbl;
4158};
4159
4160#ifdef COBJMACROS
4161#ifndef WIDL_C_INLINE_WRAPPERS
4162/*** IUnknown methods ***/
4163#define IWbemHiPerfEnum_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4164#define IWbemHiPerfEnum_AddRef(This) (This)->lpVtbl->AddRef(This)
4165#define IWbemHiPerfEnum_Release(This) (This)->lpVtbl->Release(This)
4166/*** IWbemHiPerfEnum methods ***/
4167#define IWbemHiPerfEnum_AddObjects(This,lFlags,uNumObjects,apIds,apObj) (This)->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj)
4168#define IWbemHiPerfEnum_RemoveObjects(This,lFlags,uNumObjects,apIds) (This)->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds)
4169#define IWbemHiPerfEnum_GetObjects(This,lFlags,uNumObjects,apObj,puReturned) (This)->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned)
4170#define IWbemHiPerfEnum_RemoveAll(This,lFlags) (This)->lpVtbl->RemoveAll(This,lFlags)
4171#else
4172/*** IUnknown methods ***/
4173static inline HRESULT IWbemHiPerfEnum_QueryInterface(IWbemHiPerfEnum* This,REFIID riid,void **ppvObject) {
4174    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4175}
4176static inline ULONG IWbemHiPerfEnum_AddRef(IWbemHiPerfEnum* This) {
4177    return This->lpVtbl->AddRef(This);
4178}
4179static inline ULONG IWbemHiPerfEnum_Release(IWbemHiPerfEnum* This) {
4180    return This->lpVtbl->Release(This);
4181}
4182/*** IWbemHiPerfEnum methods ***/
4183static inline HRESULT IWbemHiPerfEnum_AddObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds,IWbemObjectAccess **apObj) {
4184    return This->lpVtbl->AddObjects(This,lFlags,uNumObjects,apIds,apObj);
4185}
4186static inline HRESULT IWbemHiPerfEnum_RemoveObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,LONG *apIds) {
4187    return This->lpVtbl->RemoveObjects(This,lFlags,uNumObjects,apIds);
4188}
4189static inline HRESULT IWbemHiPerfEnum_GetObjects(IWbemHiPerfEnum* This,LONG lFlags,ULONG uNumObjects,IWbemObjectAccess **apObj,ULONG *puReturned) {
4190    return This->lpVtbl->GetObjects(This,lFlags,uNumObjects,apObj,puReturned);
4191}
4192static inline HRESULT IWbemHiPerfEnum_RemoveAll(IWbemHiPerfEnum* This,LONG lFlags) {
4193    return This->lpVtbl->RemoveAll(This,lFlags);
4194}
4195#endif
4196#endif
4197
4198#endif
4199
4200
4201#endif  /* __IWbemHiPerfEnum_INTERFACE_DEFINED__ */
4202
4203/*****************************************************************************
4204 * IWbemConfigureRefresher interface
4205 */
4206#ifndef __IWbemConfigureRefresher_INTERFACE_DEFINED__
4207#define __IWbemConfigureRefresher_INTERFACE_DEFINED__
4208
4209DEFINE_GUID(IID_IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20);
4210#if defined(__cplusplus) && !defined(CINTERFACE)
4211MIDL_INTERFACE("49353c92-516b-11d1-aea6-00c04fb68820")
4212IWbemConfigureRefresher : public IUnknown
4213{
4214    virtual HRESULT STDMETHODCALLTYPE AddObjectByPath(
4215        IWbemServices *pNamespace,
4216        LPCWSTR wszPath,
4217        LONG lFlags,
4218        IWbemContext *pContext,
4219        IWbemClassObject **ppRefreshable,
4220        LONG *plId) = 0;
4221
4222    virtual HRESULT STDMETHODCALLTYPE AddObjectByTemplate(
4223        IWbemServices *pNamespace,
4224        IWbemClassObject *pTemplate,
4225        LONG lFlags,
4226        IWbemContext *pContext,
4227        IWbemClassObject **ppRefreshable,
4228        LONG *plId) = 0;
4229
4230    virtual HRESULT STDMETHODCALLTYPE AddRefresher(
4231        IWbemRefresher *pRefresher,
4232        LONG lFlags,
4233        LONG *plId) = 0;
4234
4235    virtual HRESULT STDMETHODCALLTYPE Remove(
4236        LONG lId,
4237        LONG lFlags) = 0;
4238
4239    virtual HRESULT STDMETHODCALLTYPE AddEnum(
4240        IWbemServices *pNamespace,
4241        LPCWSTR wszClassName,
4242        LONG lFlags,
4243        IWbemContext *pContext,
4244        IWbemHiPerfEnum **ppEnum,
4245        LONG *plId) = 0;
4246
4247};
4248#ifdef __CRT_UUID_DECL
4249__CRT_UUID_DECL(IWbemConfigureRefresher, 0x49353c92, 0x516b, 0x11d1, 0xae,0xa6, 0x00,0xc0,0x4f,0xb6,0x88,0x20)
4250#endif
4251#else
4252typedef struct IWbemConfigureRefresherVtbl {
4253    BEGIN_INTERFACE
4254
4255    /*** IUnknown methods ***/
4256    HRESULT (STDMETHODCALLTYPE *QueryInterface)(
4257        IWbemConfigureRefresher *This,
4258        REFIID riid,
4259        void **ppvObject);
4260
4261    ULONG (STDMETHODCALLTYPE *AddRef)(
4262        IWbemConfigureRefresher *This);
4263
4264    ULONG (STDMETHODCALLTYPE *Release)(
4265        IWbemConfigureRefresher *This);
4266
4267    /*** IWbemConfigureRefresher methods ***/
4268    HRESULT (STDMETHODCALLTYPE *AddObjectByPath)(
4269        IWbemConfigureRefresher *This,
4270        IWbemServices *pNamespace,
4271        LPCWSTR wszPath,
4272        LONG lFlags,
4273        IWbemContext *pContext,
4274        IWbemClassObject **ppRefreshable,
4275        LONG *plId);
4276
4277    HRESULT (STDMETHODCALLTYPE *AddObjectByTemplate)(
4278        IWbemConfigureRefresher *This,
4279        IWbemServices *pNamespace,
4280        IWbemClassObject *pTemplate,
4281        LONG lFlags,
4282        IWbemContext *pContext,
4283        IWbemClassObject **ppRefreshable,
4284        LONG *plId);
4285
4286    HRESULT (STDMETHODCALLTYPE *AddRefresher)(
4287        IWbemConfigureRefresher *This,
4288        IWbemRefresher *pRefresher,
4289        LONG lFlags,
4290        LONG *plId);
4291
4292    HRESULT (STDMETHODCALLTYPE *Remove)(
4293        IWbemConfigureRefresher *This,
4294        LONG lId,
4295        LONG lFlags);
4296
4297    HRESULT (STDMETHODCALLTYPE *AddEnum)(
4298        IWbemConfigureRefresher *This,
4299        IWbemServices *pNamespace,
4300        LPCWSTR wszClassName,
4301        LONG lFlags,
4302        IWbemContext *pContext,
4303        IWbemHiPerfEnum **ppEnum,
4304        LONG *plId);
4305
4306    END_INTERFACE
4307} IWbemConfigureRefresherVtbl;
4308
4309interface IWbemConfigureRefresher {
4310    CONST_VTBL IWbemConfigureRefresherVtbl* lpVtbl;
4311};
4312
4313#ifdef COBJMACROS
4314#ifndef WIDL_C_INLINE_WRAPPERS
4315/*** IUnknown methods ***/
4316#define IWbemConfigureRefresher_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
4317#define IWbemConfigureRefresher_AddRef(This) (This)->lpVtbl->AddRef(This)
4318#define IWbemConfigureRefresher_Release(This) (This)->lpVtbl->Release(This)
4319/*** IWbemConfigureRefresher methods ***/
4320#define IWbemConfigureRefresher_AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId)
4321#define IWbemConfigureRefresher_AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId) (This)->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId)
4322#define IWbemConfigureRefresher_AddRefresher(This,pRefresher,lFlags,plId) (This)->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId)
4323#define IWbemConfigureRefresher_Remove(This,lId,lFlags) (This)->lpVtbl->Remove(This,lId,lFlags)
4324#define IWbemConfigureRefresher_AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId) (This)->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId)
4325#else
4326/*** IUnknown methods ***/
4327static inline HRESULT IWbemConfigureRefresher_QueryInterface(IWbemConfigureRefresher* This,REFIID riid,void **ppvObject) {
4328    return This->lpVtbl->QueryInterface(This,riid,ppvObject);
4329}
4330static inline ULONG IWbemConfigureRefresher_AddRef(IWbemConfigureRefresher* This) {
4331    return This->lpVtbl->AddRef(This);
4332}
4333static inline ULONG IWbemConfigureRefresher_Release(IWbemConfigureRefresher* This) {
4334    return This->lpVtbl->Release(This);
4335}
4336/*** IWbemConfigureRefresher methods ***/
4337static inline HRESULT IWbemConfigureRefresher_AddObjectByPath(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszPath,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) {
4338    return This->lpVtbl->AddObjectByPath(This,pNamespace,wszPath,lFlags,pContext,ppRefreshable,plId);
4339}
4340static inline HRESULT IWbemConfigureRefresher_AddObjectByTemplate(IWbemConfigureRefresher* This,IWbemServices *pNamespace,IWbemClassObject *pTemplate,LONG lFlags,IWbemContext *pContext,IWbemClassObject **ppRefreshable,LONG *plId) {
4341    return This->lpVtbl->AddObjectByTemplate(This,pNamespace,pTemplate,lFlags,pContext,ppRefreshable,plId);
4342}
4343static inline HRESULT IWbemConfigureRefresher_AddRefresher(IWbemConfigureRefresher* This,IWbemRefresher *pRefresher,LONG lFlags,LONG *plId) {
4344    return This->lpVtbl->AddRefresher(This,pRefresher,lFlags,plId);
4345}
4346static inline HRESULT IWbemConfigureRefresher_Remove(IWbemConfigureRefresher* This,LONG lId,LONG lFlags) {
4347    return This->lpVtbl->Remove(This,lId,lFlags);
4348}
4349static inline HRESULT IWbemConfigureRefresher_AddEnum(IWbemConfigureRefresher* This,IWbemServices *pNamespace,LPCWSTR wszClassName,LONG lFlags,IWbemContext *pContext,IWbemHiPerfEnum **ppEnum,LONG *plId) {
4350    return This->lpVtbl->AddEnum(This,pNamespace,wszClassName,lFlags,pContext,ppEnum,plId);
4351}
4352#endif
4353#endif
4354
4355#endif
4356
4357
4358#endif  /* __IWbemConfigureRefresher_INTERFACE_DEFINED__ */
4359
4360#endif
4361/* Begin additional prototypes for all interfaces */
4362
4363ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
4364unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
4365unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
4366void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
4367ULONG           __RPC_USER VARIANT_UserSize     (ULONG *, ULONG, VARIANT *);
4368unsigned char * __RPC_USER VARIANT_UserMarshal  (ULONG *, unsigned char *, VARIANT *);
4369unsigned char * __RPC_USER VARIANT_UserUnmarshal(ULONG *, unsigned char *, VARIANT *);
4370void            __RPC_USER VARIANT_UserFree     (ULONG *, VARIANT *);
4371
4372/* End additional prototypes */
4373
4374#ifdef __cplusplus
4375}
4376#endif
4377
4378#endif /* __wbemcli_h__ */