windows-nt/Source/XPSP1/NT/shell/ext/taskui/taskui.idl
2020-09-26 16:20:57 +08:00

209 lines
8.3 KiB
Plaintext

// 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("")