// TaskUI.idl : IDL source for TaskUI.dll // // This file will be processed by the MIDL tool to // produce the type library (TaskUI.tlb) and marshalling code. import "oaidl.idl"; import "ocidl.idl"; #include "olectl.h" [ uuid(D526AD60-3E72-4F6E-BE54-81E6F6A93ADA), version(1.0), helpstring("TaskUI 1.0 Type Library") ] library TASKUILib { importlib("stdole2.tlb"); [ object, uuid(01D5D917-A57E-4472-9B28-41F35AEEAEFB), helpstring("ITaskFrame Interface"), pointer_default(unique) ] interface ITaskFrame : IUnknown { [helpstring("method GetPropertyBag")] HRESULT GetPropertyBag([in] REFIID riid, [out, iid_is(riid), retval] void **ppv); [helpstring("method ShowPage")] HRESULT ShowPage([in] REFCLSID rclsidPage, [in] BOOL bTrimHistory); [helpstring("method Back")] HRESULT Back([in] UINT cPages); [helpstring("method Forward")] HRESULT Forward(); [helpstring("method Home")] HRESULT Home(); [helpstring("method Close")] HRESULT Close(); [helpstring("method SetStatusText")] HRESULT SetStatusText([in, optional] LPCWSTR pszText); }; [ object, uuid(00AD7D5E-78FA-4A43-9C30-5C589E67AF32), helpstring("ITaskPageFactory Interface"), pointer_default(unique) ] interface ITaskPageFactory : IUnknown { [helpstring("method CreatePage")] HRESULT CreatePage([in] REFCLSID rclsidPage, [in] REFIID riid, [out, retval] void **ppv); }; [ object, uuid(66F3137E-2915-442C-9D49-277A7901B091), helpstring("ITaskPage Interface"), pointer_default(unique) ] interface ITaskPage : IUnknown { [helpstring("method SetFrame")] HRESULT SetFrame([in] ITaskFrame* pFrame); [helpstring("method GetObjectCount")] HRESULT GetObjectCount([in] UINT nArea, [out, retval] UINT *pVal); [helpstring("method CreateObject")] HRESULT CreateObject([in] UINT nArea, [in] UINT nIndex, [in] REFIID riid, [out, iid_is(riid), retval] void **ppv); [helpstring("method Reinitialize")] HRESULT Reinitialize([in] ULONG reserved); //[helpstring("method Notify")] HRESULT Notify([in] UINT uMsg, [in] WPARAM wParam, [in] LPARAM lParam); }; [ object, uuid(5ACDE375-B874-405D-B59F-7B9932787841), helpstring("ITaskSheet Interface"), pointer_default(unique) ] interface ITaskSheet : IUnknown { [helpstring("method GetPropertyBag")] HRESULT GetPropertyBag([in] REFIID riid, [out, iid_is(riid), retval] void **ppv); [helpstring("method Run")] HRESULT Run([in] ITaskPageFactory *pPageFact, [in] REFCLSID rclsidStartPage, [in] HWND hwndOwner); [helpstring("method Close")] HRESULT Close(); }; // // Handle to a property group. This is returned from CreatePropertyGroup // and used to reference a group in various methods. // typedef int HPROPGROUP; interface ITaskSheetPropertyBag; // fwd decl. [ object, uuid(9437CEB1-4BC7-4668-8A44-81BBD5B89DDD), helpstring("ITaskSheetPropertyNotifySink interface"), pointer_default(unique) ] interface ITaskSheetPropertyNotifySink : IUnknown { [helpstring("method OnPropChanged")] HRESULT OnPropChanged([in] ITaskSheetPropertyBag *pBag, [in] HPROPGROUP hGroup, [in] LPCWSTR pszPropName); } [ object, uuid(EFC6FCE9-FF4B-4111-A9E8-1C2C1183E236), helpstring("ITaskSheetPropertyBag interface"), pointer_default(unique) ] interface ITaskSheetPropertyBag : IUnknown { [helpstring("method CreatePropertyGroup")] HRESULT CreatePropertyGroup([in] REFGUID idGroup, [out, retval] HPROPGROUP *phGroup); [helpstring("method RemovePropertyGroup")] HRESULT RemovePropertyGroup([in] HPROPGROUP hGroup); [helpstring("method PropertyGroupIdToHandle")] HRESULT PropertyGroupIdToHandle([in] REFGUID idGroup, [out, retval] HPROPGROUP *phGroup); [helpstring("method PropertyGroupHandleToId")] HRESULT PropertyGroupHandleToId([in] HPROPGROUP hGroup, [out, retval] GUID *pidGroup); [helpstring("method Get")] HRESULT Get([in] HPROPGROUP hGroup, [in] LPCWSTR pszPropName, [out, retval] VARIANT *pVarOut); [helpstring("method Set")] HRESULT Set([in] HPROPGROUP hGroup, [in] LPCWSTR pszPropName, [in] VARIANT *pVar); [helpstring("method SetConst")] HRESULT SetConst([in] HPROPGROUP hGroup, [in] LPCWSTR pszPropName, [in] VARIANT *pVar); [helpstring("method RegisterNotify")] HRESULT RegisterNotify([in] ITaskSheetPropertyNotifySink *pSink, [out, retval] DWORD *pdwCookie); [helpstring("method UnregisterNotify")] HRESULT UnregisterNotify([in] DWORD dwCookie); [helpstring("method Advise")] HRESULT Advise([in] DWORD dwCookie, [in] HPROPGROUP hGroup, [in] LPCWSTR pszPropName); } [ object, uuid(AF4ABA62-51ED-415A-B23A-4F9D9D787B52), dual, helpstring("ITaskUI_HTMLControl Interface"), pointer_default(unique) ] interface ITaskUI_HTMLControl : IDispatch { [id(1), helpstring("method Initialize")] HRESULT Initialize([in] BSTR strURL, [in] IDispatch* pExternalDispatch); }; [ uuid(40BEC2FB-F286-453C-B2EB-F9E7429D1A98), helpstring("TaskSheet Class") ] coclass TaskSheet { [default] interface ITaskSheet; }; [ uuid(C4BC7F4C-939A-45F6-B5D2-4C1B6D5A75EA), helpstring("TaskUI_HTMLControl Class") ] coclass TaskUI_HTMLControl { [default] interface ITaskUI_HTMLControl; }; }; cpp_quote("") cpp_quote("// Well-known properties") cpp_quote("#define TS_PROP_TITLE L\"TaskUI_Title\"") cpp_quote("#define TS_PROP_MODELESS L\"TaskUI_Modeless\"") cpp_quote("#define TS_PROP_WIDTH L\"TaskUI_Width\"") cpp_quote("#define TS_PROP_HEIGHT L\"TaskUI_Height\"") cpp_quote("#define TS_PROP_MINWIDTH L\"TaskUI_MinWidth\"") cpp_quote("#define TS_PROP_MINHEIGHT L\"TaskUI_MinHeight\"") cpp_quote("#define TS_PROP_RESIZABLE L\"TaskUI_Resizable\"") cpp_quote("#define TS_PROP_STATUSBAR L\"TaskUI_StatusBar\"") cpp_quote("#define TS_PROP_NAVBAR L\"TaskUI_NavBar\"") cpp_quote("#define TS_PROP_ICON L\"TaskUI_Icon\"") cpp_quote("#define TS_PROP_LOGO L\"TaskUI_Logo\"") cpp_quote("#define TS_PROP_WATERMARK L\"TaskUI_Watermark\"") cpp_quote("") cpp_quote("//") cpp_quote("// Some well-known property group handles.") cpp_quote("//") cpp_quote("#define PROPGROUP_INVALID (HPROPGROUP) -1") cpp_quote("#define PROPGROUP_ANY (HPROPGROUP)65535") cpp_quote("#define PROPGROUP_GLOBAL (HPROPGROUP) 0") cpp_quote("//") cpp_quote("// Group ID for the 'global' property group.") cpp_quote("//") cpp_quote("#define PGID_GLOBAL GUID_NULL") cpp_quote("//") cpp_quote("// Macros for creating and examining property IDs.") cpp_quote("//") cpp_quote("#define MAKEPROPID(i) MAKEINTRESOURCE(i)") cpp_quote("#define IS_PROPID(i) IS_INTRESOURCE(i)") cpp_quote("//") cpp_quote("// Interface-specific HRESULTs for ITaskSheetPropertyBag") cpp_quote("//") cpp_quote("//") cpp_quote("// TSPB == \"Task Sheet Property Bag\"") cpp_quote("//") cpp_quote("// Property name not found in property bag.") cpp_quote("//") cpp_quote("#define TSPB_E_PROPNOTFOUND MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000200)") cpp_quote("//") cpp_quote("// Group handle specified is not present in property bag.") cpp_quote("//") cpp_quote("#define TSPB_E_GROUPNOTFOUND MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000201)") cpp_quote("//") cpp_quote("// Invalid notify client cookie.") cpp_quote("//") cpp_quote("#define TSPB_E_NOTIFYCOOKIE MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000202)") cpp_quote("//") cpp_quote("// Attempt to modify a constant property.") cpp_quote("//") cpp_quote("#define TSPB_E_MODIFYCONST MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000203)") cpp_quote("//") cpp_quote("// Maxiumum number of notification connections have been established.") cpp_quote("//") cpp_quote("#define TSPB_E_MAXNOTIFYCNX MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000204)") cpp_quote("//") cpp_quote("// Property group already exists.") cpp_quote("//") cpp_quote("#define TSPB_E_GROUPEXISTS MAKE_HRESULT(SEVERITY_ERROR, FACILITY_ITF, 0x00000205)") cpp_quote("")