// ConnMgr.idl : IDL source for ConnMgr.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (ConnMgr.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

import "wbemcli.idl";

	[
	
		uuid(FA84E6F2-0B7B-11D2-BDCB-00C04FA35447),
	
		helpstring("IConnectionManager Interface"),
		pointer_default(unique)
	]
	interface IConnectionManager : IUnknown
	{
		[helpstring("method GetConnection")] 
			HRESULT GetConnection([in]BSTR bsMachineName, 
								  [out]IWbemServices** ppWbemService, 
								  [out]long* lStatus);

		[helpstring("method RegisterEventNotification")] 
			HRESULT RegisterEventNotification([in]BSTR bsMachineName, 
											  [in]BSTR bsQuery, 
											  [in]IWbemObjectSink* pSink);
		[helpstring("method RemoveConnection")] 
			HRESULT RemoveConnection([in] BSTR bsMachineName,
									 [in]IWbemObjectSink* pSink);

		[helpstring("method ExecQueryAsync")] HRESULT ExecQueryAsync([in]BSTR bsMachineName, [in]BSTR bsQuery, [in]IWbemObjectSink* pSink);
		[helpstring("method ConnectToNamespace")] HRESULT ConnectToNamespace([in]BSTR bsNamespace, [out]IWbemServices** ppService);
	};

[
	uuid(FA84E6E5-0B7B-11D2-BDCB-00C04FA35447),
	version(1.0),
	helpstring("ConnMgr 1.0 Type Library")
]
library CONNMGRLib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(FA84E6F3-0B7B-11D2-BDCB-00C04FA35447),
		helpstring("ConnectionManager Class")
	]
	coclass ConnectionManager
	{
		[default] interface IConnectionManager;
	};
};
