[HEADERS]
authorGiannis Adamopoulos <gadamopoulos@reactos.org>
Mon, 23 Feb 2015 13:43:51 +0000 (13:43 +0000)
committerGiannis Adamopoulos <gadamopoulos@reactos.org>
Mon, 23 Feb 2015 13:43:51 +0000 (13:43 +0000)
- Define CLSID_BackgroundTaskScheduler and CLSID_SharedTaskScheduler
- Properly define IShellTaskScheduler and IID_IShellTaskScheduler

svn path=/trunk/; revision=66421

reactos/include/psdk/shlobj.h
reactos/include/psdk/shobjidl.idl
reactos/include/reactos/shlguid_undoc.h

index b545168..1061156 100644 (file)
@@ -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);
 
 /*****************************************************************************
index 395a28f..ca3c453 100644 (file)
@@ -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);
+}
index e550560..bd32904 100644 (file)
@@ -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