// DecalInput.idl : IDL source for DecalInput.dll // // This file will be processed by the MIDL tool to // produce the type library (DecalInput.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; import "Decal.idl"; [ object, uuid(27A63073-10D6-4282-85CF-77E4DEB8C6B8), dual, helpstring("IInputService Interface"), pointer_default(unique) ] interface IInputService : IDispatch { [propget, id(1), helpstring("property Command")] HRESULT Command(BSTR strCommandName, [out, retval] BSTR *pVal); [propget, id(2), helpstring("property Decal")] HRESULT Decal([out, retval] IDecal * *pVal); [propget, id(3), helpstring("property KeyByName")] HRESULT KeyByName(BSTR strName, [out, retval] long *pVal); [propget, id(4), helpstring("property CommandKey")] HRESULT CommandKey(BSTR strCommand, [out, retval] long *pVal); }; [ object, uuid(6CE124D7-534E-4BB6-AAF2-2BE22F69326D), dual, helpstring("IDecalTimer Interface"), pointer_default(unique) ] interface IDecalTimer : IDispatch { [id(1), helpstring("method Start")] HRESULT Start(long Interval); [id(2), helpstring("method Stop")] HRESULT Stop(); [propget, id(3), helpstring("property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(3), helpstring("property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(4), helpstring("property Running")] HRESULT Running([out, retval] VARIANT_BOOL *pVal); }; [ object, uuid(95AF8DF7-F2A0-476E-9D8C-B23493B1698D), dual, helpstring("IHotkey Interface"), pointer_default(unique) ] interface IHotkey : IDispatch { [propget, id(1), helpstring("property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(1), helpstring("property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(2), helpstring("property Key")] HRESULT Key([out, retval] BSTR *pVal); [propput, id(2), helpstring("property Key")] HRESULT Key([in] BSTR newVal); [propget, id(3), helpstring("property Enabled")] HRESULT Enabled([out, retval] VARIANT_BOOL *pVal); [propput, id(3), helpstring("property Enabled")] HRESULT Enabled([in] VARIANT_BOOL newVal); }; [ object, uuid(F4E4EA59-0E47-4BAD-819A-722F5FFD506F), dual, helpstring("IWinMsgHook Interface"), pointer_default(unique) ] interface IWinMsgHook : IDispatch { [propget, id(1), helpstring("property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(1), helpstring("property Tag")] HRESULT Tag([in] VARIANT newVal); [propget, id(2), helpstring("property Enabled")] HRESULT Enabled([out, retval] VARIANT_BOOL *pVal); [propput, id(2), helpstring("property Enabled")] HRESULT Enabled([in] VARIANT_BOOL newVal); }; [ object, uuid(BDAD721B-7A00-440D-8964-70427167DD36), dual, helpstring("IWndMsg Interface"), pointer_default(unique) ] interface IWndMsg : IDispatch { [propget, id(1), helpstring("property HWND")] HRESULT HWND([out, retval] long *pVal); [propget, id(2), helpstring("property Message")] HRESULT Message([out, retval] long *pVal); [propget, id(3), helpstring("property WParam")] HRESULT WParam([out, retval] long *pVal); [propget, id(4), helpstring("property LParam")] HRESULT LParam([out, retval] long *pVal); [propget, id(5), helpstring("property Eat")] HRESULT Eat([out, retval] VARIANT_BOOL *pVal); [propput, id(5), helpstring("property Eat")] HRESULT Eat([in] VARIANT_BOOL newVal); }; [ object, uuid(B772FDC3-36AD-4957-9143-5A10FBDA6D1D), dual, helpstring("IInputBuffer Interface"), pointer_default(unique) ] interface IInputBuffer : IDispatch { [propget, id(1), helpstring("property Tag")] HRESULT Tag([out, retval] VARIANT *pVal); [propput, id(1), helpstring("property Tag")] HRESULT Tag([in] VARIANT newVal); [id(2), helpstring("method Add")] HRESULT Add(BSTR Command); [id(3), helpstring("method Push")] HRESULT Push(BSTR Command); [id(4), helpstring("method Pop")] HRESULT Pop(); [propget, id(5), helpstring("property CanRun")] HRESULT CanRun([out, retval] VARIANT_BOOL *pVal); [id(6), helpstring("method Run")] HRESULT Run(); [id(7), helpstring("method Stop")] HRESULT Stop(); }; interface IInputActionSite; enum eActionUse { eActionExecute, eActionStack }; [ object, uuid(C73A3F3D-8286-4250-BF97-155EE341E42F), helpstring("IInputAction Interface"), pointer_default(unique) ] interface IInputAction : IUnknown { [helpstring("method Initialize")] HRESULT Initialize(IInputActionSite *pSite, BSTR strData); [helpstring("method Terminate")] HRESULT Terminate(); [propget, helpstring("property Stackable")] HRESULT Stackable([out, retval] VARIANT_BOOL *pVal); [helpstring("method Reset")] HRESULT Reset(); [helpstring("method Push")] HRESULT Push(); [helpstring("method Pop")] HRESULT Pop(); [helpstring("method Execute")] HRESULT Execute(); }; [ object, uuid(1751F4E5-4E11-42f1-A00F-ED5B1D899C66), helpstring("IInputActionSite Interface"), pointer_default(unique) ] interface IInputActionSite : IUnknown { [helpstring("method Delay")] HRESULT Delay(long Time, VARIANT_BOOL Advance); [helpstring("method FireEvent")] HRESULT FireEvent(long nEventID, VARIANT vParam); [helpstring("method MoveMouse")] HRESULT MoveMouse(long X, long Y); [propget, helpstring("property Service")] HRESULT Service([out, retval] IInputService * *pVal); }; [ uuid(3A985F2B-BAD5-43BF-9008-ED4EBBB45B6E), version(1.0), helpstring("DecalInput 1.0 Type Library") ] library DecalInput { importlib("stdole32.tlb"); importlib("stdole2.tlb"); interface IInputAction; interface IInputActionSite; [ uuid(B33307BA-706D-474A-80B9-70BB8D13EF3E), helpstring("InputService Class") ] coclass InputService { [default] interface IInputService; }; [ uuid(BBF25010-50FE-4398-BB78-BF8B9D392915), helpstring("ITimerEvents Interface") ] dispinterface ITimerEvents { properties: methods: [id(1), helpstring("method Timeout")] HRESULT Timeout(IDecalTimer *Source); }; [ uuid(79497C87-92E1-416B-AE5C-9D6C4C59133C), helpstring("Timer Class") ] coclass Timer { [default] interface IDecalTimer; [default, source] dispinterface ITimerEvents; }; [ uuid(15EAEB82-6EC8-4A09-8FA3-2D691BBB732F), helpstring("IHotkeyEvents Interface") ] dispinterface IHotkeyEvents { properties: methods: [id(1), helpstring("method Hotkey")] HRESULT Hotkey(IHotkey *Source); }; [ uuid(F183506A-3664-49D6-8CA4-CFD295F2811D), helpstring("Hotkey Class") ] coclass Hotkey { [default] interface IHotkey; [default, source] dispinterface IHotkeyEvents; }; [ uuid(7E3E2EE8-1E06-4CFD-87D9-E4AEAB4CFE31), helpstring("IWinMsgHookEvents Interface") ] dispinterface IWinMsgHookEvents { properties: methods: [id(1), helpstring("method Message")] HRESULT Message(IWinMsgHook *Hook, IWndMsg *Message); }; [ uuid(F3170E85-517E-43A4-B7B4-6F006A7B1B85), helpstring("WinMsgHook Class") ] coclass WinMsgHook { [default] interface IWinMsgHook; [default, source] dispinterface IWinMsgHookEvents; }; [ uuid(85AB0296-124E-4E68-A6A8-FCF5721AC09B), noncreatable, helpstring("WndMsg Class") ] coclass WndMsg { [default] interface IWndMsg; }; [ uuid(04CD59E6-672E-45A6-AE0A-454B1F59377A), helpstring("IInputBufferEvents Interface") ] dispinterface IInputBufferEvents { properties: methods: [id(1), helpstring("method Begin")] HRESULT Begin(IInputBuffer *Buffer); [id(2), helpstring("method End")] HRESULT End(IInputBuffer *Buffer); [id(3), helpstring("method Event")] HRESULT Event(IInputBuffer *Buffer, long EventID, VARIANT Param); }; [ uuid(F0A17A04-7F8F-4A17-A41D-8C297A1E929B), helpstring("InputBuffer Class") ] coclass InputBuffer { [default] interface IInputBuffer; [default, source] dispinterface IInputBufferEvents; }; [ uuid(9CDCEEDC-F8AC-42D5-9A05-52B9346D00A4), helpstring("TypeAction Class") ] coclass TypeAction { [default] interface IInputAction; }; [ uuid(57D18578-0BF0-4DE5-A0A9-E7CB531C0429), helpstring("MouseMoveAction Class") ] coclass MouseMoveAction { [default] interface IInputAction; }; [ uuid(324D76B8-D8C7-4A81-B867-E4E1F874E488), helpstring("DelayAction Class") ] coclass DelayAction { [default] interface IInputAction; }; [ uuid(D6E4BD19-4900-4515-BCE2-A9EA4AAE2699), helpstring("EventAction Class") ] coclass EventAction { [default] interface IInputAction; }; [ uuid(762335B2-2274-4BB4-8B1F-F7286C949FF7), helpstring("PolledDelayAction Class") ] coclass PolledDelayAction { [default] interface IInputAction; }; [ uuid(6EE2F682-7129-44BE-84B9-787BAE35EC1C), helpstring("RestoreAction Class") ] coclass RestoreAction { [default] interface IInputAction; }; };