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

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

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

	[
		object,
		uuid(131CC2A0-7634-11D1-8B6B-0060089BD8C4),
		dual,
		helpstring("ILaunchTS Interface"),
		pointer_default(unique)
	]
	interface ILaunchTS : IDispatch
	{
		[id(1), helpstring("method GetShooterStates")] HRESULT GetShooterStates([out, retval] DWORD *pdwResult);
		[id(2), helpstring("method GetTroubleShooter")] HRESULT GetTroubleShooter([out, retval] BSTR *pbstrShooter);
		[id(3), helpstring("method GetProblem")] HRESULT GetProblem([out, retval] BSTR *pbstrProblem);
		[id(4), helpstring("method GetNode")] HRESULT GetNode([in] short iNode, [out, retval] BSTR *pbstrNode);
		[id(5), helpstring("method GetState")] HRESULT GetState([in] short iNode, [out, retval] BSTR *pbstrState);
		[id(6), helpstring("method GetMachine")] HRESULT GetMachine([out, retval] BSTR *pbstrMachine);
		[id(7), helpstring("method GetPNPDevice")] HRESULT GetPNPDevice([out, retval] BSTR *pbstr);
		[id(8), helpstring("method GetGuidClass")] HRESULT GetGuidClass([out, retval] BSTR *pbstr);
		[id(9), helpstring("method GetDeviceInstance")] HRESULT GetDeviceInstance([out, retval] BSTR *pbstr);
		[id(10), helpstring("method Test")] HRESULT Test();
	};
	[
		object,
		uuid(66AC81E5-8926-11D1-8B7D-0060089BD8C4),
		dual,
		helpstring("ITShootATL Interface"),
		pointer_default(unique)
	]
	interface ITShootATL : IDispatch
	{
		[id(1), helpstring("method SpecifyProblem")] HRESULT SpecifyProblem([in] BSTR bstrNetwork, [in] BSTR bstrProblem, [out, retval] DWORD *pdwResult);
		[id(2), helpstring("method SetNode")] HRESULT SetNode([in] BSTR bstrName, [in] BSTR bstrState, [out, retval] DWORD *pdwResult);
		[id(3), helpstring("method Language")] HRESULT Language([in] BSTR bstrLanguage, [out, retval] DWORD *pdwResult);
		[id(4), helpstring("method MachineID")] HRESULT MachineID([in] BSTR bstrMachineID, [out, retval] DWORD *pdwResult);
		[id(5), helpstring("method Test")] HRESULT Test();
		[id(6), helpstring("method DeviceInstanceID")] HRESULT DeviceInstanceID([in]BSTR bstrDeviceInstanceID, [out, retval] DWORD * pdwResult);
		[id(7), helpstring("method ReInit")] HRESULT ReInit();
		[id(8), helpstring("method LaunchKnown")] HRESULT LaunchKnown([out, retval] DWORD *pdwResult);
		[propget, id(9), helpstring("property LaunchWaitTimeOut")] HRESULT LaunchWaitTimeOut([out, retval] long *pVal);
		[propput, id(9), helpstring("property LaunchWaitTimeOut")] HRESULT LaunchWaitTimeOut([in] long newVal);
		[id(10), helpstring("method Launch")] HRESULT Launch([in] BSTR bstrCallerName, [in] BSTR bstrCallerVersion, [in] BSTR bstrAppProblem, [in] short bLaunch, [out, retval] DWORD *pdwResult);
		[id(11), helpstring("method LaunchDevice")] HRESULT LaunchDevice([in] BSTR bstrCallerName, [in] BSTR bstrCallerVersion, [in] BSTR bstrPNPDeviceID, [in] BSTR bstrDeviceClassGUID, [in] BSTR bstrAppProblem, [in] short bLaunch, [out, retval] DWORD *pdwResult);
		[propget, id(12), helpstring("property PreferOnline")] HRESULT PreferOnline([out, retval] BOOL *pVal);
		[propput, id(12), helpstring("property PreferOnline")] HRESULT PreferOnline([in] BOOL newVal);
		[id(13), helpstring("method GetStatus")] HRESULT GetStatus([out, retval] DWORD *pdwStatus);
	};
[
	uuid(131CC291-7634-11D1-8B6B-0060089BD8C4),
	version(1.0),
	helpstring("LaunchServ 1.0 Type Library")
]
library LAUNCHSERVLib
{
	importlib("stdole2.tlb");

	[
		uuid(131CC2A1-7634-11D1-8B6B-0060089BD8C4),
		helpstring("LaunchTS Class")
	]
	coclass LaunchTS
	{
		[default] interface ILaunchTS;
	};
	[
		uuid(66AC81E6-8926-11D1-8B7D-0060089BD8C4),
		helpstring("TShootATL Class")
	]
	coclass TShootATL
	{
		[default] interface ITShootATL;
	};
};