/* * Copyright 2013 Hans Leidekker for CodeWeavers * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ import "dispex.idl"; #ifndef __WIDL__ #define threading(model) #define progid(str) #define vi_progid(str) #endif [ uuid(565783c6-cb41-11d1-8b02-00600806d9b6), helpstring("Microsoft WMI Scripting V1.2 Library"), lcid(0x0000), version(1.2) ] library WbemScripting { importlib("stdole2.tlb"); interface ISWbemEventSource; interface ISWbemLocator; interface ISWbemMethod; interface ISWbemMethodSet; interface ISWbemNamedValue; interface ISWbemNamedValueSet; interface ISWbemObject; interface ISWbemObjectPath; interface ISWbemObjectSet; interface ISWbemPrivilege; interface ISWbemPrivilegeSet; interface ISWbemProperty; interface ISWbemPropertySet; interface ISWbemQualifier; interface ISWbemQualifierSet; interface ISWbemSecurity; interface ISWbemServices; typedef [ v1_enum, uuid(bf078c2a-07d9-11d2-8b21-00600806d9b6) ] enum WbemTimeout { wbemTimeoutInfinite = 0xffffffff } WbemTimeout; typedef [ v1_enum, uuid(4a249b72-fc9a-11d1-8b1e-00600806d9b6) ] enum WbemChangeFlagEnum { wbemChangeFlagCreateOrUpdate = 0, wbemChangeFlagUpdateOnly = 0x00000001, wbemChangeFlagCreateOnly = 0x00000002, wbemChangeFlagUpdateCompatible = 0x00000000, wbemChangeFlagUpdateSafeMode = 0x00000020, wbemChangeFlagUpdateForceMode = 0x00000040, wbemChangeFlagStrongValidation = 0x00000080, wbemChangeFlagAdvisory = 0x00010000 } WbemChangeFlagEnum; typedef [ v1_enum, uuid(4a249b73-fc9a-11d1-8b1e-00600806d9b6) ] enum WbemFlagEnum { wbemFlagReturnImmediately = 0x00010, wbemFlagReturnWhenComplete = 0, wbemFlagBidirectional = 0, wbemFlagForwardOnly = 0x00020, wbemFlagNoErrorObject = 0x00040, wbemFlagReturnErrorObject = 0, wbemFlagSendStatus = 0x00080, wbemFlagDontSendStatus = 0, wbemFlagEnsureLocatable = 0x00100, wbemFlagDirectRead = 0x00200, wbemFlagSendOnlySelected = 0, wbemFlagUseAmendedQualifiers = 0x20000, wbemFlagGetDefault = 0x0, wbemFlagSpawnInstance = 0x00001, wbemFlagUseCurrentTime = 0x00001 } WbemFlagEnum; typedef [ v1_enum, uuid(4a249b76-fc9a-11d1-8b1e-00600806d9b6) ] enum WbemQueryFlagEnum { wbemQueryFlagDeep, wbemQueryFlagShallow, wbemQueryFlagPrototype } WbemQueryFlagEnum; typedef [ v1_enum, uuid(4A249B79-FC9A-11d1-8B1E-00600806D9B6) ] enum WbemComparisonFlagEnum { wbemComparisonFlagIncludeAll = 0, wbemComparisonFlagIgnoreQualifiers = 1, wbemComparisonFlagIgnoreObjectSource = 2, wbemComparisonFlagIgnoreDefaultValues = 4, wbemComparisonFlagIgnoreClass = 8, wbemComparisonFlagIgnoreCase = 16, wbemComparisonFlagIgnoreFlavor = 32 } WbemComparisonFlagEnum; [ object, local, uuid(27d54d92-0ebe-11d2-8b22-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemEventSource : IDispatch { [ id(1) ] HRESULT NextEvent( [in, defaultvalue(wbemTimeoutInfinite)] long iTimeoutMs, [out, retval] ISWbemObject **objWbemObject); [ id(2), propget ] HRESULT Security_( [out, retval] ISWbemSecurity **objWbemSecurity); }; [ object, local, uuid(76a6415b-cb41-11d1-8b02-00600806d9b6), dual, hidden, oleautomation, pointer_default(unique) ] interface ISWbemLocator : IDispatch { [ id(1) ] HRESULT ConnectServer( [in, defaultvalue(".")] BSTR strServer, [in, defaultvalue("")] BSTR strNamespace, [in, defaultvalue("")] BSTR strUser, [in, defaultvalue("")] BSTR strPassword, [in, defaultvalue("")] BSTR strLocale, [in, defaultvalue("")] BSTR strAuthority, [in, defaultvalue(0)] long iSecurityFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemServices **objWbemServices); [ id(2), propget ] HRESULT Security_([out, retval] ISWbemSecurity **objWbemSecurity); }; [ object, local, uuid(422e8e90-d955-11d1-8b09-00600806d9b6), dual, hidden, oleautomation, pointer_default(unique), nonextensible ] interface ISWbemMethod : IDispatch { [ id(1), propget ] HRESULT Name( [out, retval] BSTR *strName); [ id(2), propget ] HRESULT Origin( [out, retval] BSTR *strOrigin); [ id(3), propget ] HRESULT InParameters( [out, retval] ISWbemObject **objWbemInParameters); [ id(4), propget ] HRESULT OutParameters( [out, retval] ISWbemObject **objWbemOutParameters); [ id(5), propget ] HRESULT Qualifiers_( [out, retval] ISWbemQualifierSet **objWbemQualifierSet); }; [ object, local, uuid(c93ba292-d955-11d1-8b09-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemMethodSet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemMethod **objWbemMethod); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); }; [ object, local, uuid(76a64164-cb41-11d1-8b02-00600806d9b6), dual, hidden, oleautomation ] interface ISWbemNamedValue : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Value( [out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value( [in] VARIANT *varValue); [ id(2), propget ] HRESULT Name( [out, retval] BSTR *strName); }; [ object, local, uuid(cf2376ea-ce8c-11d1-8b05-00600806d9b6), dual, hidden, oleautomation ] interface ISWbemNamedValueSet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemNamedValue **objWbemNamedValue); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); [ id(2) ] HRESULT Add( [in] BSTR strName, [in] VARIANT *varValue, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemNamedValue **objWbemNamedValue); [ id(3) ] HRESULT Remove( [in] BSTR strName, [in, defaultvalue(0)] long iFlags); [ id(4) ] HRESULT Clone( [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet); [ id(5) ] HRESULT DeleteAll(); }; [ object, local, uuid(76A6415A-CB41-11d1-8B02-00600806D9B6), dual, hidden, oleautomation ] interface ISWbemObject : IDispatch { [ id(1) ] HRESULT Put_( [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectPath **objWbemObjectPath); [ id(2) ] HRESULT PutAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id (3) ] HRESULT Delete_( [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet); [ id (4) ] HRESULT DeleteAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(5) ] HRESULT Instances_( [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(6) ] HRESULT InstancesAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(7) ] HRESULT Subclasses_( [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(8) ] HRESULT SubclassesAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue(wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(9) ] HRESULT Associators_( [in, defaultvalue("")] BSTR strAssocClass, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strResultRole, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredAssocQualifier, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(10) ] HRESULT AssociatorsAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strAssocClass, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strResultRole, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredAssocQualifier, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(11) ] HRESULT References_( [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(12) ] HRESULT ReferencesAsync_( [in] IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(13) ] HRESULT ExecMethod_( [in] BSTR strMethodName, [in, defaultvalue(0)] IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemOutParameters); [ id(14) ] HRESULT ExecMethodAsync_( [in] IDispatch *objWbemSink, [in] BSTR strMethodName, [in, defaultvalue(0)] IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(15) ] HRESULT Clone_( [out, retval] ISWbemObject **objWbemObject); [ id(16) ] HRESULT GetObjectText_( [in, defaultvalue(0)] long iFlags, [out, retval] BSTR *strObjectText); [ id(17) ] HRESULT SpawnDerivedClass_( [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject **objWbemObject); [ id(18) ] HRESULT SpawnInstance_( [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject **objWbemObject); [ id(19) ] HRESULT CompareTo_( [in] IDispatch *objWbemObject, [in, defaultvalue(wbemComparisonFlagIncludeAll)] long iFlags, [out, retval] VARIANT_BOOL *bResult); [ id(20), propget ] HRESULT Qualifiers_( [out, retval] ISWbemQualifierSet **objWbemQualifierSet); [ id(21), propget ] HRESULT Properties_( [out, retval] ISWbemPropertySet **objWbemPropertySet); [ id(22), propget ] HRESULT Methods_( [out, retval] ISWbemMethodSet **objWbemMethodSet); [ id(23), propget ] HRESULT Derivation_( [out, retval] VARIANT *strClassNameArray); [ id(24), propget ] HRESULT Path_( [out, retval] ISWbemObjectPath **objWbemObjectPath); [ id(25), propget ] HRESULT Security_( [out, retval] ISWbemSecurity **objWbemSecurity); }; [ object, local, uuid(5791bc27-ce9c-11d1-97bf-0000f81e849c), dual, hidden, oleautomation, pointer_default(unique) ] interface ISWbemObjectPath : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Path( [out, retval] BSTR *strPath); [ id(DISPID_VALUE), propput ] HRESULT Path( [in] BSTR strPath); [ id(1), propget ] HRESULT RelPath( [out, retval] BSTR *strRelPath); [ id(1), propput ] HRESULT RelPath( [in] BSTR strRelPath); [ id(2), propget ] HRESULT Server( [out, retval] BSTR *strServer); [ id(2), propput ] HRESULT Server( [in] BSTR strServer); [ id(3), propget ] HRESULT Namespace( [out, retval] BSTR *strNamespace); [ id(3), propput ] HRESULT Namespace( [in] BSTR strNamespace); [ id(4), propget ] HRESULT ParentNamespace( [out, retval] BSTR *strParentNamespace); [ id(5), propget ] HRESULT DisplayName( [out, retval] BSTR *strDisplayName); [ id(5), propput ] HRESULT DisplayName( [in] BSTR strDisplayName); [ id(6), propget ] HRESULT Class( [out, retval] BSTR *strClass); [ id(6), propput ] HRESULT Class( [in] BSTR strClass); [ id(7), propget ] HRESULT IsClass( [out, retval] VARIANT_BOOL *bIsClass); [ id(8) ] HRESULT SetAsClass(); [ id(9), propget ] HRESULT IsSingleton( [out, retval] VARIANT_BOOL *bIsSingleton); [ id(10) ] HRESULT SetAsSingleton(); [ id(11), propget ] HRESULT Keys( [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet); [ id(12), propget ] HRESULT Security_( [out, retval] ISWbemSecurity **objWbemSecurity); [ id(13), propget ] HRESULT Locale( [out, retval] BSTR *strLocale); [ id(13), propput ] HRESULT Locale( [in] BSTR strLocale); [ id(14), propget ] HRESULT Authority( [out, retval] BSTR *strAuthority); [ id(14), propput ] HRESULT Authority( [in] BSTR strAuthority); }; [ object, local, uuid(76a6415f-cb41-11d1-8b02-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemObjectSet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject **objWbemObject); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); [ id(4), propget ] HRESULT Security_( [out, retval] ISWbemSecurity **objWbemSecurity); [ id(5) ] HRESULT ItemIndex( [in] long lIndex, [out, retval] ISWbemObject **objWbemObject); }; typedef [ v1_enum, uuid(176d2f70-5af3-11d2-8b4a-00600806d9b6) ] enum WbemPrivilegeEnum { wbemPrivilegeCreateToken = 1, wbemPrivilegePrimaryToken = 2, wbemPrivilegeLockMemory = 3, wbemPrivilegeIncreaseQuota = 4, wbemPrivilegeMachineAccount = 5, wbemPrivilegeTcb = 6, wbemPrivilegeSecurity = 7, wbemPrivilegeTakeOwnership = 8, wbemPrivilegeLoadDriver = 9, wbemPrivilegeSystemProfile = 10, wbemPrivilegeSystemtime = 11, wbemPrivilegeProfileSingleProcess = 12, wbemPrivilegeIncreaseBasePriority = 13, wbemPrivilegeCreatePagefile = 14, wbemPrivilegeCreatePermanent = 15, wbemPrivilegeBackup = 16, wbemPrivilegeRestore = 17, wbemPrivilegeShutdown = 18, wbemPrivilegeDebug = 19, wbemPrivilegeAudit = 20, wbemPrivilegeSystemEnvironment = 21, wbemPrivilegeChangeNotify = 22, wbemPrivilegeRemoteShutdown = 23, wbemPrivilegeUndock = 24, wbemPrivilegeSyncAgent = 25, wbemPrivilegeEnableDelegation = 26, wbemPrivilegeManageVolume = 27 } WbemPrivilegeEnum; [ object, local, uuid(26ee67bd-5804-11d2-8b4a-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemPrivilege : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT IsEnabled( [out, retval] VARIANT_BOOL *bIsEnabled); [ id(DISPID_VALUE), propput ] HRESULT IsEnabled( [in] VARIANT_BOOL bIsEnabled); [ id(1), propget ] HRESULT Name( [out, retval] BSTR *strDisplayName); [ id(2), propget ] HRESULT DisplayName( [out, retval] BSTR *strDisplayName); [ id(3), propget ] HRESULT Identifier( [out, retval] WbemPrivilegeEnum *iPrivilege); }; [ object, local, uuid(26ee67bf-5804-11d2-8b4a-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemPrivilegeSet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] WbemPrivilegeEnum iPrivilege, [out, retval] ISWbemPrivilege **objWbemPrivilege); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); [ id(2) ] HRESULT Add( [in] WbemPrivilegeEnum iPrivilege, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled, [out, retval] ISWbemPrivilege **objWbemPrivilege); [ id(3) ] HRESULT Remove( [in] WbemPrivilegeEnum iPrivilege); [ id(4) ] HRESULT DeleteAll(); [ id(5) ] HRESULT AddAsString( [in] BSTR strPrivilege, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled, [out, retval] ISWbemPrivilege **objWbemPrivilege); }; typedef [ v1_enum, uuid(4a249b7b-fc9a-11d1-8b1e-00600806d9b6), ] enum WbemCimtypeEnum { wbemCimtypeSint16 = 2, wbemCimtypeSint32 = 3, wbemCimtypeReal32 = 4, wbemCimtypeReal64 = 5, wbemCimtypeString = 8, wbemCimtypeBoolean = 11, wbemCimtypeObject = 13, wbemCimtypeSint8 = 16, wbemCimtypeUint8 = 17, wbemCimtypeUint16 = 18, wbemCimtypeUint32 = 19, wbemCimtypeSint64 = 20, wbemCimtypeUint64 = 21, wbemCimtypeDatetime = 101, wbemCimtypeReference = 102, wbemCimtypeChar16 = 103 } WbemCimtypeEnum; [ object, local, uuid(1a388f98-d4ba-11d1-8b09-00600806d9b6), dual, hidden, oleautomation, pointer_default(unique) ] interface ISWbemProperty : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Value( [out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value( [in] VARIANT *varValue); [ id(1), propget ] HRESULT Name( [out, retval] BSTR *strName); [ id(2), propget ] HRESULT IsLocal( [out, retval] VARIANT_BOOL *bIsLocal); [ id(3), propget ] HRESULT Origin( [out, retval] BSTR *strOrigin); [ id(4), propget ] HRESULT CIMType( [out, retval] WbemCimtypeEnum *iCimType); [ id(5), propget ] HRESULT Qualifiers_( [out, retval] ISWbemQualifierSet **objWbemQualifierSet); [ id(6), propget ] HRESULT IsArray( [out, retval] VARIANT_BOOL *bIsArray); }; [ object, local, uuid(dea0a7b2-d4ba-11d1-8b09-00600806d9b6), dual, hidden, oleautomation ] interface ISWbemPropertySet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemProperty **objWbemProperty); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); [ id(2) ] HRESULT Add( [in] BSTR strName, [in] WbemCimtypeEnum iCIMType, [in, defaultvalue(FALSE)] VARIANT_BOOL bIsArray, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemProperty **objWbemProperty); [ id(3) ] HRESULT Remove( [in] BSTR strName, [in, defaultvalue(0)] long iFlags); }; [ object, local, uuid(79b05932-d3b7-11d1-8b06-00600806d9b6), dual, hidden, oleautomation, nonextensible, pointer_default(unique) ] interface ISWbemQualifier : IDispatch { [ id(DISPID_VALUE), propget ] HRESULT Value( [out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value( [in] VARIANT *varValue); [ id(1), propget ] HRESULT Name( [out, retval] BSTR *strName); [ id(2), propget ] HRESULT IsLocal( [out, retval] VARIANT_BOOL *bIsLocal); [ id(3), propget ] HRESULT PropagatesToSubclass( [out, retval] VARIANT_BOOL *bPropagatesToSubclass); [ id(3), propput ] HRESULT PropagatesToSubclass( [in] VARIANT_BOOL bPropagatesToSubclass); [ id(4), propget ] HRESULT PropagatesToInstance( [out, retval] VARIANT_BOOL *bPropagatesToInstance); [ id(4), propput ] HRESULT PropagatesToInstance( [in] VARIANT_BOOL bPropagatesToInstance); [ id(5), propget ] HRESULT IsOverridable( [out, retval] VARIANT_BOOL *bIsOverridable); [ id(5), propput ] HRESULT IsOverridable( [in] VARIANT_BOOL bIsOverridable); [ id(6), propget ] HRESULT IsAmended( [out, retval] VARIANT_BOOL *bIsAmended); }; [ object, local, uuid(9b16ed16-d3df-11d1-8b08-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemQualifierSet : IDispatch { [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum( [out, retval] IUnknown **pUnk); [ id(DISPID_VALUE) ] HRESULT Item( [in] BSTR name, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemQualifier **objWbemQualifier); [ id(1), propget ] HRESULT Count( [out, retval] long *iCount); [ id(2) ] HRESULT Add( [in] BSTR strName, [in] VARIANT *varVal, [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToSubclass, [in, defaultvalue(TRUE)] VARIANT_BOOL bPropagatesToInstance, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsOverridable, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemQualifier **objWbemQualifier); [ id(3) ] HRESULT Remove( [in] BSTR strName, [in, defaultvalue(0)] long iFlags); }; typedef [ v1_enum, uuid(b54d66e8-2287-11d2-8b33-00600806d9b6) ] enum WbemImpersonationLevelEnum { wbemImpersonationLevelAnonymous = 1, wbemImpersonationLevelIdentify = 2, wbemImpersonationLevelImpersonate = 3, wbemImpersonationLevelDelegate = 4 } WbemImpersonationLevelEnum; typedef [ v1_enum, uuid(b54d66e7-2287-11d2-8b33-00600806d9b6) ] enum WbemAuthenticationLevelEnum { wbemAuthenticationLevelDefault = 0, wbemAuthenticationLevelNone = 1, wbemAuthenticationLevelConnect = 2, wbemAuthenticationLevelCall = 3, wbemAuthenticationLevelPkt = 4, wbemAuthenticationLevelPktIntegrity = 5, wbemAuthenticationLevelPktPrivacy = 6 } WbemAuthenticationLevelEnum; [ object, local, uuid(b54d66e6-2287-11d2-8b33-00600806d9b6), dual, hidden, oleautomation, nonextensible ] interface ISWbemSecurity : IDispatch { [ id(1), propget ] HRESULT ImpersonationLevel( [out, retval] WbemImpersonationLevelEnum *iImpersonationLevel); [ id(1), propput ] HRESULT ImpersonationLevel( [in] WbemImpersonationLevelEnum iImpersonationLevel); [ id(2), propget ] HRESULT AuthenticationLevel( [out, retval] WbemAuthenticationLevelEnum *iAuthenticationLevel); [ id(2), propput ] HRESULT AuthenticationLevel( [in] WbemAuthenticationLevelEnum iAuthenticationLevel); [ id(3), propget ] HRESULT Privileges( [out, retval] ISWbemPrivilegeSet **objWbemPrivilegeSet); }; [ object, local, uuid(76a6415c-cb41-11d1-8b02-00600806d9b6), dual, hidden, oleautomation, pointer_default(unique) ] interface ISWbemServices : IDispatch { [ id(1) ] HRESULT Get( [in, defaultvalue("")] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemObject); [ id(2) ] HRESULT GetAsync( [in] IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(3) ] HRESULT Delete( [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet); [ id(4) ] HRESULT DeleteAsync( [in] IDispatch *objWbemSink, [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(5) ] HRESULT InstancesOf( [in] BSTR strClass, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(6) ] HRESULT InstancesOfAsync( [in] IDispatch *objWbemSink, [in] BSTR strClass, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(7) ] HRESULT SubclassesOf( [in, defaultvalue("")] BSTR strSuperclass, [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(8) ] HRESULT SubclassesOfAsync( [in] IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strSuperclass, [in, defaultvalue(wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(9) ] HRESULT ExecQuery( [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(10) ] HRESULT ExecQueryAsync( [in] IDispatch *objWbemSink, [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(0)] long lFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(11) ] HRESULT AssociatorsOf( [in] BSTR strObjectPath, [in, defaultvalue("")] BSTR strAssocClass, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strResultRole, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredAssocQualifier, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(12) ] HRESULT AssociatorsOfAsync( [in] IDispatch *objWbemSink, [in] BSTR strObjectPath, [in, defaultvalue("")] BSTR strAssocClass, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strResultRole, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredAssocQualifier, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(13) ] HRESULT ReferencesTo( [in] BSTR strObjectPath, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet); [ id(14) ] HRESULT ReferencesToAsync( [in] IDispatch *objWbemSink, [in] BSTR strObjectPath, [in, defaultvalue("")] BSTR strResultClass, [in, defaultvalue("")] BSTR strRole, [in, defaultvalue(FALSE)] VARIANT_BOOL bClassesOnly, [in, defaultvalue(FALSE)] VARIANT_BOOL bSchemaOnly, [in, defaultvalue("")] BSTR strRequiredQualifier, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(15) ] HRESULT ExecNotificationQuery( [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(wbemFlagReturnImmediately|wbemFlagForwardOnly)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemEventSource **objWbemEventSource); [ id(16) ] HRESULT ExecNotificationQueryAsync( [in] IDispatch *objWbemSink, [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(17) ] HRESULT ExecMethod( [in] BSTR strObjectPath, [in] BSTR strMethodName, [in, defaultvalue(0)] IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemOutParameters); [ id(18) ] HRESULT ExecMethodAsync( [in] IDispatch *objWbemSink, [in] BSTR strObjectPath, [in] BSTR strMethodName, [in, defaultvalue(0)] IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] IDispatch *objWbemAsyncContext); [ id(19), propget ] HRESULT Security_( [out, retval] ISWbemSecurity **objWbemSecurity); }; [ threading(apartment), uuid(76a64158-cb41-11d1-8b02-00600806d9b6), progid("WbemScripting.SWbemLocator.1"), vi_progid("WbemScripting.SWbemLocator") ] coclass SWbemLocator { interface ISWbemLocator; }; }; /* WbemScripting */