cpp_quote("/*******************************************************************************/" ) cpp_quote("/* */" ) cpp_quote("/* Copyright © Microsoft Corporation. All rights reserved. */" ) cpp_quote("/* */" ) /* WBEMDISP.IDL */ /* */ cpp_quote("/* WBEM IDispatch Compatible Access for Automation */" ) cpp_quote("/* */" ) cpp_quote("/*******************************************************************************/" ) import "dispex.idl"; [ uuid(565783C6-CB41-11d1-8B02-00600806D9B6), lcid(0x00), version(1.2), helpstring("Microsoft WMI Scripting V1.2 Library") ] library WbemScripting { importlib("stdole2.tlb"); interface ISWbemServices; interface ISWbemLocator; interface ISWbemObject; interface ISWbemObjectSet; interface ISWbemNamedValue; interface ISWbemNamedValueSet; interface ISWbemQualifier; interface ISWbemQualifierSet; interface ISWbemProperty; interface ISWbemPropertySet; interface ISWbemMethod; interface ISWbemMethodSet; interface ISWbemEventSource; interface ISWbemObjectPath; interface ISWbemLastError; interface ISWbemSinkEvents; interface ISWbemSink; interface ISWbemSecurity; interface ISWbemPrivilege; interface ISWbemPrivilegeSet; interface ISWbemServicesEx; interface ISWbemObjectEx; interface ISWbemDateTime; interface ISWbemRefresher; interface ISWbemRefreshableItem; // These are used by ISWbemObject.Put_ typedef [ v1_enum, uuid(4A249B72-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines semantics of putting a Class or Instance") ] enum WbemChangeFlagEnum { wbemChangeFlagCreateOrUpdate = 0x0, wbemChangeFlagUpdateOnly = 0x1, wbemChangeFlagCreateOnly = 0x2, wbemChangeFlagUpdateCompatible = 0x0, wbemChangeFlagUpdateSafeMode = 0x20, wbemChangeFlagUpdateForceMode = 0x40, wbemChangeFlagStrongValidation = 0x80, wbemChangeFlagAdvisory = 0x000010000 } WbemChangeFlagEnum; // These are used by ExecQuery, SubclassesOf, InstancesOf, etc. typedef [ v1_enum, uuid(4A249B73-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines behavior of various interface calls"), ] enum WbemFlagEnum { wbemFlagReturnImmediately = 0x10, wbemFlagReturnWhenComplete = 0, wbemFlagBidirectional = 0, wbemFlagForwardOnly = 0x20, wbemFlagNoErrorObject = 0x40, wbemFlagReturnErrorObject = 0, wbemFlagSendStatus = 0x80, wbemFlagDontSendStatus = 0, wbemFlagEnsureLocatable = 0x100, wbemFlagDirectRead = 0x200, wbemFlagSendOnlySelected = 0, wbemFlagUseAmendedQualifiers = 0x20000, wbemFlagGetDefault = 0x0, wbemFlagSpawnInstance = 0x1, wbemFlagUseCurrentTime = 0x1 } WbemFlagEnum; // These are used by ISWbemServices::ExecQuery, SubclassesOf // and InstancesOf typedef [ v1_enum, uuid(4A249B76-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines depth of enumeration or query") ] enum WbemQueryFlagEnum { wbemQueryFlagDeep = 0, wbemQueryFlagShallow = 1, wbemQueryFlagPrototype = 2 } WbemQueryFlagEnum; // Following is used by ISWbemObject::GetObjectText_ typedef [ v1_enum, uuid(4A249B78-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines content of generated object text") ] enum WbemTextFlagEnum { wbemTextFlagNoFlavors = 0x1 } WbemTextFlagEnum; // Following is used by ISWbemServices::ExecNotificationQuery typedef [ v1_enum, uuid(BF078C2A-07D9-11d2-8B21-00600806D9B6), helpstring("Defines timeout constants") ] enum WbemTimeout { wbemTimeoutInfinite = 0xFFFFFFFF } WbemTimeout; // Following is used by ISWbemObject::CompareTo_ typedef [ v1_enum, uuid(4A249B79-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines settings for object comparison") ] enum WbemComparisonFlagEnum { wbemComparisonFlagIncludeAll = 0, wbemComparisonFlagIgnoreQualifiers = 0x1, wbemComparisonFlagIgnoreObjectSource = 0x2, wbemComparisonFlagIgnoreDefaultValues = 0x4, wbemComparisonFlagIgnoreClass = 0x8, wbemComparisonFlagIgnoreCase = 0x10, wbemComparisonFlagIgnoreFlavor = 0x20 } WbemComparisonFlagEnum; typedef [ v1_enum, uuid(4A249B7B-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines the valid CIM Types of a Property value") ] enum WbemCimtypeEnum { wbemCimtypeSint8 = 16, wbemCimtypeUint8 = 17, wbemCimtypeSint16 = 2, wbemCimtypeUint16 = 18, wbemCimtypeSint32 = 3, wbemCimtypeUint32 = 19, wbemCimtypeSint64 = 20, wbemCimtypeUint64 = 21, wbemCimtypeReal32 = 4, wbemCimtypeReal64 = 5, wbemCimtypeBoolean = 11, wbemCimtypeString = 8, wbemCimtypeDatetime = 101, wbemCimtypeReference = 102, wbemCimtypeChar16 = 103, wbemCimtypeObject = 13 } WbemCimtypeEnum; ///////////////////////////////////////////////////////////////// // typedef [ v1_enum, uuid(4A249B7C-FC9A-11d1-8B1E-00600806D9B6), helpstring("Defines the errors that may be returned by the WBEM Scripting library") ] enum WbemErrorEnum { // Errors. // ======= wbemNoErr = 0, wbemErrFailed = 0x80041001, wbemErrNotFound = 0x80041002, wbemErrAccessDenied = 0x80041003, wbemErrProviderFailure = 0x80041004, wbemErrTypeMismatch = 0x80041005, wbemErrOutOfMemory = 0x80041006, wbemErrInvalidContext = 0x80041007, wbemErrInvalidParameter = 0x80041008, wbemErrNotAvailable = 0x80041009, wbemErrCriticalError = 0x8004100A, wbemErrInvalidStream = 0x8004100B, wbemErrNotSupported = 0x8004100C, wbemErrInvalidSuperclass = 0x8004100D, wbemErrInvalidNamespace = 0x8004100E, wbemErrInvalidObject = 0x8004100F, wbemErrInvalidClass = 0x80041010, wbemErrProviderNotFound = 0x80041011, wbemErrInvalidProviderRegistration = 0x80041012, wbemErrProviderLoadFailure = 0x80041013, wbemErrInitializationFailure = 0x80041014, wbemErrTransportFailure = 0x80041015, wbemErrInvalidOperation = 0x80041016, wbemErrInvalidQuery = 0x80041017, wbemErrInvalidQueryType = 0x80041018, wbemErrAlreadyExists = 0x80041019, wbemErrOverrideNotAllowed = 0x8004101A, wbemErrPropagatedQualifier = 0x8004101B, wbemErrPropagatedProperty = 0x8004101C, wbemErrUnexpected = 0x8004101D, wbemErrIllegalOperation = 0x8004101E, wbemErrCannotBeKey = 0x8004101F, wbemErrIncompleteClass = 0x80041020, wbemErrInvalidSyntax = 0x80041021, wbemErrNondecoratedObject = 0x80041022, wbemErrReadOnly = 0x80041023, wbemErrProviderNotCapable = 0x80041024, wbemErrClassHasChildren = 0x80041025, wbemErrClassHasInstances = 0x80041026, wbemErrQueryNotImplemented = 0x80041027, wbemErrIllegalNull = 0x80041028, wbemErrInvalidQualifierType = 0x80041029, wbemErrInvalidPropertyType = 0x8004102A, wbemErrValueOutOfRange = 0x8004102B, wbemErrCannotBeSingleton = 0x8004102C, wbemErrInvalidCimType = 0x8004102D, wbemErrInvalidMethod = 0x8004102E, wbemErrInvalidMethodParameters = 0x8004102F, wbemErrSystemProperty = 0x80041030, wbemErrInvalidProperty = 0x80041031, wbemErrCallCancelled = 0x80041032, wbemErrShuttingDown = 0x80041033, wbemErrPropagatedMethod = 0x80041034, wbemErrUnsupportedParameter = 0x80041035, wbemErrMissingParameter = 0x80041036, wbemErrInvalidParameterId = 0x80041037, wbemErrNonConsecutiveParameterIds = 0x80041038, wbemErrParameterIdOnRetval = 0x80041039, wbemErrInvalidObjectPath = 0x8004103A, wbemErrOutOfDiskSpace = 0x8004103B, wbemErrBufferTooSmall = 0x8004103C, wbemErrUnsupportedPutExtension = 0x8004103D, wbemErrUnknownObjectType = 0x8004103E, wbemErrUnknownPacketType = 0x8004103F, wbemErrMarshalVersionMismatch = 0x80041040, wbemErrMarshalInvalidSignature = 0x80041041, wbemErrInvalidQualifier = 0x80041042, wbemErrInvalidDuplicateParameter = 0x80041043, wbemErrTooMuchData = 0x80041044, wbemErrServerTooBusy = 0x80041045, wbemErrInvalidFlavor = 0x80041046, wbemErrCircularReference = 0x80041047, wbemErrUnsupportedClassUpdate = 0x80041048, wbemErrCannotChangeKeyInheritance = 0x80041049, wbemErrCannotChangeIndexInheritance = 0x80041050, wbemErrTooManyProperties = 0x80041051, wbemErrUpdateTypeMismatch = 0x80041052, wbemErrUpdateOverrideNotAllowed = 0x80041053, wbemErrUpdatePropagatedMethod = 0x80041054, wbemErrMethodNotImplemented = 0x80041055, wbemErrMethodDisabled = 0x80041056, wbemErrRefresherBusy = 0x80041057, wbemErrUnparsableQuery = 0x80041058, wbemErrNotEventClass = 0x80041059, wbemErrMissingGroupWithin = 0x8004105A, wbemErrMissingAggregationList = 0x8004105B, wbemErrPropertyNotAnObject = 0x8004105C, wbemErrAggregatingByObject = 0x8004105D, wbemErrUninterpretableProviderQuery = 0x8004105F, wbemErrBackupRestoreWinmgmtRunning = 0x80041060, wbemErrQueueOverflow = 0x80041061, wbemErrPrivilegeNotHeld = 0x80041062, wbemErrInvalidOperator = 0x80041063, wbemErrLocalCredentials = 0x80041064, wbemErrCannotBeAbstract = 0x80041065, wbemErrAmendedObject = 0x80041066, wbemErrClientTooSlow = 0x80041067, wbemErrNullSecurityDescriptor = 0x80041068, wbemErrTimeout = 0x80041069, wbemErrInvalidAssociation = 0x8004106A, wbemErrAmbiguousOperation = 0x8004106B, wbemErrQuotaViolation = 0x8004106C, wbemErrTransactionConflict = 0x8004106D, wbemErrForcedRollback = 0x8004106E, wbemErrUnsupportedLocale = 0x8004106F, wbemErrHandleOutOfDate = 0x80041070, wbemErrConnectionFailed = 0x80041071, wbemErrInvalidHandleRequest = 0x80041072, wbemErrPropertyNameTooWide = 0x80041073, wbemErrClassNameTooWide = 0x80041074, wbemErrMethodNameTooWide = 0x80041075, wbemErrQualifierNameTooWide = 0x80041076, wbemErrRerunCommand = 0x80041077, wbemErrDatabaseVerMismatch = 0x80041078, wbemErrVetoPut = 0x80041079, wbemErrVetoDelete = 0x8004107A, wbemErrInvalidLocale = 0x80041080, wbemErrProviderSuspended = 0x80041081, wbemErrSynchronizationRequired = 0x80041082, wbemErrNoSchema = 0x80041083, wbemErrProviderAlreadyRegistered = 0x80041084, wbemErrProviderNotRegistered = 0x80041085, wbemErrFatalTransportError = 0x80041086, wbemErrEncryptedConnectionRequired = 0x80041087, // Event Subsystem Errors wbemErrRegistrationTooBroad = 0x80042001, wbemErrRegistrationTooPrecise = 0x80042002, // Automation-specific errors wbemErrTimedout = 0x80043001, wbemErrResetToDefault = 0x80043002 } WbemErrorEnum; // The following are used in conjunction with the SWbemSecurity object typedef [ v1_enum, uuid(B54D66E7-2287-11d2-8B33-00600806D9B6), helpstring("Defines the security authentication level"), ] enum WbemAuthenticationLevelEnum { wbemAuthenticationLevelDefault = 0, wbemAuthenticationLevelNone = 1, wbemAuthenticationLevelConnect = 2, wbemAuthenticationLevelCall = 3, wbemAuthenticationLevelPkt = 4, wbemAuthenticationLevelPktIntegrity = 5, wbemAuthenticationLevelPktPrivacy = 6 } WbemAuthenticationLevelEnum; typedef [ v1_enum, uuid(B54D66E8-2287-11d2-8B33-00600806D9B6), helpstring("Defines the security impersonation level"), ] enum WbemImpersonationLevelEnum { wbemImpersonationLevelAnonymous = 1, wbemImpersonationLevelIdentify = 2, wbemImpersonationLevelImpersonate = 3, wbemImpersonationLevelDelegate = 4 } WbemImpersonationLevelEnum; typedef [ v1_enum, uuid(176D2F70-5AF3-11d2-8B4A-00600806D9B6), helpstring("Defines a privilege"), ] 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 Text Formats typedef [ v1_enum, uuid(09FF1992-EA0E-11d3-B391-00105A1F473A), helpstring("Defines object text formats"), ] enum WbemObjectTextFormatEnum { wbemObjectTextFormatCIMDTD20 = 1, wbemObjectTextFormatWMIDTD20 = 2 } WbemObjectTextFormatEnum; // This is new for Whistler and used with ConnectServer typedef [ v1_enum, helpstring("Used to define connection behavior") ] enum WbemConnectOptionsEnum { // wbemConnectFlagRepositoryOnly = 0X40, //not exposed wbemConnectFlagUseMaxWait = 0X80 } WbemConnectOptionsEnum; //coclasses //========= [ uuid(76A64158-CB41-11d1-8B02-00600806D9B6), helpstring("Used to obtain Namespace connections") ] coclass SWbemLocator { interface ISWbemLocator; }; [ uuid(9AED384E-CE8B-11d1-8B05-00600806D9B6), helpstring("A collection of Named Values") ] coclass SWbemNamedValueSet { interface ISWbemNamedValueSet; }; [ uuid(5791BC26-CE9C-11d1-97BF-0000F81E849C), helpstring("Object Path") ] coclass SWbemObjectPath { interface ISWbemObjectPath; }; [ uuid(C2FEEEAC-CFCD-11d1-8B05-00600806D9B6), helpstring("The last error on the current thread") ] coclass SWbemLastError { interface ISWbemLastError; }; [ uuid(75718C9A-F029-11d1-A1AC-00C04FB6C223), helpstring("A sink for events arising from asynchronous operations") ] coclass SWbemSink { interface ISWbemSink; [default, source] dispinterface ISWbemSinkEvents; }; [ uuid(47DFBE54-CF76-11d3-B38F-00105A1F473A), helpstring("Date & Time") ] coclass SWbemDateTime { interface ISWbemDateTime; }; [ uuid(D269BF5C-D9C1-11d3-B38F-00105A1F473A), helpstring("Refresher") ] coclass SWbemRefresher { interface ISWbemRefresher; }; /* The following are non-creatable coclasses */ [ uuid(04B83D63-21AE-11d2-8B33-00600806D9B6), helpstring("A connection to a Namespace"), noncreatable ] coclass SWbemServices { interface ISWbemServices; }; [ uuid(62E522DC-8CF3-40a8-8B2E-37D595651E40), helpstring("A connection to a Namespace"), noncreatable ] coclass SWbemServicesEx { interface ISWbemServicesEx; }; [ uuid(04B83D62-21AE-11d2-8B33-00600806D9B6), helpstring("A Class or Instance"), noncreatable ] coclass SWbemObject { interface ISWbemObject; }; [ uuid(D6BDAFB2-9435-491f-BB87-6AA0F0BC31A2), helpstring("A Class or Instance"), noncreatable ] coclass SWbemObjectEx { interface ISWbemObjectEx; }; [ uuid(04B83D61-21AE-11d2-8B33-00600806D9B6), helpstring("A collection of Classes or Instances"), noncreatable ] coclass SWbemObjectSet { interface ISWbemObjectSet; }; [ uuid(04B83D60-21AE-11d2-8B33-00600806D9B6), helpstring("A named value"), noncreatable ] coclass SWbemNamedValue { interface ISWbemNamedValue; }; [ uuid(04B83D5F-21AE-11d2-8B33-00600806D9B6), helpstring("A Qualifier"), noncreatable ] coclass SWbemQualifier { interface ISWbemQualifier; } [ uuid(04B83D5E-21AE-11d2-8B33-00600806D9B6), helpstring("A collection of Qualifiers"), noncreatable ] coclass SWbemQualifierSet { interface ISWbemQualifierSet; }; [ uuid(04B83D5D-21AE-11d2-8B33-00600806D9B6), helpstring("A Property"), noncreatable ] coclass SWbemProperty { interface ISWbemProperty; }; [ uuid(04B83D5C-21AE-11d2-8B33-00600806D9B6), helpstring("A collection of Properties"), noncreatable ] coclass SWbemPropertySet { interface ISWbemPropertySet; }; [ uuid(04B83D5B-21AE-11d2-8B33-00600806D9B6), helpstring("A Method"), noncreatable ] coclass SWbemMethod { interface ISWbemMethod; }; [ uuid(04B83D5A-21AE-11d2-8B33-00600806D9B6), helpstring("A collection of Methods"), noncreatable ] coclass SWbemMethodSet { interface ISWbemMethodSet; } [ uuid(04B83D58-21AE-11d2-8B33-00600806D9B6), helpstring("An Event source"), noncreatable ] coclass SWbemEventSource { interface ISWbemEventSource; }; [ uuid(B54D66E9-2287-11d2-8B33-00600806D9B6), helpstring("A Security Configurator"), noncreatable ] coclass SWbemSecurity { interface ISWbemSecurity; } [ uuid(26EE67BC-5804-11d2-8B4A-00600806D9B6), helpstring("A Privilege Override"), noncreatable ] coclass SWbemPrivilege { interface ISWbemPrivilege; } [ uuid(26EE67BE-5804-11d2-8B4A-00600806D9B6), helpstring("A collection of Privilege Overrides"), noncreatable ] coclass SWbemPrivilegeSet { interface ISWbemPrivilegeSet; } [ uuid(8C6854BC-DE4B-11d3-B390-00105A1F473A), helpstring("A single item from a Refresher"), noncreatable ] coclass SWbemRefreshableItem { interface ISWbemRefreshableItem; } }; [ object, local, uuid(76A6415B-CB41-11d1-8B02-00600806D9B6), dual, hidden, //nonextensible, oleautomation, pointer_default(unique), helpstring("Used to obtain Namespace connections") ] interface ISWbemLocator : IDispatch { [ id(1), helpstring("Connect to a Namespace") ] 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemServices **objWbemServices ); [ id(2), propget, helpstring("The Security Configurator for this Object") ] HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity); }; [ local, object, uuid(76A6415C-CB41-11d1-8B02-00600806D9B6), oleautomation, dual, //nonextensible, pointer_default(unique), hidden, helpstring("A connection to a Namespace") ] interface ISWbemServices : IDispatch { // Object Operations // ===================== [ id(1), helpstring("Get a single Class or Instance") ] HRESULT Get ( [in, defaultvalue("")] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemObject ); [ id(2), helpstring("Get a single Class or Instance asynchronously") ] HRESULT GetAsync ( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(3), helpstring("Delete a Class or Instance") ] HRESULT Delete ( [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet ); [ id(4), helpstring("Delete a Class or Instance asynchronously") ] HRESULT DeleteAsync ( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(5), helpstring("Enumerate the Instances of a Class") ] HRESULT InstancesOf( [in] BSTR strClass, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(6), helpstring("Enumerate the Instances of a Class asynchronously") ] HRESULT InstancesOfAsync( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strClass, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(7), helpstring("Enumerate the subclasses of a Class") ] HRESULT SubclassesOf( [in, defaultvalue("")] BSTR strSuperclass, [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(8), helpstring("Enumerate the subclasses of a Class asynchronously ") ] HRESULT SubclassesOfAsync( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue("")] BSTR strSuperclass, [in, defaultvalue(wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); // Queries // ======= [ id(9), helpstring("Execute a Query") ] HRESULT ExecQuery( [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(10), helpstring("Execute an asynchronous Query") ] HRESULT ExecQueryAsync( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(0)] long lFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(11), helpstring("Get the Associators of a class or instance") ] 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(12), helpstring("Get the Associators of a class or instance asynchronously") ] HRESULT AssociatorsOfAsync( [in] /*SWbemSink*/ 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(13), helpstring("Get the References to a class or instance") ] 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(14), helpstring("Get the References to a class or instance asynchronously") ] HRESULT ReferencesToAsync( [in] /*SWbemSink*/ 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(15), helpstring("Execute a Query to receive Notifications") ] HRESULT ExecNotificationQuery( [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(wbemFlagReturnImmediately|wbemFlagForwardOnly)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemEventSource **objWbemEventSource ); [ id(16), helpstring("Execute an asynchronous Query to receive Notifications") ] HRESULT ExecNotificationQueryAsync( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strQuery, [in, defaultvalue("WQL")] BSTR strQueryLanguage, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); // Method Invocation // ================= [ id(17), helpstring("Execute a Method") ] HRESULT ExecMethod( [in] BSTR strObjectPath, [in] BSTR strMethodName, [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemOutParameters ); [ id(18), helpstring("Execute a Method asynchronously") ] HRESULT ExecMethodAsync( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strObjectPath, [in] BSTR strMethodName, [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(19), propget, helpstring("The Security Configurator for this Object") ] HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity); }; [ local, object, uuid(D2F68443-85DC-427e-91D8-366554CC754C), oleautomation, dual, nonextensible, pointer_default(unique), hidden, helpstring("A connection to a Namespace") ] interface ISWbemServicesEx : ISWbemServices { [ id(20), helpstring("Save the Object to this Namespace") ] HRESULT Put( [in] ISWbemObjectEx *objWbemObject, [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectPath **objWbemObjectPath ); [ id(21), helpstring("Save the Object to this Namespace asynchronously") ] HRESULT PutAsync( [in] ISWbemSink *objWbemSink, [in] ISWbemObjectEx *objWbemObject, [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); }; [ local, object, uuid(76A6415A-CB41-11d1-8B02-00600806D9B6), dual, oleautomation, hidden, helpstring("A Class or Instance") ] interface ISWbemObject : IDispatch { [ id(1), helpstring("Save this Object") ] HRESULT Put_( [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectPath **objWbemObjectPath ); [ id(2), helpstring("Save this Object asynchronously") ] HRESULT PutAsync_( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue(wbemChangeFlagCreateOrUpdate)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id (3), helpstring("Delete this Object") ] HRESULT Delete_( [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet ); [ id (4), helpstring("Delete this Object asynchronously") ] HRESULT DeleteAsync_( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(5), helpstring("Return all instances of this Class") ] HRESULT Instances_( [in, defaultvalue(wbemFlagReturnImmediately)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(6), helpstring("Return all instances of this Class asynchronously") ] HRESULT InstancesAsync_( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(7), helpstring("Enumerate subclasses of this Class") ] HRESULT Subclasses_( [in, defaultvalue(wbemFlagReturnImmediately|wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(8), helpstring("Enumerate subclasses of this Class asynchronously") ] HRESULT SubclassesAsync_( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in, defaultvalue(wbemQueryFlagDeep)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(9), helpstring("Get the Associators of this Object") ] 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(10), helpstring("Get the Associators of this Object asynchronously") ] HRESULT AssociatorsAsync_( [in] /*SWbemSink*/ 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(11), helpstring("Get the References to this Object") ] 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(12), helpstring("Get the References to this Object asynchronously") ] HRESULT ReferencesAsync_( [in] /*SWbemSink*/ 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)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(13), helpstring("Execute a Method of this Object") ] HRESULT ExecMethod_( [in] BSTR strMethodName, [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemObject **objWbemOutParameters ); [ id(14), helpstring("Execute a Method of this Object asynchronously") ] HRESULT ExecMethodAsync_( [in] /*SWbemSink*/ IDispatch *objWbemSink, [in] BSTR strMethodName, [in, defaultvalue(0)] /*ISWbemObject*/ IDispatch *objWbemInParameters, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemAsyncContext ); [ id(15), helpstring("Clone this Object") ] HRESULT Clone_( [out, retval] ISWbemObject **objWbemObject ); [ id(16), helpstring("Get the MOF text of this Object") ] HRESULT GetObjectText_( [in, defaultvalue(0)] long iFlags, [out, retval] BSTR *strObjectText ); [ id(17), helpstring("Create a subclass of this Object") ] HRESULT SpawnDerivedClass_( [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject** objWbemObject ); [ id(18), helpstring("Create an Instance of this Object") ] HRESULT SpawnInstance_( [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject** objWbemObject ); [ id(19), helpstring("Compare this Object with another") ] HRESULT CompareTo_( [in] /*ISWbemObject*/ IDispatch *objWbemObject, [in, defaultvalue(wbemComparisonFlagIncludeAll)] long iFlags, [out, retval] VARIANT_BOOL *bResult ); [ id(20), propget, helpstring("The collection of Qualifiers of this Object") ] HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet); [ id(21), propget, helpstring("The collection of Properties of this Object") ] HRESULT Properties_ ([out, retval] ISWbemPropertySet **objWbemPropertySet); [ id(22), propget, helpstring("The collection of Methods of this Object") ] HRESULT Methods_ ([out, retval] ISWbemMethodSet **objWbemMethodSet); const ULONG WBEMS_DISPID_DERIVATION = 23; [ id(WBEMS_DISPID_DERIVATION), propget, helpstring("An array of strings describing the class derivation heirarchy, in most-derived-from order (the first element in the array defines the superclass and the last element defines the dynasty class).") ] HRESULT Derivation_ ([out, retval] VARIANT *strClassNameArray); [ id(24), propget, helpstring("The path of this Object") ] HRESULT Path_ ([out, retval] ISWbemObjectPath **objWbemObjectPath); [ id(25), propget, helpstring("The Security Configurator for this Object") ] HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity); }; [ local, object, uuid(269AD56A-8A67-4129-BC8C-0506DCFE9880), dual, oleautomation, hidden, helpstring("A Class or Instance") ] interface ISWbemObjectEx : ISWbemObject { [ id(26), helpstring("Refresh this Object") ] HRESULT Refresh_ ( [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet ); [ id(27), propget, helpstring("The collection of System Properties of this Object") ] HRESULT SystemProperties_ ([out, retval] ISWbemPropertySet **objWbemPropertySet); [ id(28), helpstring("Retrieve a textual representation of this Object") ] HRESULT GetText_ ( [in] WbemObjectTextFormatEnum iObjectTextFormat, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] BSTR *bsText ); [ id(29), helpstring("Set this Object using the supplied textual representation") ] HRESULT SetFromText_ ( [in] BSTR bsText, [in] WbemObjectTextFormatEnum iObjectTextFormat, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet ); }; [ local, object, uuid(D962DB84-D4BB-11d1-8B09-00600806D9B6), dual, oleautomation, hidden, helpstring("The last error on the current thread") ] interface ISWbemLastError : ISWbemObject { }; [ local, object, uuid(76A6415F-CB41-11d1-8B02-00600806D9B6), oleautomation, dual, hidden, nonextensible, helpstring("A collection of Classes or Instances") ] interface ISWbemObjectSet : IDispatch { [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk); [ id(DISPID_VALUE), helpstring("Get an Object with a specific path from this collection") ] HRESULT Item ( [in] BSTR strObjectPath, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemObject **objWbemObject ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ([out, retval] long *iCount); [ id(4), propget, helpstring("The Security Configurator for this Object") ] HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity); }; /* ISWbemNamedValueSet is a Collection of ISWbemNamedValue elements */ [ local, object, uuid(CF2376EA-CE8C-11d1-8B05-00600806D9B6), oleautomation, dual, hidden, //nonextensible, helpstring("A collection of named values") ] interface ISWbemNamedValueSet : IDispatch { /* These are used in the context of collections */ [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk); [ id(DISPID_VALUE), helpstring("Get a named value from this Collection") ] HRESULT Item ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemNamedValue **objWbemNamedValue ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ([out, retval] long *iCount); [ id(2), helpstring("Add a named value to this collection") ] HRESULT Add ( [in] BSTR strName, [in] VARIANT *varValue, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemNamedValue **objWbemNamedValue ); [ id(3), helpstring("Remove a named value from this collection") ] HRESULT Remove ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags ); /* End of collection-specific members */ [ id(4), helpstring("Make a copy of this collection") ] HRESULT Clone( [out, retval] ISWbemNamedValueSet **objWbemNamedValueSet ); [ id(5), helpstring("Delete all items in this collection") ] HRESULT DeleteAll(); }; [ local, object, uuid(76A64164-CB41-11d1-8B02-00600806D9B6), dual, oleautomation, hidden, //nonextensible, helpstring("A named value") ] interface ISWbemNamedValue : IDispatch { [ id(DISPID_VALUE), propget, helpstring("The Value of this Named element") ] HRESULT Value([out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value([in] VARIANT *varValue); [ id(2), propget, helpstring("The Name of this Value") ] HRESULT Name([out, retval] BSTR *strName); }; [ object, local, uuid(5791BC27-CE9C-11d1-97BF-0000F81E849C), dual, oleautomation, hidden, //nonextensible, pointer_default(unique), helpstring("An Object path") ] interface ISWbemObjectPath : IDispatch { [ id(DISPID_VALUE), propget, helpstring("The full path") ] HRESULT Path([out, retval] BSTR *strPath); [ id(DISPID_VALUE), propput ] HRESULT Path([in] BSTR strPath); [ id(1), propget, helpstring("The relative path") ] HRESULT RelPath([out, retval] BSTR *strRelPath); [ id(1), propput ] HRESULT RelPath([in] BSTR strRelPath); [ id(2), propget, helpstring("The name of the Server") ] HRESULT Server([out, retval] BSTR *strServer); [ id(2), propput ] HRESULT Server([in] BSTR strServer); [ id(3), propget, helpstring("The Namespace path") ] HRESULT Namespace([out, retval] BSTR *strNamespace); [ id(3), propput ] HRESULT Namespace([in] BSTR strNamespace); [ id(4), propget, helpstring("The parent Namespace path") ] HRESULT ParentNamespace([out, retval] BSTR *strParentNamespace); [ id(5), propget, helpstring("The Display Name for this path") ] HRESULT DisplayName([out, retval] BSTR *strDisplayName); [ id(5), propput ] HRESULT DisplayName([in] BSTR strDisplayName); [ id(6), propget, helpstring("The Class name") ] HRESULT Class([out, retval] BSTR *strClass); [ id(6), propput ] HRESULT Class([in] BSTR strClass); [ id(7), propget, helpstring("Indicates whether this path addresses a Class") ] HRESULT IsClass([out, retval] VARIANT_BOOL *bIsClass); [ id(8), helpstring("Coerce this path to address a Class") ] HRESULT SetAsClass(); [ id(9), propget, helpstring("Indicates whether this path addresses a Singleton Instance") ] HRESULT IsSingleton([out, retval] VARIANT_BOOL *bIsSingleton); [ id(10), helpstring("Coerce this path to address a Singleton Instance") ] HRESULT SetAsSingleton(); [ id(11), propget, helpstring("The collection of Key value bindings for this path") ] HRESULT Keys([out, retval] ISWbemNamedValueSet** objWbemNamedValueSet); [ id(12), propget, helpstring("Defines the security components of this path") ] HRESULT Security_([out,retval] ISWbemSecurity** objWbemSecurity); [ id(13), propget, helpstring("Defines locale component of this path") ] HRESULT Locale([out,retval] BSTR* strLocale); [ id(13), propput ] HRESULT Locale([in] BSTR strLocale); [ id(14), propget, helpstring("Defines authentication authority component of this path") ] HRESULT Authority([out,retval] BSTR* strAuthority); [ id(14), propput ] HRESULT Authority([in] BSTR strAuthority); }; [ object, local, uuid(1A388F98-D4BA-11d1-8B09-00600806D9B6), dual, oleautomation, hidden, //nonextensible, pointer_default(unique), helpstring("A Property") ] interface ISWbemProperty : IDispatch { [ id(DISPID_VALUE), propget, helpstring("The value of this Property") ] HRESULT Value([out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value([in] VARIANT *varValue); [ id(1), propget, helpstring("The name of this Property") ] HRESULT Name([out, retval] BSTR *strName); [ id(2), propget, helpstring("Indicates whether this Property is local or propagated") ] HRESULT IsLocal([out,retval] VARIANT_BOOL *bIsLocal); [ id(3), propget, helpstring("The originating class of this Property") ] HRESULT Origin([out,retval] BSTR *strOrigin); [ id(4), propget, helpstring("The CIM Type of this Property") ] HRESULT CIMType([out,retval] WbemCimtypeEnum *iCimType); [ id(5), propget, helpstring("The collection of Qualifiers of this Property") ] HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet); [ id(6), propget, helpstring("Indicates whether this Property is an array type") ] HRESULT IsArray([out,retval] VARIANT_BOOL *bIsArray); }; /* ISWbemPropertySet is a Collection of ISWbemProperty elements */ [ object, local, uuid(DEA0A7B2-D4BA-11d1-8B09-00600806D9B6), oleautomation, dual, hidden, //nonextensible, helpstring("A collection of Properties") ] interface ISWbemPropertySet : IDispatch { /* These are used in the context of collections */ [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk); [ id(DISPID_VALUE), helpstring("Get a named Property from this collection") ] HRESULT Item ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemProperty **objWbemProperty ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ([out, retval] long *iCount); [ id(2), helpstring("Add a Property to this collection") ] 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), helpstring("Remove a Property from this collection") ] HRESULT Remove ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags ); }; [ object, local, uuid(79B05932-D3B7-11d1-8B06-00600806D9B6), dual, oleautomation, hidden, nonextensible, pointer_default(unique), helpstring("A Qualifier") ] interface ISWbemQualifier : IDispatch { [ id(DISPID_VALUE), propget, helpstring("The value of this Qualifier") ] HRESULT Value([out, retval] VARIANT *varValue); [ id(DISPID_VALUE), propput ] HRESULT Value([in] VARIANT *varValue); [ id(1), propget, helpstring("The name of this Qualifier") ] HRESULT Name([out, retval] BSTR *strName); [ id(2), propget, helpstring("Indicates whether this Qualifier is local or propagated") ] HRESULT IsLocal([out,retval] VARIANT_BOOL *bIsLocal); [ id(3), propget, helpstring("Determines whether this Qualifier can propagate to subclasses") ] HRESULT PropagatesToSubclass([out, retval] VARIANT_BOOL *bPropagatesToSubclass); [ id(3), propput ] HRESULT PropagatesToSubclass([in] VARIANT_BOOL bPropagatesToSubclass); [ id(4), propget, helpstring("Determines whether this Qualifier can propagate to instances") ] HRESULT PropagatesToInstance([out, retval] VARIANT_BOOL *bPropagatesToInstance); [ id(4), propput ] HRESULT PropagatesToInstance([in] VARIANT_BOOL bPropagatesToInstance); [ id(5), propget, helpstring("Determines whether this Qualifier can be overridden where propagated") ] HRESULT IsOverridable([out, retval] VARIANT_BOOL *bIsOverridable); [ id(5), propput ] HRESULT IsOverridable([in] VARIANT_BOOL bIsOverridable); [ id(6), propget, helpstring("Determines whether the value of this Qualifier has been amended") ] HRESULT IsAmended([out, retval] VARIANT_BOOL *bIsAmended); }; /* ISWbemQualifierSet is a Collection of ISWbemQualifier elements */ [ object, local, uuid(9B16ED16-D3DF-11d1-8B08-00600806D9B6), oleautomation, dual, hidden, nonextensible, helpstring("A collection of Qualifiers") ] interface ISWbemQualifierSet : IDispatch { /* These are used in the context of collections */ [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum ( [out, retval] IUnknown **pUnk ); [ id(DISPID_VALUE), helpstring("Get a named Qualifier from this collection") ] HRESULT Item ( [in] BSTR name, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemQualifier **objWbemQualifier ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ( [out, retval] long *iCount ); [ id(2), helpstring("Add a Qualifier to this collection") ] 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), helpstring("Remove a Qualifier from this collection") ] HRESULT Remove ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags ); /* End of collection-specific members */ }; [ object, local, uuid(422E8E90-D955-11d1-8B09-00600806D9B6), dual, oleautomation, pointer_default(unique), nonextensible, hidden, helpstring("A Method") ] interface ISWbemMethod : IDispatch { [ id(1), propget, helpstring("The name of this Method") ] HRESULT Name([out, retval] BSTR *strName); [ id(2), propget, helpstring("The originating class of this Method") ] HRESULT Origin([out,retval] BSTR *strOrigin); [ id(3), propget, helpstring("The in parameters for this Method.") ] HRESULT InParameters ([out, retval] ISWbemObject **objWbemInParameters); [ id(4), propget, helpstring("The out parameters for this Method.") ] HRESULT OutParameters ([out, retval] ISWbemObject **objWbemOutParameters); [ id(5), propget, helpstring("The collection of Qualifiers of this Method.") ] HRESULT Qualifiers_ ([out, retval] ISWbemQualifierSet **objWbemQualifierSet); }; /* ISWbemMethodSet is a Collection of ISWbemMethod elements */ [ local, object, uuid(C93BA292-D955-11d1-8B09-00600806D9B6), oleautomation, dual, nonextensible, hidden, helpstring("A collection of Methods") ] interface ISWbemMethodSet : IDispatch { /* These are used in the context of collections */ [id(DISPID_NEWENUM), propget, restricted] HRESULT _NewEnum ([out, retval] IUnknown **pUnk); [ id(DISPID_VALUE), helpstring("Get a named Method from this collection") ] HRESULT Item ( [in] BSTR strName, [in, defaultvalue(0)] long iFlags, [out, retval] ISWbemMethod **objWbemMethod ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ([out, retval] long *iCount); /* End of collection-specific members */ }; [ object, uuid(75718C9F-F029-11d1-A1AC-00C04FB6C223), oleautomation, dual, hidden, nonextensible, helpstring("Asynchronous operation control") ] interface ISWbemSink : IDispatch { [ id(1), helpstring("Cancel an asynchronous operation") ] HRESULT Cancel(); }; const ULONG WBEMS_DISPID_OBJECT_READY = 1; const ULONG WBEMS_DISPID_COMPLETED = 2; const ULONG WBEMS_DISPID_PROGRESS = 3; const ULONG WBEMS_DISPID_OBJECT_PUT = 4; const ULONG WBEMS_DISPID_CONNECTION_READY = 5; [ uuid(75718CA0-F029-11d1-A1AC-00C04FB6C223), helpstring("A sink for events arising from asynchronous operations"), nonextensible, hidden ] dispinterface ISWbemSinkEvents { properties: methods: [ id(WBEMS_DISPID_OBJECT_READY), helpstring("Event triggered when an Object is available") ] void OnObjectReady( ISWbemObject *objWbemObject, ISWbemNamedValueSet *objWbemAsyncContext ); [ id(WBEMS_DISPID_COMPLETED), helpstring("Event triggered when an asynchronous operation is completed") ] void OnCompleted ( WbemErrorEnum iHResult, ISWbemObject *objWbemErrorObject, ISWbemNamedValueSet *objWbemAsyncContext ); [ id(WBEMS_DISPID_PROGRESS), helpstring("Event triggered to report the progress of an asynchronous operation") ] void OnProgress ( long iUpperBound, long iCurrent, BSTR strMessage, ISWbemNamedValueSet *objWbemAsyncContext ); [ id(WBEMS_DISPID_OBJECT_PUT), helpstring("Event triggered when an object path is available following a Put operation") ] void OnObjectPut ( ISWbemObjectPath *objWbemObjectPath, ISWbemNamedValueSet *objWbemAsyncContext ); }; /* ISWbemEventSource is an iterator for returned events from ExecQueryNotification */ [ object, local, uuid(27D54D92-0EBE-11d2-8B22-00600806D9B6), oleautomation, dual, nonextensible, hidden, helpstring("An Event source"), ] interface ISWbemEventSource : IDispatch { [ id(1), helpstring("Retrieve the next event within a specified time period. The timeout is specified in milliseconds.") ] HRESULT NextEvent ( [in, defaultvalue(wbemTimeoutInfinite)] long iTimeoutMs, [out, retval] ISWbemObject **objWbemObject ); [ id(2), propget, helpstring("The Security Configurator for this Object") ] HRESULT Security_ ([out, retval] ISWbemSecurity **objWbemSecurity); }; /* ISWbemSecurity provides security settings for remotable calls */ [ object, local, uuid(B54D66E6-2287-11d2-8B33-00600806D9B6), oleautomation, dual, nonextensible, hidden, helpstring("A Security Configurator") ] interface ISWbemSecurity : IDispatch { [ id(1), propget, helpstring("The security impersonation level") ] HRESULT ImpersonationLevel ([out, retval] WbemImpersonationLevelEnum *iImpersonationLevel); [ id(1), propput ] HRESULT ImpersonationLevel ([in] WbemImpersonationLevelEnum iImpersonationLevel); [ id(2), propget, helpstring("The security authentication level") ] HRESULT AuthenticationLevel ([out, retval] WbemAuthenticationLevelEnum *iAuthenticationLevel); [ id(2), propput ] HRESULT AuthenticationLevel ([in] WbemAuthenticationLevelEnum iAuthenticationLevel); [ id(3), propget, helpstring ("The collection of privileges for this object") ] HRESULT Privileges ([out, retval] ISWbemPrivilegeSet **objWbemPrivilegeSet); }; /* ISWbemPrivilege provides security settings for remotable calls */ [ object, local, uuid(26EE67BD-5804-11d2-8B4A-00600806D9B6), oleautomation, dual, nonextensible, hidden, helpstring("A Privilege Override") ] interface ISWbemPrivilege : IDispatch { [ id(DISPID_VALUE), propget, helpstring("Whether the Privilege is to be enabled or disabled") ] HRESULT IsEnabled ([out, retval] VARIANT_BOOL *bIsEnabled); [ id(DISPID_VALUE), propput ] HRESULT IsEnabled ([in] VARIANT_BOOL bIsEnabled); [ id(1), propget, helpstring("The name of the Privilege") ] HRESULT Name ([out, retval] BSTR *strDisplayName); [ id(2), propget, helpstring ("The display name of the Privilege") ] HRESULT DisplayName ([out, retval] BSTR *strDisplayName); [ id(3), propget, helpstring ("The Privilege identifier") ] HRESULT Identifier ([out, retval] WbemPrivilegeEnum *iPrivilege); }; /* ISWbemPrivilegeSet is a Collection of ISWbemPrivilege elements */ [ object, local, uuid(26EE67BF-5804-11d2-8B4A-00600806D9B6), oleautomation, dual, hidden, nonextensible, helpstring("A collection of Privilege Overrides") ] interface ISWbemPrivilegeSet : IDispatch { /* These are used in the context of collections */ [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum ( [out, retval] IUnknown **pUnk ); [ id(DISPID_VALUE), helpstring("Get a named Privilege from this collection") ] HRESULT Item ( [in] WbemPrivilegeEnum iPrivilege, [out, retval] ISWbemPrivilege **objWbemPrivilege ); [ id(1), propget, helpstring("The number of items in this collection") ] HRESULT Count ( [out, retval] long *iCount ); [ id(2), helpstring("Add a Privilege to this collection") ] HRESULT Add ( [in] WbemPrivilegeEnum iPrivilege, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled, [out, retval] ISWbemPrivilege **objWbemPrivilege ); [ id(3), helpstring("Remove a Privilege from this collection") ] HRESULT Remove ( [in] WbemPrivilegeEnum iPrivilege ); /* End of collection-specific members */ [ id(4), helpstring("Delete all items in this collection") ] HRESULT DeleteAll(); [ id(5), helpstring("Add a named Privilege to this collection") ] HRESULT AddAsString ( [in] BSTR strPrivilege, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsEnabled, [out, retval] ISWbemPrivilege **objWbemPrivilege ); }; /* ISWbemDateTime provides a datetime helper wrapper */ [ object, local, uuid(5E97458A-CF77-11d3-B38F-00105A1F473A), oleautomation, dual, nonextensible, helpstring("A Datetime") ] interface ISWbemDateTime : IDispatch { [ id(DISPID_VALUE), propget, helpstring("The DMTF datetime") ] HRESULT Value ([out, retval] BSTR *strValue); [ id(DISPID_VALUE), propput ] HRESULT Value ([in] BSTR strValue); [ id(1), propget, helpstring("The Year component of the value (must be in the range 0-9999)") ] HRESULT Year ([out, retval] long *iYear); [ id(1), propput ] HRESULT Year ([in] long iYear); [ id(2), propget, helpstring("Whether the Year component is specified") ] HRESULT YearSpecified ([out, retval] VARIANT_BOOL *bYearSpecified); [ id(2), propput ] HRESULT YearSpecified ([in] VARIANT_BOOL bYearSpecified); [ id(3), propget, helpstring("The Month component of the value (must be in the range 1-12)") ] HRESULT Month ([out, retval] long *iMonth); [ id(3), propput ] HRESULT Month ([in] long iMonth); [ id(4), propget, helpstring("Whether the Month component is specified") ] HRESULT MonthSpecified ([out, retval] VARIANT_BOOL *bMonthSpecified); [ id(4), propput ] HRESULT MonthSpecified ([in] VARIANT_BOOL bMonthSpecified); [ id(5), propget, helpstring("The Day component of the value (must be in the range 1-31, or 0-999999 for interval values)") ] HRESULT Day ([out, retval] long *iDay); [ id(5), propput ] HRESULT Day ([in] long iDay); [ id(6), propget, helpstring("Whether the Day component is specified") ] HRESULT DaySpecified ([out, retval] VARIANT_BOOL *bDaySpecified); [ id(6), propput ] HRESULT DaySpecified ([in] VARIANT_BOOL bDaySpecified); [ id(7), propget, helpstring("The Hours component of the value (must be in the range 0-23)") ] HRESULT Hours ([out, retval] long *iHours); [ id(7), propput ] HRESULT Hours ([in] long iHours); [ id(8), propget, helpstring("Whether the Hours component is specified") ] HRESULT HoursSpecified ([out, retval] VARIANT_BOOL *bHoursSpecified); [ id(8), propput ] HRESULT HoursSpecified ([in] VARIANT_BOOL bHoursSpecified); [ id(9), propget, helpstring("The Minutes component of the value (must be in the range 0-59)") ] HRESULT Minutes ([out, retval] long *iMinutes); [ id(9), propput ] HRESULT Minutes ([in] long iMinutes); [ id(10), propget, helpstring("Whether the Minutes component is specified") ] HRESULT MinutesSpecified ([out, retval] VARIANT_BOOL *bMinutesSpecified); [ id(10), propput ] HRESULT MinutesSpecified ([in] VARIANT_BOOL bMinutesSpecified); [ id(11), propget, helpstring("The Seconds component of the value (must be in the range 0-59)") ] HRESULT Seconds ([out, retval] long *iSeconds); [ id(11), propput ] HRESULT Seconds ([in] long iSeconds); [ id(12), propget, helpstring("Whether the Seconds component is specified") ] HRESULT SecondsSpecified ([out, retval] VARIANT_BOOL *bSecondsSpecified); [ id(12), propput ] HRESULT SecondsSpecified ([in] VARIANT_BOOL bSecondsSpecified); [ id(13), propget, helpstring("The Microseconds component of the value (must be in the range 0-999999)") ] HRESULT Microseconds ([out, retval] long *iMicroseconds); [ id(13), propput ] HRESULT Microseconds ([in] long iMicroseconds); [ id(14), propget, helpstring("Whether the Microseconds component is specified") ] HRESULT MicrosecondsSpecified ([out, retval] VARIANT_BOOL *bMicrosecondsSpecified); [ id(14), propput ] HRESULT MicrosecondsSpecified ([in] VARIANT_BOOL bMicrosecondsSpecified); [ id(15), propget, helpstring("The UTC component of the value (must be in the range -720 to 720)") ] HRESULT UTC ([out, retval] long *iUTC); [ id(15), propput ] HRESULT UTC ([in] long iUTC); [ id(16), propget, helpstring("Whether the UTC component is specified") ] HRESULT UTCSpecified ([out, retval] VARIANT_BOOL *bUTCSpecified); [ id(16), propput ] HRESULT UTCSpecified ([in] VARIANT_BOOL bUTCSpecified); [ id(17), propget, helpstring("Indicates whether this value describes an absolute date and time or is an interval") ] HRESULT IsInterval ([out, retval] VARIANT_BOOL *bIsInterval); [ id(17), propput ] HRESULT IsInterval ([in] VARIANT_BOOL bIsInterval); [ id(18), helpstring("Retrieve value in Variant compatible (VT_DATE) format") ] HRESULT GetVarDate ( [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal, [out, retval] DATE *dVarDate ); [ id(19), helpstring("Set the value using Variant compatible (VT_DATE) format") ] HRESULT SetVarDate ( [in] DATE dVarDate, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal ); [ id(20), helpstring("Retrieve value in FILETIME compatible string representation") ] HRESULT GetFileTime ( [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal, [out, retval] BSTR *strFileTime ); [ id(21), helpstring("Set the value using FILETIME compatible string representation") ] HRESULT SetFileTime ( [in] BSTR strFileTime, [in, defaultvalue(TRUE)] VARIANT_BOOL bIsLocal ); }; /* ISWbemRefreshableItem defines an item in a refresher */ [ object, local, uuid(5AD4BF92-DAAB-11d3-B38F-00105A1F473A), oleautomation, dual, nonextensible, helpstring("A single item in a Refresher") ] interface ISWbemRefreshableItem : IDispatch { [ id(1), propget, helpstring("The index of this item in the parent refresher") ] HRESULT Index ( [out, retval] long *iIndex ); [ id(2), propget, helpstring("The parent refresher") ] HRESULT Refresher ( [out, retval] ISWbemRefresher **objWbemRefresher ); [ id(3), propget, helpstring("Whether this item represents a single object or an object set") ] HRESULT IsSet ( [out, retval] VARIANT_BOOL *bIsSet ); [ id(4), propget, helpstring("The object") ] HRESULT Object ( [out, retval] ISWbemObjectEx **objWbemObject ); [ id(5), propget, helpstring("The object set") ] HRESULT ObjectSet ( [out, retval] ISWbemObjectSet **objWbemObjectSet ); [ id(6), helpstring("Remove this item from the parent refresher") ] HRESULT Remove ( [in, defaultvalue(0)] long iFlags ); }; /* ISWbemRefresher provides an object refresher collection */ [ object, local, uuid(14D8250E-D9C2-11d3-B38F-00105A1F473A), oleautomation, dual, nonextensible, helpstring("A Collection of Refreshable Objects") ] interface ISWbemRefresher : IDispatch { /* These are used in the context of collections */ [ id(DISPID_NEWENUM), propget, restricted ] HRESULT _NewEnum ( [out, retval] IUnknown **pUnk ); [ id(DISPID_VALUE), helpstring("Get an item from this refresher") ] HRESULT Item ( [in] long iIndex, [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem ); [ id(1), propget, helpstring("The number of items in this refresher") ] HRESULT Count ( [out, retval] long *iCount ); [ id(2), helpstring("Add a refreshable instance to this refresher") ] HRESULT Add ( [in] ISWbemServicesEx *objWbemServices, [in] BSTR bsInstancePath, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem ); [ id(3), helpstring("Add a refreshable enumerator to this refresher") ] HRESULT AddEnum ( [in] ISWbemServicesEx *objWbemServices, [in] BSTR bsClassName, [in, defaultvalue(0)] long iFlags, [in, defaultvalue(0)] /*ISWbemNamedValueSet*/ IDispatch *objWbemNamedValueSet, [out, retval] ISWbemRefreshableItem **objWbemRefreshableItem ); [ id(4), helpstring("Remove an item from this refresher") ] HRESULT Remove ( [in] long iIndex, [in, defaultvalue(0)] long iFlags ); [ id(5), helpstring("Refresh all items in this collection") ] HRESULT Refresh ( [in, defaultvalue(0)] long iFlags ); [ id(6), propget, helpstring("Whether to attempt auto-reconnection to a remote provider") ] HRESULT AutoReconnect ( [out, retval] VARIANT_BOOL *bCount ); [ id(6), propput ] HRESULT AutoReconnect ( [in] VARIANT_BOOL bCount ); [ id(7), helpstring("Delete all items in this collection") ] HRESULT DeleteAll(); };