Leaked source code of windows server 2003
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

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 ) ;
} ;