1 // Licensed under the Apache License, Version 2.0 2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license 3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option. 4 // All files in the project carrying such notice may not be copied, modified, or distributed 5 // except according to those terms. 6 use ctypes::c_long; 7 use shared::winerror::HRESULT; 8 use shared::wtypes::{BSTR, DATE, VARIANT_BOOL}; 9 use um::oaidl::{DISPID, IDispatch, IDispatchVtbl, VARIANT}; 10 use um::unknwnbase::IUnknown; 11 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0000_v0_0_c_ifspec; 12 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0000_v0_0_s_ifspec; 13 ENUM!{enum WbemChangeFlagEnum { 14 wbemChangeFlagCreateOrUpdate = 0, 15 wbemChangeFlagUpdateOnly = 0x1, 16 wbemChangeFlagCreateOnly = 0x2, 17 wbemChangeFlagUpdateCompatible = 0, 18 wbemChangeFlagUpdateSafeMode = 0x20, 19 wbemChangeFlagUpdateForceMode = 0x40, 20 wbemChangeFlagStrongValidation = 0x80, 21 wbemChangeFlagAdvisory = 0x10000, 22 }} 23 ENUM!{enum WbemFlagEnum { 24 wbemFlagReturnImmediately = 0x10, 25 wbemFlagReturnWhenComplete = 0, 26 wbemFlagBidirectional = 0, 27 wbemFlagForwardOnly = 0x20, 28 wbemFlagNoErrorObject = 0x40, 29 wbemFlagReturnErrorObject = 0, 30 wbemFlagSendStatus = 0x80, 31 wbemFlagDontSendStatus = 0, 32 wbemFlagEnsureLocatable = 0x100, 33 wbemFlagDirectRead = 0x200, 34 wbemFlagSendOnlySelected = 0, 35 wbemFlagUseAmendedQualifiers = 0x20000, 36 wbemFlagGetDefault = 0, 37 wbemFlagSpawnInstance = 0x1, 38 wbemFlagUseCurrentTime = 0x1, 39 }} 40 ENUM!{enum WbemQueryFlagEnum { 41 wbemQueryFlagDeep = 0, 42 wbemQueryFlagShallow = 1, 43 wbemQueryFlagPrototype = 2, 44 }} 45 ENUM!{enum WbemTextFlagEnum { 46 wbemTextFlagNoFlavors = 0x1, 47 }} 48 ENUM!{enum WbemTimeout { 49 wbemTimeoutInfinite = 0xffffffff, 50 }} 51 ENUM!{enum WbemComparisonFlagEnum { 52 wbemComparisonFlagIncludeAll = 0, 53 wbemComparisonFlagIgnoreQualifiers = 0x1, 54 wbemComparisonFlagIgnoreObjectSource = 0x2, 55 wbemComparisonFlagIgnoreDefaultValues = 0x4, 56 wbemComparisonFlagIgnoreClass = 0x8, 57 wbemComparisonFlagIgnoreCase = 0x10, 58 wbemComparisonFlagIgnoreFlavor = 0x20, 59 }} 60 ENUM!{enum WbemCimtypeEnum { 61 wbemCimtypeSint8 = 16, 62 wbemCimtypeUint8 = 17, 63 wbemCimtypeSint16 = 2, 64 wbemCimtypeUint16 = 18, 65 wbemCimtypeSint32 = 3, 66 wbemCimtypeUint32 = 19, 67 wbemCimtypeSint64 = 20, 68 wbemCimtypeUint64 = 21, 69 wbemCimtypeReal32 = 4, 70 wbemCimtypeReal64 = 5, 71 wbemCimtypeBoolean = 11, 72 wbemCimtypeString = 8, 73 wbemCimtypeDatetime = 101, 74 wbemCimtypeReference = 102, 75 wbemCimtypeChar16 = 103, 76 wbemCimtypeObject = 13, 77 }} 78 ENUM!{enum WbemErrorEnum { 79 wbemNoErr = 0, 80 wbemErrFailed = 0x80041001, 81 wbemErrNotFound = 0x80041002, 82 wbemErrAccessDenied = 0x80041003, 83 wbemErrProviderFailure = 0x80041004, 84 wbemErrTypeMismatch = 0x80041005, 85 wbemErrOutOfMemory = 0x80041006, 86 wbemErrInvalidContext = 0x80041007, 87 wbemErrInvalidParameter = 0x80041008, 88 wbemErrNotAvailable = 0x80041009, 89 wbemErrCriticalError = 0x8004100a, 90 wbemErrInvalidStream = 0x8004100b, 91 wbemErrNotSupported = 0x8004100c, 92 wbemErrInvalidSuperclass = 0x8004100d, 93 wbemErrInvalidNamespace = 0x8004100e, 94 wbemErrInvalidObject = 0x8004100f, 95 wbemErrInvalidClass = 0x80041010, 96 wbemErrProviderNotFound = 0x80041011, 97 wbemErrInvalidProviderRegistration = 0x80041012, 98 wbemErrProviderLoadFailure = 0x80041013, 99 wbemErrInitializationFailure = 0x80041014, 100 wbemErrTransportFailure = 0x80041015, 101 wbemErrInvalidOperation = 0x80041016, 102 wbemErrInvalidQuery = 0x80041017, 103 wbemErrInvalidQueryType = 0x80041018, 104 wbemErrAlreadyExists = 0x80041019, 105 wbemErrOverrideNotAllowed = 0x8004101a, 106 wbemErrPropagatedQualifier = 0x8004101b, 107 wbemErrPropagatedProperty = 0x8004101c, 108 wbemErrUnexpected = 0x8004101d, 109 wbemErrIllegalOperation = 0x8004101e, 110 wbemErrCannotBeKey = 0x8004101f, 111 wbemErrIncompleteClass = 0x80041020, 112 wbemErrInvalidSyntax = 0x80041021, 113 wbemErrNondecoratedObject = 0x80041022, 114 wbemErrReadOnly = 0x80041023, 115 wbemErrProviderNotCapable = 0x80041024, 116 wbemErrClassHasChildren = 0x80041025, 117 wbemErrClassHasInstances = 0x80041026, 118 wbemErrQueryNotImplemented = 0x80041027, 119 wbemErrIllegalNull = 0x80041028, 120 wbemErrInvalidQualifierType = 0x80041029, 121 wbemErrInvalidPropertyType = 0x8004102a, 122 wbemErrValueOutOfRange = 0x8004102b, 123 wbemErrCannotBeSingleton = 0x8004102c, 124 wbemErrInvalidCimType = 0x8004102d, 125 wbemErrInvalidMethod = 0x8004102e, 126 wbemErrInvalidMethodParameters = 0x8004102f, 127 wbemErrSystemProperty = 0x80041030, 128 wbemErrInvalidProperty = 0x80041031, 129 wbemErrCallCancelled = 0x80041032, 130 wbemErrShuttingDown = 0x80041033, 131 wbemErrPropagatedMethod = 0x80041034, 132 wbemErrUnsupportedParameter = 0x80041035, 133 wbemErrMissingParameter = 0x80041036, 134 wbemErrInvalidParameterId = 0x80041037, 135 wbemErrNonConsecutiveParameterIds = 0x80041038, 136 wbemErrParameterIdOnRetval = 0x80041039, 137 wbemErrInvalidObjectPath = 0x8004103a, 138 wbemErrOutOfDiskSpace = 0x8004103b, 139 wbemErrBufferTooSmall = 0x8004103c, 140 wbemErrUnsupportedPutExtension = 0x8004103d, 141 wbemErrUnknownObjectType = 0x8004103e, 142 wbemErrUnknownPacketType = 0x8004103f, 143 wbemErrMarshalVersionMismatch = 0x80041040, 144 wbemErrMarshalInvalidSignature = 0x80041041, 145 wbemErrInvalidQualifier = 0x80041042, 146 wbemErrInvalidDuplicateParameter = 0x80041043, 147 wbemErrTooMuchData = 0x80041044, 148 wbemErrServerTooBusy = 0x80041045, 149 wbemErrInvalidFlavor = 0x80041046, 150 wbemErrCircularReference = 0x80041047, 151 wbemErrUnsupportedClassUpdate = 0x80041048, 152 wbemErrCannotChangeKeyInheritance = 0x80041049, 153 wbemErrCannotChangeIndexInheritance = 0x80041050, 154 wbemErrTooManyProperties = 0x80041051, 155 wbemErrUpdateTypeMismatch = 0x80041052, 156 wbemErrUpdateOverrideNotAllowed = 0x80041053, 157 wbemErrUpdatePropagatedMethod = 0x80041054, 158 wbemErrMethodNotImplemented = 0x80041055, 159 wbemErrMethodDisabled = 0x80041056, 160 wbemErrRefresherBusy = 0x80041057, 161 wbemErrUnparsableQuery = 0x80041058, 162 wbemErrNotEventClass = 0x80041059, 163 wbemErrMissingGroupWithin = 0x8004105a, 164 wbemErrMissingAggregationList = 0x8004105b, 165 wbemErrPropertyNotAnObject = 0x8004105c, 166 wbemErrAggregatingByObject = 0x8004105d, 167 wbemErrUninterpretableProviderQuery = 0x8004105f, 168 wbemErrBackupRestoreWinmgmtRunning = 0x80041060, 169 wbemErrQueueOverflow = 0x80041061, 170 wbemErrPrivilegeNotHeld = 0x80041062, 171 wbemErrInvalidOperator = 0x80041063, 172 wbemErrLocalCredentials = 0x80041064, 173 wbemErrCannotBeAbstract = 0x80041065, 174 wbemErrAmendedObject = 0x80041066, 175 wbemErrClientTooSlow = 0x80041067, 176 wbemErrNullSecurityDescriptor = 0x80041068, 177 wbemErrTimeout = 0x80041069, 178 wbemErrInvalidAssociation = 0x8004106a, 179 wbemErrAmbiguousOperation = 0x8004106b, 180 wbemErrQuotaViolation = 0x8004106c, 181 wbemErrTransactionConflict = 0x8004106d, 182 wbemErrForcedRollback = 0x8004106e, 183 wbemErrUnsupportedLocale = 0x8004106f, 184 wbemErrHandleOutOfDate = 0x80041070, 185 wbemErrConnectionFailed = 0x80041071, 186 wbemErrInvalidHandleRequest = 0x80041072, 187 wbemErrPropertyNameTooWide = 0x80041073, 188 wbemErrClassNameTooWide = 0x80041074, 189 wbemErrMethodNameTooWide = 0x80041075, 190 wbemErrQualifierNameTooWide = 0x80041076, 191 wbemErrRerunCommand = 0x80041077, 192 wbemErrDatabaseVerMismatch = 0x80041078, 193 wbemErrVetoPut = 0x80041079, 194 wbemErrVetoDelete = 0x8004107a, 195 wbemErrInvalidLocale = 0x80041080, 196 wbemErrProviderSuspended = 0x80041081, 197 wbemErrSynchronizationRequired = 0x80041082, 198 wbemErrNoSchema = 0x80041083, 199 wbemErrProviderAlreadyRegistered = 0x80041084, 200 wbemErrProviderNotRegistered = 0x80041085, 201 wbemErrFatalTransportError = 0x80041086, 202 wbemErrEncryptedConnectionRequired = 0x80041087, 203 wbemErrRegistrationTooBroad = 0x80042001, 204 wbemErrRegistrationTooPrecise = 0x80042002, 205 wbemErrTimedout = 0x80043001, 206 wbemErrResetToDefault = 0x80043002, 207 }} 208 ENUM!{enum WbemAuthenticationLevelEnum { 209 wbemAuthenticationLevelDefault = 0, 210 wbemAuthenticationLevelNone = 1, 211 wbemAuthenticationLevelConnect = 2, 212 wbemAuthenticationLevelCall = 3, 213 wbemAuthenticationLevelPkt = 4, 214 wbemAuthenticationLevelPktIntegrity = 5, 215 wbemAuthenticationLevelPktPrivacy = 6, 216 }} 217 ENUM!{enum WbemImpersonationLevelEnum { 218 wbemImpersonationLevelAnonymous = 1, 219 wbemImpersonationLevelIdentify = 2, 220 wbemImpersonationLevelImpersonate = 3, 221 wbemImpersonationLevelDelegate = 4, 222 }} 223 ENUM!{enum WbemPrivilegeEnum { 224 wbemPrivilegeCreateToken = 1, 225 wbemPrivilegePrimaryToken = 2, 226 wbemPrivilegeLockMemory = 3, 227 wbemPrivilegeIncreaseQuota = 4, 228 wbemPrivilegeMachineAccount = 5, 229 wbemPrivilegeTcb = 6, 230 wbemPrivilegeSecurity = 7, 231 wbemPrivilegeTakeOwnership = 8, 232 wbemPrivilegeLoadDriver = 9, 233 wbemPrivilegeSystemProfile = 10, 234 wbemPrivilegeSystemtime = 11, 235 wbemPrivilegeProfileSingleProcess = 12, 236 wbemPrivilegeIncreaseBasePriority = 13, 237 wbemPrivilegeCreatePagefile = 14, 238 wbemPrivilegeCreatePermanent = 15, 239 wbemPrivilegeBackup = 16, 240 wbemPrivilegeRestore = 17, 241 wbemPrivilegeShutdown = 18, 242 wbemPrivilegeDebug = 19, 243 wbemPrivilegeAudit = 20, 244 wbemPrivilegeSystemEnvironment = 21, 245 wbemPrivilegeChangeNotify = 22, 246 wbemPrivilegeRemoteShutdown = 23, 247 wbemPrivilegeUndock = 24, 248 wbemPrivilegeSyncAgent = 25, 249 wbemPrivilegeEnableDelegation = 26, 250 wbemPrivilegeManageVolume = 27, 251 }} 252 ENUM!{enum WbemObjectTextFormatEnum { 253 wbemObjectTextFormatCIMDTD20 = 1, 254 wbemObjectTextFormatWMIDTD20 = 2, 255 }} 256 ENUM!{enum WbemConnectOptionsEnum { 257 wbemConnectFlagUseMaxWait = 0x80, 258 }} 259 // EXTERN_C const IID LIBID_WbemScripting; 260 // EXTERN_C const IID IID_ISWbemServices; 261 DEFINE_GUID!{IID_ISWbemServices, 262 0x76a6415c, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 263 RIDL!{#[uuid(0x76a6415c, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 264 interface ISWbemServices(ISWbemServicesVtbl): IDispatch(IDispatchVtbl) { 265 fn Get( 266 strObjectPath: BSTR, 267 iFlags: c_long, 268 objWbemNamedValueSet: *mut IDispatch, 269 objWbemObject: *mut *mut ISWbemObject, 270 ) -> HRESULT, 271 fn GetAsync( 272 objWbemSink: *mut IDispatch, 273 strObjectPath: BSTR, 274 iFlags: c_long, 275 objWbemNamedValueSet: *mut IDispatch, 276 objWbemAsyncContext: *mut IDispatch, 277 ) -> HRESULT, 278 fn Delete( 279 strObjectPath: BSTR, 280 iFlags: c_long, 281 objWbemNamedValueSet: *mut IDispatch, 282 ) -> HRESULT, 283 fn DeleteAsync( 284 objWbemSink: *mut IDispatch, 285 strObjectPath: BSTR, 286 iFlags: c_long, 287 objWbemNamedValueSet: *mut IDispatch, 288 objWbemAsyncContext: *mut IDispatch, 289 ) -> HRESULT, 290 fn InstancesOf( 291 strClass: BSTR, 292 iFlags: c_long, 293 objWbemNamedValueSet: *mut IDispatch, 294 objWbemObjectSet: *mut *mut ISWbemObjectSet, 295 ) -> HRESULT, 296 fn InstancesOfAsync( 297 objWbemSink: *mut IDispatch, 298 strClass: BSTR, 299 iFlags: c_long, 300 objWbemNamedValueSet: *mut IDispatch, 301 objWbemAsyncContext: *mut IDispatch, 302 ) -> HRESULT, 303 fn SubclassesOf( 304 strSuperclass: BSTR, 305 iFlags: c_long, 306 objWbemNamedValueSet: *mut IDispatch, 307 objWbemObjectSet: *mut *mut ISWbemObjectSet, 308 ) -> HRESULT, 309 fn SubclassesOfAsync( 310 objWbemSink: *mut IDispatch, 311 strSuperclass: BSTR, 312 iFlags: c_long, 313 objWbemNamedValueSet: *mut IDispatch, 314 objWbemAsyncContext: *mut IDispatch, 315 ) -> HRESULT, 316 fn ExecQuery( 317 strQuery: BSTR, 318 strQueryLanguage: BSTR, 319 iFlags: c_long, 320 objWbemNamedValueSet: *mut IDispatch, 321 objWbemObjectSet: *mut *mut ISWbemObjectSet, 322 ) -> HRESULT, 323 fn ExecQueryAsync( 324 objWbemSink: *mut IDispatch, 325 strQuery: BSTR, 326 strQueryLanguage: BSTR, 327 lFlags: c_long, 328 objWbemNamedValueSet: *mut IDispatch, 329 objWbemAsyncContext: *mut IDispatch, 330 ) -> HRESULT, 331 fn AssociatorsOf( 332 strObjectPath: BSTR, 333 strAssocClass: BSTR, 334 strResultClass: BSTR, 335 strResultRole: BSTR, 336 strRole: BSTR, 337 bClassesOnly: VARIANT_BOOL, 338 bSchemaOnly: VARIANT_BOOL, 339 strRequiredAssocQualifier: BSTR, 340 strRequiredQualifier: BSTR, 341 iFlags: c_long, 342 objWbemNamedValueSet: *mut IDispatch, 343 objWbemObjectSet: *mut *mut ISWbemObjectSet, 344 ) -> HRESULT, 345 fn AssociatorsOfAsync( 346 objWbemSink: *mut IDispatch, 347 strObjectPath: BSTR, 348 strAssocClass: BSTR, 349 strResultClass: BSTR, 350 strResultRole: BSTR, 351 strRole: BSTR, 352 bClassesOnly: VARIANT_BOOL, 353 bSchemaOnly: VARIANT_BOOL, 354 strRequiredAssocQualifier: BSTR, 355 strRequiredQualifier: BSTR, 356 iFlags: c_long, 357 objWbemNamedValueSet: *mut IDispatch, 358 objWbemAsyncContext: *mut IDispatch, 359 ) -> HRESULT, 360 fn ReferencesTo( 361 strObjectPath: BSTR, 362 strResultClass: BSTR, 363 strRole: BSTR, 364 bClassesOnly: VARIANT_BOOL, 365 bSchemaOnly: VARIANT_BOOL, 366 strRequiredQualifier: BSTR, 367 iFlags: c_long, 368 objWbemNamedValueSet: *mut IDispatch, 369 objWbemObjectSet: *mut *mut ISWbemObjectSet, 370 ) -> HRESULT, 371 fn ReferencesToAsync( 372 objWbemSink: *mut IDispatch, 373 strObjectPath: BSTR, 374 strResultClass: BSTR, 375 strRole: BSTR, 376 bClassesOnly: VARIANT_BOOL, 377 bSchemaOnly: VARIANT_BOOL, 378 strRequiredQualifier: BSTR, 379 iFlags: c_long, 380 objWbemNamedValueSet: *mut IDispatch, 381 objWbemAsyncContext: *mut IDispatch, 382 ) -> HRESULT, 383 fn ExecNotificationQuery( 384 strQuery: BSTR, 385 strQueryLanguage: BSTR, 386 iFlags: c_long, 387 objWbemNamedValueSet: *mut IDispatch, 388 objWbemEventSource: *mut *mut ISWbemEventSource, 389 ) -> HRESULT, 390 fn ExecNotificationQueryAsync( 391 objWbemSink: *mut IDispatch, 392 strQuery: BSTR, 393 strQueryLanguage: BSTR, 394 iFlags: c_long, 395 objWbemNamedValueSet: *mut IDispatch, 396 objWbemAsyncContext: *mut IDispatch, 397 ) -> HRESULT, 398 fn ExecMethod( 399 strObjectPath: BSTR, 400 strMethodName: BSTR, 401 objWbemInParameters: *mut IDispatch, 402 iFlags: c_long, 403 objWbemNamedValueSet: *mut IDispatch, 404 objWbemOutParameters: *mut *mut ISWbemObject, 405 ) -> HRESULT, 406 fn ExecMethodAsync( 407 objWbemSink: *mut IDispatch, 408 strObjectPath: BSTR, 409 strMethodName: BSTR, 410 objWbemInParameters: *mut IDispatch, 411 iFlags: c_long, 412 objWbemNamedValueSet: *mut IDispatch, 413 objWbemAsyncContext: *mut IDispatch, 414 ) -> HRESULT, 415 fn get_Security_( 416 objWbemSecurity: *mut *mut ISWbemSecurity, 417 ) -> HRESULT, 418 }} 419 // EXTERN_C const IID IID_ISWbemLocator; 420 DEFINE_GUID!{IID_ISWbemLocator, 421 0x76a6415b, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 422 RIDL!{#[uuid(0x76a6415b, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 423 interface ISWbemLocator(ISWbemLocatorVtbl): IDispatch(IDispatchVtbl) { 424 fn ConnectServer( 425 strServer: BSTR, 426 strNamespace: BSTR, 427 strUser: BSTR, 428 strPassword: BSTR, 429 strLocale: BSTR, 430 strAuthority: BSTR, 431 iSecurityFlags: c_long, 432 objWbemNamedValueSet: *mut IDispatch, 433 objWbemServices: *mut *mut ISWbemServices, 434 ) -> HRESULT, 435 fn get_Security_( 436 objWbemSecurity: *mut *mut ISWbemSecurity, 437 ) -> HRESULT, 438 }} 439 pub const WBEMS_DISPID_DERIVATION: DISPID = 23; 440 // EXTERN_C const IID IID_ISWbemObject; 441 DEFINE_GUID!{IID_ISWbemObject, 442 0x76a6415a, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 443 RIDL!{#[uuid(0x76a6415a, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 444 interface ISWbemObject(ISWbemObjectVtbl): IDispatch(IDispatchVtbl) { 445 fn Put_( 446 iFlags: c_long, 447 objWbemNamedValueSet: *mut IDispatch, 448 objWbemObjectPath: *mut *mut ISWbemObjectPath, 449 ) -> HRESULT, 450 fn PutAsync_( 451 objWbemSink: *mut IDispatch, 452 iFlags: c_long, 453 objWbemNamedValueSet: *mut IDispatch, 454 objWbemAsyncContext: *mut IDispatch, 455 ) -> HRESULT, 456 fn Delete_( 457 iFlags: c_long, 458 objWbemNamedValueSet: *mut IDispatch, 459 ) -> HRESULT, 460 fn DeleteAsync_( 461 objWbemSink: *mut IDispatch, 462 iFlags: c_long, 463 objWbemNamedValueSet: *mut IDispatch, 464 objWbemAsyncContext: *mut IDispatch, 465 ) -> HRESULT, 466 fn Instances_( 467 iFlags: c_long, 468 objWbemNamedValueSet: *mut IDispatch, 469 objWbemObjectSet: *mut *mut ISWbemObjectSet, 470 ) -> HRESULT, 471 fn InstancesAsync_( 472 objWbemSink: *mut IDispatch, 473 iFlags: c_long, 474 objWbemNamedValueSet: *mut IDispatch, 475 objWbemAsyncContext: *mut IDispatch, 476 ) -> HRESULT, 477 fn Subclasses_( 478 iFlags: c_long, 479 objWbemNamedValueSet: *mut IDispatch, 480 objWbemObjectSet: *mut *mut ISWbemObjectSet, 481 ) -> HRESULT, 482 fn SubclassesAsync_( 483 objWbemSink: *mut IDispatch, 484 iFlags: c_long, 485 objWbemNamedValueSet: *mut IDispatch, 486 objWbemAsyncContext: *mut IDispatch, 487 ) -> HRESULT, 488 fn Associators_( 489 strAssocClass: BSTR, 490 strResultClass: BSTR, 491 strResultRole: BSTR, 492 strRole: BSTR, 493 bClassesOnly: VARIANT_BOOL, 494 bSchemaOnly: VARIANT_BOOL, 495 strRequiredAssocQualifier: BSTR, 496 strRequiredQualifier: BSTR, 497 iFlags: c_long, 498 objWbemNamedValueSet: *mut IDispatch, 499 objWbemObjectSet: *mut *mut ISWbemObjectSet, 500 ) -> HRESULT, 501 fn AssociatorsAsync_( 502 objWbemSink: *mut IDispatch, 503 strAssocClass: BSTR, 504 strResultClass: BSTR, 505 strResultRole: BSTR, 506 strRole: BSTR, 507 bClassesOnly: VARIANT_BOOL, 508 bSchemaOnly: VARIANT_BOOL, 509 strRequiredAssocQualifier: BSTR, 510 strRequiredQualifier: BSTR, 511 iFlags: c_long, 512 objWbemNamedValueSet: *mut IDispatch, 513 objWbemAsyncContext: *mut IDispatch, 514 ) -> HRESULT, 515 fn References_( 516 strResultClass: BSTR, 517 strRole: BSTR, 518 bClassesOnly: VARIANT_BOOL, 519 bSchemaOnly: VARIANT_BOOL, 520 strRequiredQualifier: BSTR, 521 iFlags: c_long, 522 objWbemNamedValueSet: *mut IDispatch, 523 objWbemObjectSet: *mut *mut ISWbemObjectSet, 524 ) -> HRESULT, 525 fn ReferencesAsync_( 526 objWbemSink: *mut IDispatch, 527 strResultClass: BSTR, 528 strRole: BSTR, 529 bClassesOnly: VARIANT_BOOL, 530 bSchemaOnly: VARIANT_BOOL, 531 strRequiredQualifier: BSTR, 532 iFlags: c_long, 533 objWbemNamedValueSet: *mut IDispatch, 534 objWbemAsyncContext: *mut IDispatch, 535 ) -> HRESULT, 536 fn ExecMethod_( 537 strMethodName: BSTR, 538 objWbemInParameters: *mut IDispatch, 539 iFlags: c_long, 540 objWbemNamedValueSet: *mut IDispatch, 541 objWbemOutParameters: *mut *mut ISWbemObject, 542 ) -> HRESULT, 543 fn ExecMethodAsync_( 544 objWbemSink: *mut IDispatch, 545 strMethodName: BSTR, 546 objWbemInParameters: *mut IDispatch, 547 iFlags: c_long, 548 objWbemNamedValueSet: *mut IDispatch, 549 objWbemAsyncContext: *mut IDispatch, 550 ) -> HRESULT, 551 fn Clone_( 552 objWbemObject: *mut *mut ISWbemObject, 553 ) -> HRESULT, 554 fn GetObjectText_( 555 iFlags: c_long, 556 strObjectText: *mut BSTR, 557 ) -> HRESULT, 558 fn SpawnDerivedClass_( 559 iFlags: c_long, 560 objWbemObject: *mut *mut ISWbemObject, 561 ) -> HRESULT, 562 fn SpawnInstance_( 563 iFlags: c_long, 564 objWbemObject: *mut *mut ISWbemObject, 565 ) -> HRESULT, 566 fn CompareTo_( 567 objWbemObject: *mut IDispatch, 568 iFlags: c_long, 569 bResult: *mut VARIANT_BOOL, 570 ) -> HRESULT, 571 fn get_Qualifiers_( 572 objWbemQualifierSet: *mut *mut ISWbemQualifierSet, 573 ) -> HRESULT, 574 fn get_Properties_( 575 objWbemPropertySet: *mut *mut ISWbemPropertySet, 576 ) -> HRESULT, 577 fn get_Methods_( 578 objWbemMethodSet: *mut *mut ISWbemMethodSet, 579 ) -> HRESULT, 580 fn get_Derivation_( 581 strClassNameArray: *mut VARIANT, 582 ) -> HRESULT, 583 fn get_Path_( 584 objWbemObjectPath: *mut *mut ISWbemObjectPath, 585 ) -> HRESULT, 586 fn get_Security_( 587 objWbemSecurity: *mut *mut ISWbemSecurity, 588 ) -> HRESULT, 589 }} 590 // EXTERN_C const IID IID_ISWbemObjectSet; 591 DEFINE_GUID!{IID_ISWbemObjectSet, 592 0x76a6415f, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 593 RIDL!{#[uuid(0x76a6415f, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 594 interface ISWbemObjectSet(ISWbemObjectSetVtbl): IDispatch(IDispatchVtbl) { 595 fn get__NewEnum( 596 pUnk: *mut *mut IUnknown, 597 ) -> HRESULT, 598 fn Item( 599 strObjectPath: BSTR, 600 iFlags: c_long, 601 objWbemObject: *mut *mut ISWbemObject, 602 ) -> HRESULT, 603 fn get_Count( 604 iCount: *mut c_long, 605 ) -> HRESULT, 606 fn get_Security_( 607 objWbemSecurity: *mut *mut ISWbemSecurity, 608 ) -> HRESULT, 609 fn ItemIndex( 610 lIndex: c_long, 611 objWbemObject: *mut *mut ISWbemObject, 612 ) -> HRESULT, 613 }} 614 // EXTERN_C const IID IID_ISWbemNamedValue; 615 DEFINE_GUID!{IID_ISWbemNamedValue, 616 0x76a64164, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 617 RIDL!{#[uuid(0x76a64164, 0xcb41, 0x11d1, 0x8b, 0x02, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 618 interface ISWbemNamedValue(ISWbemNamedValueVtbl): IDispatch(IDispatchVtbl) { 619 fn get_Value( 620 varValue: *mut VARIANT, 621 ) -> HRESULT, 622 fn put_Value( 623 varValue: *mut VARIANT, 624 ) -> HRESULT, 625 fn get_Name( 626 strName: *mut BSTR, 627 ) -> HRESULT, 628 }} 629 // EXTERN_C const IID IID_ISWbemNamedValueSet; 630 DEFINE_GUID!{IID_ISWbemNamedValueSet, 631 0xcf2376ea, 0xce8c, 0x11d1, 0x8b, 0x05, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 632 RIDL!{#[uuid(0xcf2376ea, 0xce8c, 0x11d1, 0x8b, 0x05, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 633 interface ISWbemNamedValueSet(ISWbemNamedValueSetVtbl): IDispatch(IDispatchVtbl) { 634 fn get__NewEnum( 635 pUnk: *mut *mut IUnknown, 636 ) -> HRESULT, 637 fn Item( 638 strName: BSTR, 639 iFlags: c_long, 640 objWbemNamedValue: *mut *mut ISWbemNamedValue, 641 ) -> HRESULT, 642 fn get_Count( 643 iCount: *mut c_long, 644 ) -> HRESULT, 645 fn Add( 646 strName: BSTR, 647 varValue: *mut VARIANT, 648 iFlags: c_long, 649 objWbemNamedValue: *mut *mut ISWbemNamedValue, 650 ) -> HRESULT, 651 fn Remove( 652 strName: BSTR, 653 iFlags: c_long, 654 ) -> HRESULT, 655 fn Clone( 656 objWbemNamedValueSet: *mut *mut ISWbemNamedValueSet, 657 ) -> HRESULT, 658 fn DeleteAll() -> HRESULT, 659 }} 660 // EXTERN_C const IID IID_ISWbemQualifier; 661 DEFINE_GUID!{IID_ISWbemQualifier, 662 0x79b05932, 0xd3b7, 0x11d1, 0x8b, 0x06, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 663 RIDL!{#[uuid(0x79b05932, 0xd3b7, 0x11d1, 0x8b, 0x06, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 664 interface ISWbemQualifier(ISWbemQualifierVtbl): IDispatch(IDispatchVtbl) { 665 fn get_Value( 666 varValue: *mut VARIANT, 667 ) -> HRESULT, 668 fn put_Value( 669 varValue: *mut VARIANT, 670 ) -> HRESULT, 671 fn get_Name( 672 strName: *mut BSTR, 673 ) -> HRESULT, 674 fn get_IsLocal( 675 bIsLocal: *mut VARIANT_BOOL, 676 ) -> HRESULT, 677 fn get_PropagatesToSubclass( 678 bPropagatesToSubclass: *mut VARIANT_BOOL, 679 ) -> HRESULT, 680 fn put_PropagatesToSubclass( 681 bPropagatesToSubclass: VARIANT_BOOL, 682 ) -> HRESULT, 683 fn get_PropagatesToInstance( 684 bPropagatesToInstance: *mut VARIANT_BOOL, 685 ) -> HRESULT, 686 fn put_PropagatesToInstance( 687 bPropagatesToInstance: VARIANT_BOOL, 688 ) -> HRESULT, 689 fn get_IsOverridable( 690 bIsOverridable: *mut VARIANT_BOOL, 691 ) -> HRESULT, 692 fn put_IsOverridable( 693 bIsOverridable: VARIANT_BOOL, 694 ) -> HRESULT, 695 fn get_IsAmended( 696 bIsAmended: *mut VARIANT_BOOL, 697 ) -> HRESULT, 698 }} 699 // EXTERN_C const IID IID_ISWbemQualifierSet; 700 DEFINE_GUID!{IID_ISWbemQualifierSet, 701 0x9b16ed16, 0xd3df, 0x11d1, 0x8b, 0x08, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 702 RIDL!{#[uuid(0x9b16ed16, 0xd3df, 0x11d1, 0x8b, 0x08, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 703 interface ISWbemQualifierSet(ISWbemQualifierSetVtbl): IDispatch(IDispatchVtbl) { 704 fn get__NewEnum( 705 pUnk: *mut *mut IUnknown, 706 ) -> HRESULT, 707 fn Item( 708 name: BSTR, 709 iFlags: c_long, 710 objWbemQualifier: *mut *mut ISWbemQualifier, 711 ) -> HRESULT, 712 fn get_Count( 713 iCount: *mut c_long, 714 ) -> HRESULT, 715 fn Add( 716 strName: BSTR, 717 varVal: *mut VARIANT, 718 bPropagatesToSubclass: VARIANT_BOOL, 719 bPropagatesToInstance: VARIANT_BOOL, 720 bIsOverridable: VARIANT_BOOL, 721 iFlags: c_long, 722 objWbemQualifier: *mut *mut ISWbemQualifier, 723 ) -> HRESULT, 724 fn Remove( 725 strName: BSTR, 726 iFlags: c_long, 727 ) -> HRESULT, 728 }} 729 // EXTERN_C const IID IID_ISWbemProperty; 730 DEFINE_GUID!{IID_ISWbemProperty, 731 0x1a388f98, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 732 RIDL!{#[uuid(0x1a388f98, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 733 interface ISWbemProperty(ISWbemPropertyVtbl): IDispatch(IDispatchVtbl) { 734 fn get_Value( 735 varValue: *mut VARIANT, 736 ) -> HRESULT, 737 fn put_Value( 738 varValue: *mut VARIANT, 739 ) -> HRESULT, 740 fn get_Name( 741 strName: *mut BSTR, 742 ) -> HRESULT, 743 fn get_IsLocal( 744 bIsLocal: *mut VARIANT_BOOL, 745 ) -> HRESULT, 746 fn get_Origin( 747 strOrigin: *mut BSTR, 748 ) -> HRESULT, 749 fn get_CIMType( 750 iCimType: *mut WbemCimtypeEnum, 751 ) -> HRESULT, 752 fn get_Qualifiers_( 753 objWbemQualifierSet: *mut *mut ISWbemQualifierSet, 754 ) -> HRESULT, 755 fn get_IsArray( 756 bIsArray: *mut VARIANT_BOOL, 757 ) -> HRESULT, 758 }} 759 // EXTERN_C const IID IID_ISWbemPropertySet; 760 DEFINE_GUID!{IID_ISWbemPropertySet, 761 0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 762 RIDL!{#[uuid(0xdea0a7b2, 0xd4ba, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 763 interface ISWbemPropertySet(ISWbemPropertySetVtbl): IDispatch(IDispatchVtbl) { 764 fn get__NewEnum( 765 pUnk: *mut *mut IUnknown, 766 ) -> HRESULT, 767 fn Item( 768 strName: BSTR, 769 iFlags: c_long, 770 objWbemProperty: *mut *mut ISWbemProperty, 771 ) -> HRESULT, 772 fn get_Count( 773 iCount: *mut c_long, 774 ) -> HRESULT, 775 fn Add( 776 strName: BSTR, 777 iCIMType: WbemCimtypeEnum, 778 bIsArray: VARIANT_BOOL, 779 iFlags: c_long, 780 objWbemProperty: *mut *mut ISWbemProperty, 781 ) -> HRESULT, 782 fn Remove( 783 strName: BSTR, 784 iFlags: c_long, 785 ) -> HRESULT, 786 }} 787 // EXTERN_C const IID IID_ISWbemMethod; 788 DEFINE_GUID!{IID_ISWbemMethod, 789 0x422e8e90, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 790 RIDL!{#[uuid(0x422e8e90, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 791 interface ISWbemMethod(ISWbemMethodVtbl): IDispatch(IDispatchVtbl) { 792 fn get_Name( 793 strName: *mut BSTR, 794 ) -> HRESULT, 795 fn get_Origin( 796 strOrigin: *mut BSTR, 797 ) -> HRESULT, 798 fn get_InParameters( 799 objWbemInParameters: *mut *mut ISWbemObject, 800 ) -> HRESULT, 801 fn get_OutParameters( 802 objWbemOutParameters: *mut *mut ISWbemObject, 803 ) -> HRESULT, 804 fn get_Qualifiers_( 805 objWbemQualifierSet: *mut *mut ISWbemQualifierSet, 806 ) -> HRESULT, 807 }} 808 // EXTERN_C const IID IID_ISWbemMethodSet; 809 DEFINE_GUID!{IID_ISWbemMethodSet, 810 0xc93ba292, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 811 RIDL!{#[uuid(0xc93ba292, 0xd955, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 812 interface ISWbemMethodSet(ISWbemMethodSetVtbl): IDispatch(IDispatchVtbl) { 813 fn get__NewEnum( 814 pUnk: *mut *mut IUnknown, 815 ) -> HRESULT, 816 fn Item( 817 strName: BSTR, 818 iFlags: c_long, 819 objWbemMethod: *mut *mut ISWbemMethod, 820 ) -> HRESULT, 821 fn get_Count( 822 iCount: *mut c_long, 823 ) -> HRESULT, 824 }} 825 // EXTERN_C const IID IID_ISWbemEventSource; 826 DEFINE_GUID!{IID_ISWbemEventSource, 827 0x27d54d92, 0x0ebe, 0x11d2, 0x8b, 0x22, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 828 RIDL!{#[uuid(0x27d54d92, 0x0ebe, 0x11d2, 0x8b, 0x22, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 829 interface ISWbemEventSource(ISWbemEventSourceVtbl): IDispatch(IDispatchVtbl) { 830 fn NextEvent( 831 iTimeoutMs: c_long, 832 objWbemObject: *mut *mut ISWbemObject, 833 ) -> HRESULT, 834 fn get_Security_( 835 objWbemSecurity: *mut *mut ISWbemSecurity, 836 ) -> HRESULT, 837 }} 838 // EXTERN_C const IID IID_ISWbemObjectPath; 839 DEFINE_GUID!{IID_ISWbemObjectPath, 840 0x5791bc27, 0xce9c, 0x11d1, 0x97, 0xbf, 0x00, 0x00, 0xf8, 0x1e, 0x84, 0x9c} 841 RIDL!{#[uuid(0x5791bc27, 0xce9c, 0x11d1, 0x97, 0xbf, 0x00, 0x00, 0xf8, 0x1e, 0x84, 0x9c)] 842 interface ISWbemObjectPath(ISWbemObjectPathVtbl): IDispatch(IDispatchVtbl) { 843 fn get_Path( 844 strPath: *mut BSTR, 845 ) -> HRESULT, 846 fn put_Path( 847 strPath: BSTR, 848 ) -> HRESULT, 849 fn get_RelPath( 850 strRelPath: *mut BSTR, 851 ) -> HRESULT, 852 fn put_RelPath( 853 strRelPath: BSTR, 854 ) -> HRESULT, 855 fn get_Server( 856 strServer: *mut BSTR, 857 ) -> HRESULT, 858 fn put_Server( 859 strServer: BSTR, 860 ) -> HRESULT, 861 fn get_Namespace( 862 strNamespace: *mut BSTR, 863 ) -> HRESULT, 864 fn put_Namespace( 865 strNamespace: BSTR, 866 ) -> HRESULT, 867 fn get_ParentNamespace( 868 strParentNamespace: *mut BSTR, 869 ) -> HRESULT, 870 fn get_DisplayName( 871 strDisplayName: *mut BSTR, 872 ) -> HRESULT, 873 fn put_DisplayName( 874 strDisplayName: BSTR, 875 ) -> HRESULT, 876 fn get_Class( 877 strClass: *mut BSTR, 878 ) -> HRESULT, 879 fn put_Class( 880 strClass: BSTR, 881 ) -> HRESULT, 882 fn get_IsClass( 883 bIsClass: *mut VARIANT_BOOL, 884 ) -> HRESULT, 885 fn SetAsClass() -> HRESULT, 886 fn get_IsSingleton( 887 bIsSingleton: *mut VARIANT_BOOL, 888 ) -> HRESULT, 889 fn SetAsSingleton() -> HRESULT, 890 fn get_Keys( 891 objWbemNamedValueSet: *mut *mut ISWbemNamedValueSet, 892 ) -> HRESULT, 893 fn get_Security_( 894 objWbemSecurity: *mut *mut ISWbemSecurity, 895 ) -> HRESULT, 896 fn get_Locale( 897 strLocale: *mut BSTR, 898 ) -> HRESULT, 899 fn put_Locale( 900 strLocale: BSTR, 901 ) -> HRESULT, 902 fn get_Authority( 903 strAuthority: *mut BSTR, 904 ) -> HRESULT, 905 fn put_Authority( 906 strAuthority: BSTR, 907 ) -> HRESULT, 908 }} 909 // EXTERN_C const IID IID_ISWbemLastError; 910 DEFINE_GUID!{IID_ISWbemLastError, 911 0xd962db84, 0xd4bb, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 912 RIDL!{#[uuid(0xd962db84, 0xd4bb, 0x11d1, 0x8b, 0x09, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 913 interface ISWbemLastError(ISWbemLastErrorVtbl): ISWbemObject(ISWbemObjectVtbl) {}} 914 // EXTERN_C const IID DIID_ISWbemSinkEvents; 915 DEFINE_GUID!{IID_ISWbemSinkEvents, 916 0x75718ca0, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23} 917 RIDL!{#[uuid(0x75718ca0, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23)] 918 interface ISWbemSinkEvents(ISWbemSinkEventsVtbl): IDispatch(IDispatchVtbl) {}} 919 // EXTERN_C const IID IID_ISWbemSink; 920 DEFINE_GUID!{IID_ISWbemSink, 921 0x75718c9f, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23} 922 RIDL!{#[uuid(0x75718c9f, 0xf029, 0x11d1, 0xa1, 0xac, 0x00, 0xc0, 0x4f, 0xb6, 0xc2, 0x23)] 923 interface ISWbemSink(ISWbemSinkVtbl): IDispatch(IDispatchVtbl) { 924 fn Cancel() -> HRESULT, 925 }} 926 // EXTERN_C const IID IID_ISWbemSecurity; 927 DEFINE_GUID!{IID_ISWbemSecurity, 928 0xb54d66e6, 0x2287, 0x11d2, 0x8b, 0x33, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 929 RIDL!{#[uuid(0xb54d66e6, 0x2287, 0x11d2, 0x8b, 0x33, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 930 interface ISWbemSecurity(ISWbemSecurityVtbl): IDispatch(IDispatchVtbl) { 931 fn get_ImpersonationLevel( 932 iImpersonationLevel: *mut WbemImpersonationLevelEnum, 933 ) -> HRESULT, 934 fn put_ImpersonationLevel( 935 iImpersonationLevel: WbemImpersonationLevelEnum, 936 ) -> HRESULT, 937 fn get_AuthenticationLevel( 938 iAuthenticationLevel: *mut WbemAuthenticationLevelEnum, 939 ) -> HRESULT, 940 fn put_AuthenticationLevel( 941 iAuthenticationLevel: WbemAuthenticationLevelEnum, 942 ) -> HRESULT, 943 fn get_Privileges( 944 objWbemPrivilegeSet: *mut *mut ISWbemPrivilegeSet, 945 ) -> HRESULT, 946 }} 947 // EXTERN_C const IID IID_ISWbemPrivilege; 948 DEFINE_GUID!{IID_ISWbemPrivilege, 949 0x26ee67bd, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 950 RIDL!{#[uuid(0x26ee67bd, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 951 interface ISWbemPrivilege(ISWbemPrivilegeVtbl): IDispatch(IDispatchVtbl) { 952 fn get_IsEnabled( 953 bIsEnabled: *mut VARIANT_BOOL, 954 ) -> HRESULT, 955 fn put_IsEnabled( 956 bIsEnabled: VARIANT_BOOL, 957 ) -> HRESULT, 958 fn get_Name( 959 strDisplayName: *mut BSTR, 960 ) -> HRESULT, 961 fn get_DisplayName( 962 strDisplayName: *mut BSTR, 963 ) -> HRESULT, 964 fn get_Identifier( 965 iPrivilege: *mut WbemPrivilegeEnum, 966 ) -> HRESULT, 967 }} 968 // EXTERN_C const IID IID_ISWbemPrivilegeSet; 969 DEFINE_GUID!{IID_ISWbemPrivilegeSet, 970 0x26ee67bf, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6} 971 RIDL!{#[uuid(0x26ee67bf, 0x5804, 0x11d2, 0x8b, 0x4a, 0x00, 0x60, 0x08, 0x06, 0xd9, 0xb6)] 972 interface ISWbemPrivilegeSet(ISWbemPrivilegeSetVtbl): IDispatch(IDispatchVtbl) { 973 fn get__NewEnum( 974 pUnk: *mut *mut IUnknown, 975 ) -> HRESULT, 976 fn Item( 977 iPrivilege: WbemPrivilegeEnum, 978 objWbemPrivilege: *mut *mut ISWbemPrivilege, 979 ) -> HRESULT, 980 fn get_Count( 981 iCount: *mut c_long, 982 ) -> HRESULT, 983 fn Add( 984 iPrivilege: WbemPrivilegeEnum, 985 bIsEnabled: VARIANT_BOOL, 986 objWbemPrivilege: *mut *mut ISWbemPrivilege, 987 ) -> HRESULT, 988 fn Remove( 989 iPrivilege: WbemPrivilegeEnum, 990 ) -> HRESULT, 991 fn DeleteAll() -> HRESULT, 992 fn AddAsString( 993 strPrivilege: BSTR, 994 bIsEnabled: VARIANT_BOOL, 995 objWbemPrivilege: *mut *mut ISWbemPrivilege, 996 ) -> HRESULT, 997 }} 998 // EXTERN_C const IID IID_ISWbemServicesEx; 999 DEFINE_GUID!{IID_ISWbemServicesEx, 1000 0xd2f68443, 0x85dc, 0x427e, 0x91, 0xd8, 0x36, 0x65, 0x54, 0xcc, 0x75, 0x4c} 1001 RIDL!{#[uuid(0xd2f68443, 0x85dc, 0x427e, 0x91, 0xd8, 0x36, 0x65, 0x54, 0xcc, 0x75, 0x4c)] 1002 interface ISWbemServicesEx(ISWbemServicesExVtbl): ISWbemServices(ISWbemServicesVtbl) { 1003 fn Put( 1004 objWbemObject: *mut ISWbemObjectEx, 1005 iFlags: c_long, 1006 objWbemNamedValueSet: *mut IDispatch, 1007 objWbemObjectPath: *mut *mut ISWbemObjectPath, 1008 ) -> HRESULT, 1009 fn PutAsync( 1010 objWbemSink: *mut ISWbemSink, 1011 objWbemObject: *mut ISWbemObjectEx, 1012 iFlags: c_long, 1013 objWbemNamedValueSet: *mut IDispatch, 1014 objWbemAsyncContext: *mut IDispatch, 1015 ) -> HRESULT, 1016 }} 1017 // EXTERN_C const IID IID_ISWbemObjectEx; 1018 DEFINE_GUID!{IID_ISWbemObjectEx, 1019 0x269ad56a, 0x8a67, 0x4129, 0xbc, 0x8c, 0x05, 0x06, 0xdc, 0xfe, 0x98, 0x80} 1020 RIDL!{#[uuid(0x269ad56a, 0x8a67, 0x4129, 0xbc, 0x8c, 0x05, 0x06, 0xdc, 0xfe, 0x98, 0x80)] 1021 interface ISWbemObjectEx(ISWbemObjectExVtbl): ISWbemObject(ISWbemObjectVtbl) { 1022 fn Refresh_( 1023 iFlags: c_long, 1024 objWbemNamedValueSet: *mut IDispatch, 1025 ) -> HRESULT, 1026 fn get_SystemProperties_( 1027 objWbemPropertySet: *mut *mut ISWbemPropertySet, 1028 ) -> HRESULT, 1029 fn GetText_( 1030 iObjectTextFormat: WbemObjectTextFormatEnum, 1031 iFlags: c_long, 1032 objWbemNamedValueSet: *mut IDispatch, 1033 bsText: *mut BSTR, 1034 ) -> HRESULT, 1035 fn SetFromText_( 1036 bsText: BSTR, 1037 iObjectTextFormat: WbemObjectTextFormatEnum, 1038 iFlags: c_long, 1039 objWbemNamedValueSet: *mut IDispatch, 1040 ) -> HRESULT, 1041 }} 1042 // EXTERN_C const IID IID_ISWbemDateTime; 1043 DEFINE_GUID!{IID_ISWbemDateTime, 1044 0x5e97458a, 0xcf77, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} 1045 RIDL!{#[uuid(0x5e97458a, 0xcf77, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] 1046 interface ISWbemDateTime(ISWbemDateTimeVtbl): IDispatch(IDispatchVtbl) { 1047 fn get_Value( 1048 strValue: *mut BSTR, 1049 ) -> HRESULT, 1050 fn put_Value( 1051 strValue: BSTR, 1052 ) -> HRESULT, 1053 fn get_Year( 1054 iYear: *mut c_long, 1055 ) -> HRESULT, 1056 fn put_Year( 1057 iYear: c_long, 1058 ) -> HRESULT, 1059 fn get_YearSpecified( 1060 bYearSpecified: *mut VARIANT_BOOL, 1061 ) -> HRESULT, 1062 fn put_YearSpecified( 1063 bYearSpecified: VARIANT_BOOL, 1064 ) -> HRESULT, 1065 fn get_Month( 1066 iMonth: *mut c_long, 1067 ) -> HRESULT, 1068 fn put_Month( 1069 iMonth: c_long, 1070 ) -> HRESULT, 1071 fn get_MonthSpecified( 1072 bMonthSpecified: *mut VARIANT_BOOL, 1073 ) -> HRESULT, 1074 fn put_MonthSpecified( 1075 bMonthSpecified: VARIANT_BOOL, 1076 ) -> HRESULT, 1077 fn get_Day( 1078 iDay: *mut c_long, 1079 ) -> HRESULT, 1080 fn put_Day( 1081 iDay: c_long, 1082 ) -> HRESULT, 1083 fn get_DaySpecified( 1084 bDaySpecified: *mut VARIANT_BOOL, 1085 ) -> HRESULT, 1086 fn put_DaySpecified( 1087 bDaySpecified: VARIANT_BOOL, 1088 ) -> HRESULT, 1089 fn get_Hours( 1090 iHours: *mut c_long, 1091 ) -> HRESULT, 1092 fn put_Hours( 1093 iHours: c_long, 1094 ) -> HRESULT, 1095 fn get_HoursSpecified( 1096 bHoursSpecified: *mut VARIANT_BOOL, 1097 ) -> HRESULT, 1098 fn put_HoursSpecified( 1099 bHoursSpecified: VARIANT_BOOL, 1100 ) -> HRESULT, 1101 fn get_Minutes( 1102 iMinutes: *mut c_long, 1103 ) -> HRESULT, 1104 fn put_Minutes( 1105 iMinutes: c_long, 1106 ) -> HRESULT, 1107 fn get_MinutesSpecified( 1108 bMinutesSpecified: *mut VARIANT_BOOL, 1109 ) -> HRESULT, 1110 fn put_MinutesSpecified( 1111 bMinutesSpecified: VARIANT_BOOL, 1112 ) -> HRESULT, 1113 fn get_Seconds( 1114 iSeconds: *mut c_long, 1115 ) -> HRESULT, 1116 fn put_Seconds( 1117 iSeconds: c_long, 1118 ) -> HRESULT, 1119 fn get_SecondsSpecified( 1120 bSecondsSpecified: *mut VARIANT_BOOL, 1121 ) -> HRESULT, 1122 fn put_SecondsSpecified( 1123 bSecondsSpecified: VARIANT_BOOL, 1124 ) -> HRESULT, 1125 fn get_Microseconds( 1126 iMicroseconds: *mut c_long, 1127 ) -> HRESULT, 1128 fn put_Microseconds( 1129 iMicroseconds: c_long, 1130 ) -> HRESULT, 1131 fn get_MicrosecondsSpecified( 1132 bMicrosecondsSpecified: *mut VARIANT_BOOL, 1133 ) -> HRESULT, 1134 fn put_MicrosecondsSpecified( 1135 bMicrosecondsSpecified: VARIANT_BOOL, 1136 ) -> HRESULT, 1137 fn get_UTC( 1138 iUTC: *mut c_long, 1139 ) -> HRESULT, 1140 fn put_UTC( 1141 iUTC: c_long, 1142 ) -> HRESULT, 1143 fn get_UTCSpecified( 1144 bUTCSpecified: *mut VARIANT_BOOL, 1145 ) -> HRESULT, 1146 fn put_UTCSpecified( 1147 bUTCSpecified: VARIANT_BOOL, 1148 ) -> HRESULT, 1149 fn get_IsInterval( 1150 bIsInterval: *mut VARIANT_BOOL, 1151 ) -> HRESULT, 1152 fn put_IsInterval( 1153 bIsInterval: VARIANT_BOOL, 1154 ) -> HRESULT, 1155 fn GetVarDate( 1156 bIsLocal: VARIANT_BOOL, 1157 dVarDate: *mut DATE, 1158 ) -> HRESULT, 1159 fn SetVarDate( 1160 dVarDate: DATE, 1161 bIsLocal: VARIANT_BOOL, 1162 ) -> HRESULT, 1163 fn GetFileTime( 1164 bIsLocal: VARIANT_BOOL, 1165 strFileTime: *mut BSTR, 1166 ) -> HRESULT, 1167 fn SetFileTime( 1168 strFileTime: BSTR, 1169 bIsLocal: VARIANT_BOOL, 1170 ) -> HRESULT, 1171 }} 1172 // EXTERN_C const IID IID_ISWbemRefresher; 1173 DEFINE_GUID!{IID_ISWbemRefresher, 1174 0x14d8250e, 0xd9c2, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} 1175 RIDL!{#[uuid(0x14d8250e, 0xd9c2, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] 1176 interface ISWbemRefresher(ISWbemRefresherVtbl): IDispatch(IDispatchVtbl) { 1177 fn get__NewEnum( 1178 pUnk: *mut *mut IUnknown, 1179 ) -> HRESULT, 1180 fn Item( 1181 iIndex: c_long, 1182 objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, 1183 ) -> HRESULT, 1184 fn get_Count( 1185 iCount: *mut c_long, 1186 ) -> HRESULT, 1187 fn Add( 1188 objWbemServices: *mut ISWbemServicesEx, 1189 bsInstancePath: BSTR, 1190 iFlags: c_long, 1191 objWbemNamedValueSet: *mut IDispatch, 1192 objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, 1193 ) -> HRESULT, 1194 fn AddEnum( 1195 objWbemServices: *mut ISWbemServicesEx, 1196 bsClassName: BSTR, 1197 iFlags: c_long, 1198 objWbemNamedValueSet: *mut IDispatch, 1199 objWbemRefreshableItem: *mut *mut ISWbemRefreshableItem, 1200 ) -> HRESULT, 1201 fn Remove( 1202 iIndex: c_long, 1203 iFlags: c_long, 1204 ) -> HRESULT, 1205 fn Refresh( 1206 iFlags: c_long, 1207 ) -> HRESULT, 1208 fn get_AutoReconnect( 1209 bCount: *mut VARIANT_BOOL, 1210 ) -> HRESULT, 1211 fn put_AutoReconnect( 1212 bCount: VARIANT_BOOL, 1213 ) -> HRESULT, 1214 fn DeleteAll() -> HRESULT, 1215 }} 1216 // EXTERN_C const IID IID_ISWbemRefreshableItem; 1217 DEFINE_GUID!{IID_ISWbemRefreshableItem, 1218 0x5ad4bf92, 0xdaab, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a} 1219 RIDL!{#[uuid(0x5ad4bf92, 0xdaab, 0x11d3, 0xb3, 0x8f, 0x00, 0x10, 0x5a, 0x1f, 0x47, 0x3a)] 1220 interface ISWbemRefreshableItem(ISWbemRefreshableItemVtbl): IDispatch(IDispatchVtbl) { 1221 fn get_Index( 1222 iIndex: *mut c_long, 1223 ) -> HRESULT, 1224 fn get_Refresher( 1225 objWbemRefresher: *mut *mut ISWbemRefresher, 1226 ) -> HRESULT, 1227 fn get_IsSet( 1228 bIsSet: *mut VARIANT_BOOL, 1229 ) -> HRESULT, 1230 fn get_Object( 1231 objWbemObject: *mut *mut ISWbemObjectEx, 1232 ) -> HRESULT, 1233 fn get_ObjectSet( 1234 objWbemObjectSet: *mut *mut ISWbemObjectSet, 1235 ) -> HRESULT, 1236 fn Remove( 1237 iFlags: c_long, 1238 ) -> HRESULT, 1239 }} 1240 DEFINE_GUID!{CLSID_SWbemLocator, 1241 0x76A64158, 0xCB41, 0x11d1, 0x8B, 0x02, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1242 // class DECLSPEC_UUID("76A64158-CB41-11d1-8B02-00600806D9B6") 1243 // SWbemLocator; 1244 DEFINE_GUID!{CLSID_SWbemNamedValueSet, 1245 0x9AED384E, 0xCE8B, 0x11d1, 0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1246 // class DECLSPEC_UUID("9AED384E-CE8B-11d1-8B05-00600806D9B6") 1247 // SWbemNamedValueSet; 1248 DEFINE_GUID!{CLSID_SWbemObjectPath, 1249 0x5791BC26, 0xCE9C, 0x11d1, 0x97, 0xBF, 0x00, 0x00, 0xF8, 0x1E, 0x84, 0x9C} 1250 // class DECLSPEC_UUID("5791BC26-CE9C-11d1-97BF-0000F81E849C") 1251 // SWbemObjectPath; 1252 DEFINE_GUID!{CLSID_SWbemLastError, 1253 0xC2FEEEAC, 0xCFCD, 0x11d1, 0x8B, 0x05, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1254 // class DECLSPEC_UUID("C2FEEEAC-CFCD-11d1-8B05-00600806D9B6") 1255 // SWbemLastError; 1256 DEFINE_GUID!{CLSID_SWbemSink, 1257 0x75718C9A, 0xF029, 0x11d1, 0xA1, 0xAC, 0x00, 0xC0, 0x4F, 0xB6, 0xC2, 0x23} 1258 // class DECLSPEC_UUID("75718C9A-F029-11d1-A1AC-00C04FB6C223") 1259 // SWbemSink; 1260 DEFINE_GUID!{CLSID_SWbemDateTime, 1261 0x47DFBE54, 0xCF76, 0x11d3, 0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} 1262 // class DECLSPEC_UUID("47DFBE54-CF76-11d3-B38F-00105A1F473A") 1263 // SWbemDateTime; 1264 DEFINE_GUID!{CLSID_SWbemRefresher, 1265 0xD269BF5C, 0xD9C1, 0x11d3, 0xB3, 0x8F, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} 1266 // class DECLSPEC_UUID("D269BF5C-D9C1-11d3-B38F-00105A1F473A") 1267 // SWbemRefresher; 1268 DEFINE_GUID!{CLSID_SWbemServices, 1269 0x04B83D63, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1270 // class DECLSPEC_UUID("04B83D63-21AE-11d2-8B33-00600806D9B6") 1271 // SWbemServices; 1272 DEFINE_GUID!{CLSID_SWbemServicesEx, 1273 0x62E522DC, 0x8CF3, 0x40a8, 0x8B, 0x2E, 0x37, 0xD5, 0x95, 0x65, 0x1E, 0x40} 1274 // class DECLSPEC_UUID("62E522DC-8CF3-40a8-8B2E-37D595651E40") 1275 // SWbemServicesEx; 1276 DEFINE_GUID!{CLSID_SWbemObject, 1277 0x04B83D62, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1278 // class DECLSPEC_UUID("04B83D62-21AE-11d2-8B33-00600806D9B6") 1279 // SWbemObject; 1280 DEFINE_GUID!{CLSID_SWbemObjectEx, 1281 0xD6BDAFB2, 0x9435, 0x491f, 0xBB, 0x87, 0x6A, 0xA0, 0xF0, 0xBC, 0x31, 0xA2} 1282 // class DECLSPEC_UUID("D6BDAFB2-9435-491f-BB87-6AA0F0BC31A2") 1283 // SWbemObjectEx; 1284 DEFINE_GUID!{CLSID_SWbemObjectSet, 1285 0x04B83D61, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1286 // class DECLSPEC_UUID("04B83D61-21AE-11d2-8B33-00600806D9B6") 1287 // SWbemObjectSet; 1288 DEFINE_GUID!{CLSID_SWbemNamedValue, 1289 0x04B83D60, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1290 // class DECLSPEC_UUID("04B83D60-21AE-11d2-8B33-00600806D9B6") 1291 // SWbemNamedValue; 1292 DEFINE_GUID!{CLSID_SWbemQualifier, 1293 0x04B83D5F, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1294 // class DECLSPEC_UUID("04B83D5F-21AE-11d2-8B33-00600806D9B6") 1295 // SWbemQualifier; 1296 DEFINE_GUID!{CLSID_SWbemQualifierSet, 1297 0x04B83D5E, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1298 // class DECLSPEC_UUID("04B83D5E-21AE-11d2-8B33-00600806D9B6") 1299 // SWbemQualifierSet; 1300 DEFINE_GUID!{CLSID_SWbemProperty, 1301 0x04B83D5D, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1302 // class DECLSPEC_UUID("04B83D5D-21AE-11d2-8B33-00600806D9B6") 1303 // SWbemProperty; 1304 DEFINE_GUID!{CLSID_SWbemPropertySet, 1305 0x04B83D5C, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1306 // class DECLSPEC_UUID("04B83D5C-21AE-11d2-8B33-00600806D9B6") 1307 // SWbemPropertySet; 1308 DEFINE_GUID!{CLSID_SWbemMethod, 1309 0x04B83D5B, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1310 // class DECLSPEC_UUID("04B83D5B-21AE-11d2-8B33-00600806D9B6") 1311 // SWbemMethod; 1312 DEFINE_GUID!{CLSID_SWbemMethodSet, 1313 0x04B83D5A, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1314 // class DECLSPEC_UUID("04B83D5A-21AE-11d2-8B33-00600806D9B6") 1315 // SWbemMethodSet; 1316 DEFINE_GUID!{CLSID_SWbemEventSource, 1317 0x04B83D58, 0x21AE, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1318 // class DECLSPEC_UUID("04B83D58-21AE-11d2-8B33-00600806D9B6") 1319 // SWbemEventSource; 1320 DEFINE_GUID!{CLSID_SWbemSecurity, 1321 0xB54D66E9, 0x2287, 0x11d2, 0x8B, 0x33, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1322 // class DECLSPEC_UUID("B54D66E9-2287-11d2-8B33-00600806D9B6") 1323 // SWbemSecurity; 1324 DEFINE_GUID!{CLSID_SWbemPrivilege, 1325 0x26EE67BC, 0x5804, 0x11d2, 0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1326 // class DECLSPEC_UUID("26EE67BC-5804-11d2-8B4A-00600806D9B6") 1327 // SWbemPrivilege; 1328 DEFINE_GUID!{CLSID_SWbemPrivilegeSet, 1329 0x26EE67BE, 0x5804, 0x11d2, 0x8B, 0x4A, 0x00, 0x60, 0x08, 0x06, 0xD9, 0xB6} 1330 // class DECLSPEC_UUID("26EE67BE-5804-11d2-8B4A-00600806D9B6") 1331 // SWbemPrivilegeSet; 1332 DEFINE_GUID!{CLSID_SWbemRefreshableItem, 1333 0x8C6854BC, 0xDE4B, 0x11d3, 0xB3, 0x90, 0x00, 0x10, 0x5A, 0x1F, 0x47, 0x3A} 1334 // class DECLSPEC_UUID("8C6854BC-DE4B-11d3-B390-00105A1F473A") 1335 // SWbemRefreshableItem; 1336 pub const WBEMS_DISPID_OBJECT_READY: DISPID = 1; 1337 pub const WBEMS_DISPID_COMPLETED: DISPID = 2; 1338 pub const WBEMS_DISPID_PROGRESS: DISPID = 3; 1339 pub const WBEMS_DISPID_OBJECT_PUT: DISPID = 4; 1340 pub const WBEMS_DISPID_CONNECTION_READY: DISPID = 5; 1341 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0018_v0_0_c_ifspec; 1342 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0018_v0_0_s_ifspec; 1343 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0026_v0_0_c_ifspec; 1344 // extern RPC_IF_HANDLE __MIDL_itf_wbemdisp_0000_0026_v0_0_s_ifspec; 1345