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