You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
602 lines
16 KiB
602 lines
16 KiB
cpp_quote("/*******************************************************************************/" )
|
|
cpp_quote("/* */" )
|
|
cpp_quote("/* Copyright © Microsoft Corporation. All rights reserved. */" )
|
|
cpp_quote("/* */" )
|
|
cpp_quote("/*******************************************************************************/" )
|
|
|
|
import "objidl.idl";
|
|
import "oleidl.idl";
|
|
import "oaidl.idl";
|
|
import "wbemcli.idl";
|
|
import "wmiutils.idl";
|
|
|
|
|
|
// this is used by providers that do not wish to be instantiated
|
|
// by winmgmt, rather the provider registers it's participation
|
|
// in servicing client requests as and when desired. This is
|
|
// primarily used by providers that act on the part of application
|
|
// hosts and that export management information only when they are activated
|
|
// via some application scenario.
|
|
|
|
|
|
|
|
[uuid(4cfc7932-0f9d-4bef-9c32-8ea2a6b56fcb)]
|
|
coclass WbemDecoupledRegistrar
|
|
{
|
|
interface IWbemDecoupledRegistrar ;
|
|
};
|
|
|
|
[uuid(f5f75737-2843-4f22-933d-c76a97cda62f)]
|
|
coclass WbemDecoupledBasicEventProvider
|
|
{
|
|
interface IWbemDecoupledBasicEventProvider ;
|
|
};
|
|
|
|
|
|
[object, local, uuid(1005cbcf-e64f-4646-bcd3-3a089d8a84b4)]
|
|
interface IWbemDecoupledRegistrar : IUnknown
|
|
{
|
|
HRESULT Register (
|
|
|
|
[in] long a_Flags ,
|
|
[in] IWbemContext *a_Context ,
|
|
[in] LPCWSTR a_User ,
|
|
[in] LPCWSTR a_Locale ,
|
|
[in] LPCWSTR a_Scope ,
|
|
[in] LPCWSTR a_Registration ,
|
|
[in] IUnknown *a_Unknown
|
|
) ;
|
|
|
|
HRESULT UnRegister () ;
|
|
} ;
|
|
|
|
[object, local, uuid(86336d20-ca11-4786-9ef1-bc8a946b42fc)]
|
|
interface IWbemDecoupledBasicEventProvider : IWbemDecoupledRegistrar
|
|
{
|
|
HRESULT GetSink (
|
|
|
|
[in] long a_Flags ,
|
|
[in] IWbemContext *a_Context ,
|
|
[out] IWbemObjectSink **a_Sink
|
|
) ;
|
|
|
|
HRESULT GetService (
|
|
|
|
[in] long a_Flags ,
|
|
[in] IWbemContext *a_Context ,
|
|
[out] IWbemServices **a_Service
|
|
) ;
|
|
|
|
} ;
|
|
|
|
|
|
typedef VARIANT WBEM_VARIANT;
|
|
typedef [string] WCHAR* WBEM_WSTR;
|
|
typedef [string] const WCHAR* WBEM_CWSTR;
|
|
|
|
#define OPTIONAL in, unique
|
|
|
|
typedef struct _tag_WmiInternalContext
|
|
{
|
|
unsigned __int64 m_IdentifyHandle ;
|
|
unsigned long m_ProcessIdentifier ;
|
|
|
|
} WmiInternalContext ;
|
|
|
|
[object, uuid(1be41571-91dd-11d1-aeb2-00c04fb68820)]
|
|
|
|
interface IWbemProviderInitSink : IUnknown
|
|
{
|
|
HRESULT SetStatus(
|
|
[in] LONG lStatus,
|
|
[in] LONG lFlags
|
|
);
|
|
};
|
|
[restricted, object, uuid(e246107b-b06e-11d0-ad61-00c04fd8fdff)]
|
|
interface IWbemUnboundObjectSink : IUnknown
|
|
{
|
|
HRESULT IndicateToConsumer(
|
|
[in] IWbemClassObject* pLogicalConsumer,
|
|
[in] long lNumObjects,
|
|
[in, size_is(lNumObjects)] IWbemClassObject** apObjects);
|
|
};
|
|
|
|
[object,uuid(41aa40e6-2fba-4e80-ade9-34306567206d)]
|
|
interface _IWmiProviderSubsystemRegistrar : IUnknown
|
|
{
|
|
HRESULT Register (
|
|
|
|
[in] long a_Flags ,
|
|
[in] IWbemContext *a_Context ,
|
|
[in,unique] LPCWSTR a_User ,
|
|
[in,unique] LPCWSTR a_Locale ,
|
|
[in] LPCWSTR a_Scope ,
|
|
[in] LPCWSTR a_Registration ,
|
|
[in] DWORD a_ProcessIdentifier ,
|
|
[in] IUnknown *a_Unknown ,
|
|
[in] GUID a_Identity
|
|
) ;
|
|
|
|
HRESULT UnRegister (
|
|
|
|
[in] long a_Flags ,
|
|
[in] IWbemContext *a_Context ,
|
|
[in,unique] LPCWSTR a_User ,
|
|
[in,unique] LPCWSTR a_Locale ,
|
|
[in] LPCWSTR a_Scope ,
|
|
[in] LPCWSTR a_Registration ,
|
|
[in] GUID a_Identity
|
|
) ;
|
|
} ;
|
|
|
|
|
|
[object, uuid(6919dd07-1637-4611-a8a7-c16fac5b2d53)]
|
|
interface Internal_IWbemProviderInit : IUnknown
|
|
{
|
|
HRESULT Internal_Initialize (
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in, unique, string] LPWSTR wszUser,
|
|
[in] LONG lFlags,
|
|
[in, string] LPWSTR wszNamespace,
|
|
[in, unique, string] LPWSTR wszLocale,
|
|
[in] IWbemServices* pNamespace,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemProviderInitSink* pInitSink
|
|
) ;
|
|
};
|
|
|
|
[restricted, object, uuid(2b322b6e-a9df-44e3-97bf-259e3583fda4)]
|
|
interface Internal_IWbemProviderIdentity : IUnknown
|
|
{
|
|
HRESULT Internal_SetRegistrationObject(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lFlags,
|
|
[in] IWbemClassObject* pProvReg);
|
|
};
|
|
|
|
[object, uuid(f50a28cf-5c9c-4f7e-9d80-e25e16e18c59)]
|
|
interface Internal_IWbemServices : IUnknown
|
|
{
|
|
// Context.
|
|
// ========
|
|
HRESULT Internal_OpenNamespace (
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strNamespace,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemServices** ppWorkingNamespace,
|
|
[out, OPTIONAL] IWbemCallResult** ppResult
|
|
);
|
|
|
|
HRESULT Internal_CancelAsyncCall(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemObjectSink* pSink
|
|
);
|
|
|
|
HRESULT Internal_QueryObjectSink(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lFlags,
|
|
[out] IWbemObjectSink** ppResponseHandler
|
|
);
|
|
|
|
// Classes and instances.
|
|
// ======================
|
|
|
|
HRESULT Internal_GetObject(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemClassObject** ppObject,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_GetObjectAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
// Class manipulation.
|
|
// ===================
|
|
|
|
HRESULT Internal_PutClass(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pObject,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_PutClassAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pObject,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
HRESULT Internal_DeleteClass(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strClass,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_DeleteClassAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strClass,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
HRESULT Internal_CreateClassEnum(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strSuperclass,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out] IEnumWbemClassObject** ppEnum
|
|
);
|
|
|
|
HRESULT Internal_CreateClassEnumAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strSuperclass,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
// Instances.
|
|
// ==========
|
|
|
|
HRESULT Internal_PutInstance(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pInst,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_PutInstanceAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pInst,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
HRESULT Internal_DeleteInstance(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_DeleteInstanceAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
HRESULT Internal_CreateInstanceEnum(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strFilter, // allow more things than a class name
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out] IEnumWbemClassObject** ppEnum
|
|
);
|
|
|
|
HRESULT Internal_CreateInstanceEnumAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strFilter, // allow more things than a class name
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
// Queries.
|
|
// ========
|
|
|
|
HRESULT Internal_ExecQuery(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strQueryLanguage,
|
|
[in] const BSTR strQuery,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out] IEnumWbemClassObject** ppEnum
|
|
);
|
|
|
|
HRESULT Internal_ExecQueryAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strQueryLanguage,
|
|
[in] const BSTR strQuery,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
|
|
HRESULT Internal_ExecNotificationQuery(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strQueryLanguage,
|
|
[in] const BSTR strQuery,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[out] IEnumWbemClassObject** ppEnum
|
|
);
|
|
|
|
HRESULT Internal_ExecNotificationQueryAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strQueryLanguage,
|
|
[in] const BSTR strQuery,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
|
|
// Methods
|
|
// =======
|
|
|
|
HRESULT Internal_ExecMethod(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] const BSTR strMethodName,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemClassObject* pInParams,
|
|
[out, OPTIONAL] IWbemClassObject** ppOutParams,
|
|
[out, OPTIONAL] IWbemCallResult** ppCallResult
|
|
);
|
|
|
|
HRESULT Internal_ExecMethodAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] const BSTR strObjectPath,
|
|
[in] const BSTR strMethodName,
|
|
[in] long lFlags,
|
|
[in] IWbemContext* pCtx,
|
|
[in] IWbemClassObject* pInParams,
|
|
[in] IWbemObjectSink* pResponseHandler
|
|
);
|
|
};
|
|
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(2db9fa90-9973-46cf-b310-9865b644699d)]
|
|
interface Internal_IWbemObjectSink : IUnknown
|
|
{
|
|
HRESULT Internal_Indicate(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lObjectCount,
|
|
[in, size_is(lObjectCount)]
|
|
IWbemClassObject** apObjArray
|
|
);
|
|
|
|
|
|
HRESULT Internal_SetStatus(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lFlags,
|
|
[in] HRESULT hResult,
|
|
[in] BSTR strParam,
|
|
[in] IWbemClassObject* pObjParam
|
|
);
|
|
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(ac9ea02a-2c8a-4acd-b562-d7e8ebee8e8e)]
|
|
interface Internal_IEnumWbemClassObject : IUnknown
|
|
{
|
|
HRESULT Internal_Reset(
|
|
|
|
[in] WmiInternalContext a_InternalContext
|
|
);
|
|
|
|
HRESULT Internal_Next(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lTimeout,
|
|
[in] ULONG uCount,
|
|
[out, size_is(uCount), length_is(*puReturned)]
|
|
IWbemClassObject** apObjects,
|
|
[out] ULONG* puReturned
|
|
);
|
|
|
|
HRESULT Internal_NextAsync(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] ULONG uCount,
|
|
[in] IWbemObjectSink* pSink
|
|
);
|
|
|
|
HRESULT Internal_Clone(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[out] IEnumWbemClassObject** ppEnum
|
|
);
|
|
|
|
HRESULT Internal_Skip(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lTimeout,
|
|
[in] ULONG nCount
|
|
);
|
|
};
|
|
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(11caa957-4e80-474e-a819-7fd72148ada9)]
|
|
interface Internal_IWbemPropertyProvider : IUnknown
|
|
{
|
|
HRESULT Internal_GetProperty(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lFlags,
|
|
[in] const BSTR strLocale,
|
|
[in] const BSTR strClassMapping,
|
|
[in] const BSTR strInstMapping,
|
|
[in] const BSTR strPropMapping,
|
|
[out] VARIANT* pvValue
|
|
);
|
|
|
|
HRESULT Internal_PutProperty(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] long lFlags,
|
|
[in] const BSTR strLocale,
|
|
[in] const BSTR strClassMapping,
|
|
[in] const BSTR strInstMapping,
|
|
[in] const BSTR strPropMapping,
|
|
[in] const VARIANT* pvValue
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(fd450835-cf1b-4c87-9fd2-5e0d42fde081)]
|
|
interface Internal_IWbemEventProvider : IUnknown
|
|
{
|
|
HRESULT Internal_ProvideEvents(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemObjectSink* pSink,
|
|
[in] long lFlags
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(df2373f5-efb2-475c-ad58-3102d61967d4)]
|
|
interface Internal_IWbemEventProviderSecurity : IUnknown
|
|
{
|
|
HRESULT Internal_AccessCheck(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] WBEM_CWSTR wszQueryLanguage,
|
|
[in] WBEM_CWSTR wszQuery,
|
|
[in] long lSidLength,
|
|
[in, size_is(lSidLength), unique] const BYTE* pSid
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(854d745c-6742-42c0-8bb9-01ec466b6e87)]
|
|
interface Internal_IWbemEventConsumerProvider : IUnknown
|
|
{
|
|
HRESULT Internal_FindConsumer(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pLogicalConsumer,
|
|
[out] IWbemUnboundObjectSink** ppConsumer
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(88f3781c-6902-4647-9a6b-a74f450af861)]
|
|
interface Internal_IWbemEventConsumerProviderEx : Internal_IWbemEventConsumerProvider
|
|
{
|
|
HRESULT Internal_ValidateSubscription(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pLogicalConsumer
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(8a0dc377-a9d3-41cb-bd69-ae1fdaf2dc68)]
|
|
interface Internal_IWbemEventProviderQuerySink : IUnknown
|
|
{
|
|
HRESULT Internal_NewQuery(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] unsigned long dwId,
|
|
[in] WBEM_WSTR wszQueryLanguage,
|
|
[in] WBEM_WSTR wszQuery
|
|
);
|
|
|
|
HRESULT Internal_CancelQuery(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] unsigned long dwId
|
|
);
|
|
};
|
|
|
|
//***************************************************************************
|
|
|
|
//***************************************************************************
|
|
|
|
[object,uuid(a210bfe9-c9f7-4919-b114-0d98b3d5341e)]
|
|
interface Internal_IWbemUnboundObjectSink : IUnknown
|
|
{
|
|
HRESULT Internal_IndicateToConsumer(
|
|
|
|
[in] WmiInternalContext a_InternalContext ,
|
|
[in] IWbemClassObject* pLogicalConsumer,
|
|
[in] long lNumObjects,
|
|
[in, size_is(lNumObjects)] IWbemClassObject** apObjects
|
|
);
|
|
};
|
|
|
|
|
|
[object,uuid(fec1b0ac-5808-4033-a915-c0185934581e)]
|
|
interface _IWmiProviderSite : IUnknown
|
|
{
|
|
HRESULT GetSite ( [out] DWORD *a_ProcessIdentifier ) ;
|
|
|
|
HRESULT SetContainer ( [in,unique] IUnknown *a_Container ) ;
|
|
} ;
|