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