import "ocidl.idl";

[
	uuid(AFFD6F81-9D30-11D4-A324-444553540000),
	version(1.0),
	helpstring("ASM Control.1")
]
library ASM_Control
{
	importlib("stdole32.tlb");
	#include "olectl.h"

	[
		uuid(AFFD6F82-9D30-11D4-A324-444553540000),
		dual,
		oleautomation,
		helpstring("IAsmCtrl interface")
	]
	interface IAsmCtrl : IDispatch
	{
		[propput, id(0), helpstring("property Value")] 
                  HRESULT Value([in] long newVal);
		[propget, id(0), helpstring("property Value")] 
                  HRESULT Value([out, retval] long *pVal);

		[id(1), helpstring("method Raise")] 
                  HRESULT Raise([in] long AddVal);

		[propput, id(DISPID_FORECOLOR), helpstring("property Fore Color")] 
                  HRESULT ForeColor([in] OLE_COLOR color);
		[propget, id(DISPID_FORECOLOR), helpstring("property Fore Color")] 
			HRESULT ForeColor([out, retval] OLE_COLOR* color);

		[propput, id(DISPID_BACKCOLOR), helpstring("property Background Color")]
                  HRESULT BackColor([in] OLE_COLOR color);
		[propget, id(DISPID_BACKCOLOR), helpstring("property Background Color")] 
			HRESULT BackColor([out, retval] OLE_COLOR* color);

		[id(DISPID_ABOUTBOX), helpstring("method About")] HRESULT AboutBox();
	}
	
	[
		uuid(AFFD6F83-9D30-11D4-A324-444553540000),
		version(1.0),
		control,
		helpstring("ASM Control coclass")
	]
	coclass AsmCtrl
	{
		[default] interface IAsmCtrl;
		interface IDispatch;
	}
}
