From 1e63581c43582e8c8a389973395e71d40a09332b Mon Sep 17 00:00:00 2001 From: Giannis Adamopoulos Date: Mon, 23 Feb 2015 13:43:51 +0000 Subject: [PATCH] [HEADERS] - Define CLSID_BackgroundTaskScheduler and CLSID_SharedTaskScheduler - Properly define IShellTaskScheduler and IID_IShellTaskScheduler svn path=/trunk/; revision=66421 --- reactos/include/psdk/shlobj.h | 33 ------------------------- reactos/include/psdk/shobjidl.idl | 23 +++++++++++++++++ reactos/include/reactos/shlguid_undoc.h | 2 ++ 3 files changed, 25 insertions(+), 33 deletions(-) diff --git a/reactos/include/psdk/shlobj.h b/reactos/include/psdk/shlobj.h index b5451688d3f..1061156dd87 100644 --- a/reactos/include/psdk/shlobj.h +++ b/reactos/include/psdk/shlobj.h @@ -2310,39 +2310,6 @@ DECLARE_INTERFACE_(IDockingWindowSite, IOleWindow) #define IDockingWindowSite_SetBorderSpaceDW(p,a,b) (p)->lpVtbl->SetBorderSpaceDW(p,a,b) #endif -/***************************************************************************** - * IShellTaskScheduler interface - */ -#define REFTASKOWNERID REFGUID - -#define INTERFACE IShellTaskScheduler -DECLARE_INTERFACE_(IShellTaskScheduler, IUnknown) -{ - // *** IUnknown methods *** - STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppv) PURE; - STDMETHOD_(ULONG, AddRef)(THIS) PURE; - STDMETHOD_(ULONG, Release)(THIS) PURE; - - // *** IShellTaskScheduler methods *** - STDMETHOD(AddTask)(THIS_ IRunnableTask *pTask, REFTASKOWNERID rtoid, DWORD_PTR lParam, DWORD dwPriority) PURE; - STDMETHOD(RemoveTasks)(THIS_ REFTASKOWNERID rtoid, DWORD_PTR lParam, BOOL fWaitIfRunning) PURE; - STDMETHOD_(UINT, CountTasks)(THIS_ REFTASKOWNERID rtoid) PURE; - STDMETHOD(Status)(THIS_ DWORD dwReleaseStatus, DWORD dwThreadTimeout) PURE; -}; -#undef INTERFACE - -#if !defined(__cplusplus) || defined(CINTERFACE) -/*** IUnknown methods ***/ -#define IShellTaskScheduler_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) -#define IShellTaskScheduler_AddRef(p) (p)->lpVtbl->AddRef(p) -#define IShellTaskScheduler_Release(p) (p)->lpVtbl->Release(p) -/*** IShellTaskScheduler methods ***/ -#define IShellTaskScheduler_AddTask(p,a,b,c,d) (p)->lpVtbl->AddTask(p,a,b,c,d) -#define IShellTaskScheduler_RemoveTasks(p,a,b,c) (p)->lpVtbl->RemoveTasks(p,a,b,c) -#define IShellTaskScheduler_CountTasks(p,a) (p)->lpVtbl->CountTasks(p,a) -#define IShellTaskScheduler_Status(p,a,b) (p)->lpVtbl->Status(p,a,b) -#endif - typedef void (CALLBACK *PFNASYNCICONTASKBALLBACK)(LPCITEMIDLIST pidl, LPVOID pvData, LPVOID pvHint, INT iIconIndex, INT iOpenIconIndex); /***************************************************************************** diff --git a/reactos/include/psdk/shobjidl.idl b/reactos/include/psdk/shobjidl.idl index 395a28f9021..ca3c4537f45 100644 --- a/reactos/include/psdk/shobjidl.idl +++ b/reactos/include/psdk/shobjidl.idl @@ -4191,3 +4191,26 @@ interface IFileOperation : IUnknown HRESULT GetAnyOperationsAborted( [out] BOOL *pfAnyOperationsAborted); }; + +[ + uuid(6CCB7BE0-6807-11d0-B810-00C04FD706EC), + object, + pointer_default(unique) +] +interface IShellTaskScheduler : IUnknown +{ + HRESULT AddTask( + [in] IRunnableTask *pTask, + [in] REFGUID rtoid, + [in] DWORD_PTR lParam, + [in] DWORD dwPriority); + HRESULT RemoveTasks( + [in] REFGUID rtoid, + [in] DWORD_PTR lParam, + [in] BOOL fWaitIfRunning); + UINT CountTasks( + [in] REFGUID rtoid); + HRESULT Status( + [in] DWORD dwReleaseStatus, + [in] DWORD dwThreadTimeout); +} diff --git a/reactos/include/reactos/shlguid_undoc.h b/reactos/include/reactos/shlguid_undoc.h index e550560b49b..bd329046d91 100644 --- a/reactos/include/reactos/shlguid_undoc.h +++ b/reactos/include/reactos/shlguid_undoc.h @@ -120,6 +120,8 @@ DEFINE_GUID(CLSID_LanConnectStatusUI, 0x7007ACCF, 0x3202, 0x11D1, 0xAA, 0xD DEFINE_GUID(CLSID_SysTray, 0x35CEC8A3, 0x2BE6, 0x11D2, 0x87, 0x73, 0x92, 0xE2, 0x20, 0x52, 0x41, 0x53); +DEFINE_GUID(CLSID_BackgroundTaskScheduler, 0x603D3800, 0xBD81, 0x11d0, 0xA3, 0xA5, 0x00, 0xC0, 0x4F, 0xD7, 0x06, 0xEC); +DEFINE_GUID(CLSID_SharedTaskScheduler, 0x603D3801, 0xBD81, 0x11d0, 0xA3, 0xA5, 0x00, 0xC0, 0x4F, 0xD7, 0x06, 0xEC); #define CLSID_ConnectionTray CLSID_LanConnectStatusUI