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