1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef __REQUIRED_RPCNDR_H_VERSION__
7#define __REQUIRED_RPCNDR_H_VERSION__ 475
8#endif
9
10#include "rpc.h"
11#include "rpcndr.h"
12
13#ifndef __RPCNDR_H_VERSION__
14#error This stub requires an updated version of <rpcndr.h>
15#endif
16
17#ifndef COM_NO_WINDOWS_H
18#include "windows.h"
19#include "ole2.h"
20#endif
21
22#ifndef __mstask_h__
23#define __mstask_h__
24
25#ifndef __ITaskTrigger_FWD_DEFINED__
26#define __ITaskTrigger_FWD_DEFINED__
27typedef struct ITaskTrigger ITaskTrigger;
28#endif
29
30#ifndef __IScheduledWorkItem_FWD_DEFINED__
31#define __IScheduledWorkItem_FWD_DEFINED__
32typedef struct IScheduledWorkItem IScheduledWorkItem;
33#endif
34
35#ifndef __ITask_FWD_DEFINED__
36#define __ITask_FWD_DEFINED__
37typedef struct ITask ITask;
38#endif
39
40#ifndef __IEnumWorkItems_FWD_DEFINED__
41#define __IEnumWorkItems_FWD_DEFINED__
42typedef struct IEnumWorkItems IEnumWorkItems;
43#endif
44
45#ifndef __ITaskScheduler_FWD_DEFINED__
46#define __ITaskScheduler_FWD_DEFINED__
47typedef struct ITaskScheduler ITaskScheduler;
48#endif
49
50#ifndef __IProvideTaskPage_FWD_DEFINED__
51#define __IProvideTaskPage_FWD_DEFINED__
52typedef struct IProvideTaskPage IProvideTaskPage;
53#endif
54
55#include "oaidl.h"
56#include "oleidl.h"
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62#ifndef __MIDL_user_allocate_free_DEFINED__
63#define __MIDL_user_allocate_free_DEFINED__
64  void *__RPC_API MIDL_user_allocate(size_t);
65  void __RPC_API MIDL_user_free(void *);
66#endif
67
68#define TASK_SUNDAY (0x1)
69#define TASK_MONDAY (0x2)
70#define TASK_TUESDAY (0x4)
71#define TASK_WEDNESDAY (0x8)
72#define TASK_THURSDAY (0x10)
73#define TASK_FRIDAY (0x20)
74#define TASK_SATURDAY (0x40)
75#define TASK_FIRST_WEEK (1)
76#define TASK_SECOND_WEEK (2)
77#define TASK_THIRD_WEEK (3)
78#define TASK_FOURTH_WEEK (4)
79#define TASK_LAST_WEEK (5)
80#define TASK_JANUARY (0x1)
81#define TASK_FEBRUARY (0x2)
82#define TASK_MARCH (0x4)
83#define TASK_APRIL (0x8)
84#define TASK_MAY (0x10)
85#define TASK_JUNE (0x20)
86#define TASK_JULY (0x40)
87#define TASK_AUGUST (0x80)
88#define TASK_SEPTEMBER (0x100)
89#define TASK_OCTOBER (0x200)
90#define TASK_NOVEMBER (0x400)
91#define TASK_DECEMBER (0x800)
92#define TASK_FLAG_INTERACTIVE (0x1)
93#define TASK_FLAG_DELETE_WHEN_DONE (0x2)
94#define TASK_FLAG_DISABLED (0x4)
95#define TASK_FLAG_START_ONLY_IF_IDLE (0x10)
96#define TASK_FLAG_KILL_ON_IDLE_END (0x20)
97#define TASK_FLAG_DONT_START_IF_ON_BATTERIES (0x40)
98#define TASK_FLAG_KILL_IF_GOING_ON_BATTERIES (0x80)
99#define TASK_FLAG_RUN_ONLY_IF_DOCKED (0x100)
100#define TASK_FLAG_HIDDEN (0x200)
101#define TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET (0x400)
102#define TASK_FLAG_RESTART_ON_IDLE_RESUME (0x800)
103#define TASK_FLAG_SYSTEM_REQUIRED (0x1000)
104#define TASK_FLAG_RUN_ONLY_IF_LOGGED_ON (0x2000)
105#define TASK_TRIGGER_FLAG_HAS_END_DATE (0x1)
106#define TASK_TRIGGER_FLAG_KILL_AT_DURATION_END (0x2)
107#define TASK_TRIGGER_FLAG_DISABLED (0x4)
108#define TASK_MAX_RUN_TIMES (1440)
109
110  typedef enum _TASK_TRIGGER_TYPE {
111    TASK_TIME_TRIGGER_ONCE = 0,TASK_TIME_TRIGGER_DAILY = 1,TASK_TIME_TRIGGER_WEEKLY = 2,TASK_TIME_TRIGGER_MONTHLYDATE = 3,
112    TASK_TIME_TRIGGER_MONTHLYDOW = 4,TASK_EVENT_TRIGGER_ON_IDLE = 5,TASK_EVENT_TRIGGER_AT_SYSTEMSTART = 6,TASK_EVENT_TRIGGER_AT_LOGON = 7
113  } TASK_TRIGGER_TYPE;
114
115  typedef enum _TASK_TRIGGER_TYPE *PTASK_TRIGGER_TYPE;
116
117  typedef struct _DAILY {
118    WORD DaysInterval;
119  } DAILY;
120
121  typedef struct _WEEKLY {
122    WORD WeeksInterval;
123    WORD rgfDaysOfTheWeek;
124  } WEEKLY;
125
126  typedef struct _MONTHLYDATE {
127    DWORD rgfDays;
128    WORD rgfMonths;
129  } MONTHLYDATE;
130
131  typedef struct _MONTHLYDOW {
132    WORD wWhichWeek;
133    WORD rgfDaysOfTheWeek;
134    WORD rgfMonths;
135  } MONTHLYDOW;
136
137  typedef union _TRIGGER_TYPE_UNION {
138    DAILY Daily;
139    WEEKLY Weekly;
140    MONTHLYDATE MonthlyDate;
141    MONTHLYDOW MonthlyDOW;
142  } TRIGGER_TYPE_UNION;
143
144  typedef struct _TASK_TRIGGER {
145    WORD cbTriggerSize;
146    WORD Reserved1;
147    WORD wBeginYear;
148    WORD wBeginMonth;
149    WORD wBeginDay;
150    WORD wEndYear;
151    WORD wEndMonth;
152    WORD wEndDay;
153    WORD wStartHour;
154    WORD wStartMinute;
155    DWORD MinutesDuration;
156    DWORD MinutesInterval;
157    DWORD rgFlags;
158    TASK_TRIGGER_TYPE TriggerType;
159    TRIGGER_TYPE_UNION Type;
160    WORD Reserved2;
161    WORD wRandomMinutesInterval;
162  } TASK_TRIGGER;
163
164  typedef struct _TASK_TRIGGER *PTASK_TRIGGER;
165
166  DEFINE_GUID(IID_ITaskTrigger,0x148BD52B,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
167
168  extern RPC_IF_HANDLE __MIDL_itf_mstask_0000_v0_0_c_ifspec;
169  extern RPC_IF_HANDLE __MIDL_itf_mstask_0000_v0_0_s_ifspec;
170
171#ifndef __ITaskTrigger_INTERFACE_DEFINED__
172#define __ITaskTrigger_INTERFACE_DEFINED__
173  EXTERN_C const IID IID_ITaskTrigger;
174#if defined(__cplusplus) && !defined(CINTERFACE)
175  struct ITaskTrigger : public IUnknown {
176  public:
177    virtual HRESULT WINAPI SetTrigger(const PTASK_TRIGGER pTrigger) = 0;
178    virtual HRESULT WINAPI GetTrigger(PTASK_TRIGGER pTrigger) = 0;
179    virtual HRESULT WINAPI GetTriggerString(LPWSTR *ppwszTrigger) = 0;
180  };
181#else
182  typedef struct ITaskTriggerVtbl {
183    BEGIN_INTERFACE
184      HRESULT (WINAPI *QueryInterface)(ITaskTrigger *This,REFIID riid,void **ppvObject);
185      ULONG (WINAPI *AddRef)(ITaskTrigger *This);
186      ULONG (WINAPI *Release)(ITaskTrigger *This);
187      HRESULT (WINAPI *SetTrigger)(ITaskTrigger *This,const PTASK_TRIGGER pTrigger);
188      HRESULT (WINAPI *GetTrigger)(ITaskTrigger *This,PTASK_TRIGGER pTrigger);
189      HRESULT (WINAPI *GetTriggerString)(ITaskTrigger *This,LPWSTR *ppwszTrigger);
190    END_INTERFACE
191  } ITaskTriggerVtbl;
192  struct ITaskTrigger {
193    CONST_VTBL struct ITaskTriggerVtbl *lpVtbl;
194  };
195#ifdef COBJMACROS
196#define ITaskTrigger_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
197#define ITaskTrigger_AddRef(This) (This)->lpVtbl->AddRef(This)
198#define ITaskTrigger_Release(This) (This)->lpVtbl->Release(This)
199#define ITaskTrigger_SetTrigger(This,pTrigger) (This)->lpVtbl->SetTrigger(This,pTrigger)
200#define ITaskTrigger_GetTrigger(This,pTrigger) (This)->lpVtbl->GetTrigger(This,pTrigger)
201#define ITaskTrigger_GetTriggerString(This,ppwszTrigger) (This)->lpVtbl->GetTriggerString(This,ppwszTrigger)
202#endif
203#endif
204  HRESULT WINAPI ITaskTrigger_SetTrigger_Proxy(ITaskTrigger *This,const PTASK_TRIGGER pTrigger);
205  void __RPC_STUB ITaskTrigger_SetTrigger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
206  HRESULT WINAPI ITaskTrigger_GetTrigger_Proxy(ITaskTrigger *This,PTASK_TRIGGER pTrigger);
207  void __RPC_STUB ITaskTrigger_GetTrigger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
208  HRESULT WINAPI ITaskTrigger_GetTriggerString_Proxy(ITaskTrigger *This,LPWSTR *ppwszTrigger);
209  void __RPC_STUB ITaskTrigger_GetTriggerString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
210#endif
211
212  DEFINE_GUID(IID_IScheduledWorkItem,0xa6b952f0,0xa4b1,0x11d0,0x99,0x7d,0x00,0xaa,0x00,0x68,0x87,0xec);
213  extern RPC_IF_HANDLE __MIDL_itf_mstask_0140_v0_0_c_ifspec;
214  extern RPC_IF_HANDLE __MIDL_itf_mstask_0140_v0_0_s_ifspec;
215#ifndef __IScheduledWorkItem_INTERFACE_DEFINED__
216#define __IScheduledWorkItem_INTERFACE_DEFINED__
217  EXTERN_C const IID IID_IScheduledWorkItem;
218#if defined(__cplusplus) && !defined(CINTERFACE)
219  struct IScheduledWorkItem : public IUnknown {
220  public:
221    virtual HRESULT WINAPI CreateTrigger(WORD *piNewTrigger,ITaskTrigger **ppTrigger) = 0;
222    virtual HRESULT WINAPI DeleteTrigger(WORD iTrigger) = 0;
223    virtual HRESULT WINAPI GetTriggerCount(WORD *pwCount) = 0;
224    virtual HRESULT WINAPI GetTrigger(WORD iTrigger,ITaskTrigger **ppTrigger) = 0;
225    virtual HRESULT WINAPI GetTriggerString(WORD iTrigger,LPWSTR *ppwszTrigger) = 0;
226    virtual HRESULT WINAPI GetRunTimes(const LPSYSTEMTIME pstBegin,const LPSYSTEMTIME pstEnd,WORD *pCount,LPSYSTEMTIME *rgstTaskTimes) = 0;
227    virtual HRESULT WINAPI GetNextRunTime(SYSTEMTIME *pstNextRun) = 0;
228    virtual HRESULT WINAPI SetIdleWait(WORD wIdleMinutes,WORD wDeadlineMinutes) = 0;
229    virtual HRESULT WINAPI GetIdleWait(WORD *pwIdleMinutes,WORD *pwDeadlineMinutes) = 0;
230    virtual HRESULT WINAPI Run(void) = 0;
231    virtual HRESULT WINAPI Terminate(void) = 0;
232    virtual HRESULT WINAPI EditWorkItem(HWND hParent,DWORD dwReserved) = 0;
233    virtual HRESULT WINAPI GetMostRecentRunTime(SYSTEMTIME *pstLastRun) = 0;
234    virtual HRESULT WINAPI GetStatus(HRESULT *phrStatus) = 0;
235    virtual HRESULT WINAPI GetExitCode(DWORD *pdwExitCode) = 0;
236    virtual HRESULT WINAPI SetComment(LPCWSTR pwszComment) = 0;
237    virtual HRESULT WINAPI GetComment(LPWSTR *ppwszComment) = 0;
238    virtual HRESULT WINAPI SetCreator(LPCWSTR pwszCreator) = 0;
239    virtual HRESULT WINAPI GetCreator(LPWSTR *ppwszCreator) = 0;
240    virtual HRESULT WINAPI SetWorkItemData(WORD cbData,BYTE rgbData[]) = 0;
241    virtual HRESULT WINAPI GetWorkItemData(WORD *pcbData,BYTE **prgbData) = 0;
242    virtual HRESULT WINAPI SetErrorRetryCount(WORD wRetryCount) = 0;
243    virtual HRESULT WINAPI GetErrorRetryCount(WORD *pwRetryCount) = 0;
244    virtual HRESULT WINAPI SetErrorRetryInterval(WORD wRetryInterval) = 0;
245    virtual HRESULT WINAPI GetErrorRetryInterval(WORD *pwRetryInterval) = 0;
246    virtual HRESULT WINAPI SetFlags(DWORD dwFlags) = 0;
247    virtual HRESULT WINAPI GetFlags(DWORD *pdwFlags) = 0;
248    virtual HRESULT WINAPI SetAccountInformation(LPCWSTR pwszAccountName,LPCWSTR pwszPassword) = 0;
249    virtual HRESULT WINAPI GetAccountInformation(LPWSTR *ppwszAccountName) = 0;
250  };
251#else
252  typedef struct IScheduledWorkItemVtbl {
253    BEGIN_INTERFACE
254      HRESULT (WINAPI *QueryInterface)(IScheduledWorkItem *This,REFIID riid,void **ppvObject);
255      ULONG (WINAPI *AddRef)(IScheduledWorkItem *This);
256      ULONG (WINAPI *Release)(IScheduledWorkItem *This);
257      HRESULT (WINAPI *CreateTrigger)(IScheduledWorkItem *This,WORD *piNewTrigger,ITaskTrigger **ppTrigger);
258      HRESULT (WINAPI *DeleteTrigger)(IScheduledWorkItem *This,WORD iTrigger);
259      HRESULT (WINAPI *GetTriggerCount)(IScheduledWorkItem *This,WORD *pwCount);
260      HRESULT (WINAPI *GetTrigger)(IScheduledWorkItem *This,WORD iTrigger,ITaskTrigger **ppTrigger);
261      HRESULT (WINAPI *GetTriggerString)(IScheduledWorkItem *This,WORD iTrigger,LPWSTR *ppwszTrigger);
262      HRESULT (WINAPI *GetRunTimes)(IScheduledWorkItem *This,const LPSYSTEMTIME pstBegin,const LPSYSTEMTIME pstEnd,WORD *pCount,LPSYSTEMTIME *rgstTaskTimes);
263      HRESULT (WINAPI *GetNextRunTime)(IScheduledWorkItem *This,SYSTEMTIME *pstNextRun);
264      HRESULT (WINAPI *SetIdleWait)(IScheduledWorkItem *This,WORD wIdleMinutes,WORD wDeadlineMinutes);
265      HRESULT (WINAPI *GetIdleWait)(IScheduledWorkItem *This,WORD *pwIdleMinutes,WORD *pwDeadlineMinutes);
266      HRESULT (WINAPI *Run)(IScheduledWorkItem *This);
267      HRESULT (WINAPI *Terminate)(IScheduledWorkItem *This);
268      HRESULT (WINAPI *EditWorkItem)(IScheduledWorkItem *This,HWND hParent,DWORD dwReserved);
269      HRESULT (WINAPI *GetMostRecentRunTime)(IScheduledWorkItem *This,SYSTEMTIME *pstLastRun);
270      HRESULT (WINAPI *GetStatus)(IScheduledWorkItem *This,HRESULT *phrStatus);
271      HRESULT (WINAPI *GetExitCode)(IScheduledWorkItem *This,DWORD *pdwExitCode);
272      HRESULT (WINAPI *SetComment)(IScheduledWorkItem *This,LPCWSTR pwszComment);
273      HRESULT (WINAPI *GetComment)(IScheduledWorkItem *This,LPWSTR *ppwszComment);
274      HRESULT (WINAPI *SetCreator)(IScheduledWorkItem *This,LPCWSTR pwszCreator);
275      HRESULT (WINAPI *GetCreator)(IScheduledWorkItem *This,LPWSTR *ppwszCreator);
276      HRESULT (WINAPI *SetWorkItemData)(IScheduledWorkItem *This,WORD cbData,BYTE rgbData[]);
277      HRESULT (WINAPI *GetWorkItemData)(IScheduledWorkItem *This,WORD *pcbData,BYTE **prgbData);
278      HRESULT (WINAPI *SetErrorRetryCount)(IScheduledWorkItem *This,WORD wRetryCount);
279      HRESULT (WINAPI *GetErrorRetryCount)(IScheduledWorkItem *This,WORD *pwRetryCount);
280      HRESULT (WINAPI *SetErrorRetryInterval)(IScheduledWorkItem *This,WORD wRetryInterval);
281      HRESULT (WINAPI *GetErrorRetryInterval)(IScheduledWorkItem *This,WORD *pwRetryInterval);
282      HRESULT (WINAPI *SetFlags)(IScheduledWorkItem *This,DWORD dwFlags);
283      HRESULT (WINAPI *GetFlags)(IScheduledWorkItem *This,DWORD *pdwFlags);
284      HRESULT (WINAPI *SetAccountInformation)(IScheduledWorkItem *This,LPCWSTR pwszAccountName,LPCWSTR pwszPassword);
285      HRESULT (WINAPI *GetAccountInformation)(IScheduledWorkItem *This,LPWSTR *ppwszAccountName);
286    END_INTERFACE
287  } IScheduledWorkItemVtbl;
288  struct IScheduledWorkItem {
289    CONST_VTBL struct IScheduledWorkItemVtbl *lpVtbl;
290  };
291#ifdef COBJMACROS
292#define IScheduledWorkItem_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
293#define IScheduledWorkItem_AddRef(This) (This)->lpVtbl->AddRef(This)
294#define IScheduledWorkItem_Release(This) (This)->lpVtbl->Release(This)
295#define IScheduledWorkItem_CreateTrigger(This,piNewTrigger,ppTrigger) (This)->lpVtbl->CreateTrigger(This,piNewTrigger,ppTrigger)
296#define IScheduledWorkItem_DeleteTrigger(This,iTrigger) (This)->lpVtbl->DeleteTrigger(This,iTrigger)
297#define IScheduledWorkItem_GetTriggerCount(This,pwCount) (This)->lpVtbl->GetTriggerCount(This,pwCount)
298#define IScheduledWorkItem_GetTrigger(This,iTrigger,ppTrigger) (This)->lpVtbl->GetTrigger(This,iTrigger,ppTrigger)
299#define IScheduledWorkItem_GetTriggerString(This,iTrigger,ppwszTrigger) (This)->lpVtbl->GetTriggerString(This,iTrigger,ppwszTrigger)
300#define IScheduledWorkItem_GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes) (This)->lpVtbl->GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
301#define IScheduledWorkItem_GetNextRunTime(This,pstNextRun) (This)->lpVtbl->GetNextRunTime(This,pstNextRun)
302#define IScheduledWorkItem_SetIdleWait(This,wIdleMinutes,wDeadlineMinutes) (This)->lpVtbl->SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
303#define IScheduledWorkItem_GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes) (This)->lpVtbl->GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
304#define IScheduledWorkItem_Run(This) (This)->lpVtbl->Run(This)
305#define IScheduledWorkItem_Terminate(This) (This)->lpVtbl->Terminate(This)
306#define IScheduledWorkItem_EditWorkItem(This,hParent,dwReserved) (This)->lpVtbl->EditWorkItem(This,hParent,dwReserved)
307#define IScheduledWorkItem_GetMostRecentRunTime(This,pstLastRun) (This)->lpVtbl->GetMostRecentRunTime(This,pstLastRun)
308#define IScheduledWorkItem_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus)
309#define IScheduledWorkItem_GetExitCode(This,pdwExitCode) (This)->lpVtbl->GetExitCode(This,pdwExitCode)
310#define IScheduledWorkItem_SetComment(This,pwszComment) (This)->lpVtbl->SetComment(This,pwszComment)
311#define IScheduledWorkItem_GetComment(This,ppwszComment) (This)->lpVtbl->GetComment(This,ppwszComment)
312#define IScheduledWorkItem_SetCreator(This,pwszCreator) (This)->lpVtbl->SetCreator(This,pwszCreator)
313#define IScheduledWorkItem_GetCreator(This,ppwszCreator) (This)->lpVtbl->GetCreator(This,ppwszCreator)
314#define IScheduledWorkItem_SetWorkItemData(This,cbData,rgbData) (This)->lpVtbl->SetWorkItemData(This,cbData,rgbData)
315#define IScheduledWorkItem_GetWorkItemData(This,pcbData,prgbData) (This)->lpVtbl->GetWorkItemData(This,pcbData,prgbData)
316#define IScheduledWorkItem_SetErrorRetryCount(This,wRetryCount) (This)->lpVtbl->SetErrorRetryCount(This,wRetryCount)
317#define IScheduledWorkItem_GetErrorRetryCount(This,pwRetryCount) (This)->lpVtbl->GetErrorRetryCount(This,pwRetryCount)
318#define IScheduledWorkItem_SetErrorRetryInterval(This,wRetryInterval) (This)->lpVtbl->SetErrorRetryInterval(This,wRetryInterval)
319#define IScheduledWorkItem_GetErrorRetryInterval(This,pwRetryInterval) (This)->lpVtbl->GetErrorRetryInterval(This,pwRetryInterval)
320#define IScheduledWorkItem_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
321#define IScheduledWorkItem_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
322#define IScheduledWorkItem_SetAccountInformation(This,pwszAccountName,pwszPassword) (This)->lpVtbl->SetAccountInformation(This,pwszAccountName,pwszPassword)
323#define IScheduledWorkItem_GetAccountInformation(This,ppwszAccountName) (This)->lpVtbl->GetAccountInformation(This,ppwszAccountName)
324#endif
325#endif
326  HRESULT WINAPI IScheduledWorkItem_CreateTrigger_Proxy(IScheduledWorkItem *This,WORD *piNewTrigger,ITaskTrigger **ppTrigger);
327  void __RPC_STUB IScheduledWorkItem_CreateTrigger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
328  HRESULT WINAPI IScheduledWorkItem_DeleteTrigger_Proxy(IScheduledWorkItem *This,WORD iTrigger);
329  void __RPC_STUB IScheduledWorkItem_DeleteTrigger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
330  HRESULT WINAPI IScheduledWorkItem_GetTriggerCount_Proxy(IScheduledWorkItem *This,WORD *pwCount);
331  void __RPC_STUB IScheduledWorkItem_GetTriggerCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
332  HRESULT WINAPI IScheduledWorkItem_GetTrigger_Proxy(IScheduledWorkItem *This,WORD iTrigger,ITaskTrigger **ppTrigger);
333  void __RPC_STUB IScheduledWorkItem_GetTrigger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
334  HRESULT WINAPI IScheduledWorkItem_GetTriggerString_Proxy(IScheduledWorkItem *This,WORD iTrigger,LPWSTR *ppwszTrigger);
335  void __RPC_STUB IScheduledWorkItem_GetTriggerString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
336  HRESULT WINAPI IScheduledWorkItem_GetRunTimes_Proxy(IScheduledWorkItem *This,const LPSYSTEMTIME pstBegin,const LPSYSTEMTIME pstEnd,WORD *pCount,LPSYSTEMTIME *rgstTaskTimes);
337  void __RPC_STUB IScheduledWorkItem_GetRunTimes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
338  HRESULT WINAPI IScheduledWorkItem_GetNextRunTime_Proxy(IScheduledWorkItem *This,SYSTEMTIME *pstNextRun);
339  void __RPC_STUB IScheduledWorkItem_GetNextRunTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
340  HRESULT WINAPI IScheduledWorkItem_SetIdleWait_Proxy(IScheduledWorkItem *This,WORD wIdleMinutes,WORD wDeadlineMinutes);
341  void __RPC_STUB IScheduledWorkItem_SetIdleWait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
342  HRESULT WINAPI IScheduledWorkItem_GetIdleWait_Proxy(IScheduledWorkItem *This,WORD *pwIdleMinutes,WORD *pwDeadlineMinutes);
343  void __RPC_STUB IScheduledWorkItem_GetIdleWait_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
344  HRESULT WINAPI IScheduledWorkItem_Run_Proxy(IScheduledWorkItem *This);
345  void __RPC_STUB IScheduledWorkItem_Run_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
346  HRESULT WINAPI IScheduledWorkItem_Terminate_Proxy(IScheduledWorkItem *This);
347  void __RPC_STUB IScheduledWorkItem_Terminate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
348  HRESULT WINAPI IScheduledWorkItem_EditWorkItem_Proxy(IScheduledWorkItem *This,HWND hParent,DWORD dwReserved);
349  void __RPC_STUB IScheduledWorkItem_EditWorkItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
350  HRESULT WINAPI IScheduledWorkItem_GetMostRecentRunTime_Proxy(IScheduledWorkItem *This,SYSTEMTIME *pstLastRun);
351  void __RPC_STUB IScheduledWorkItem_GetMostRecentRunTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
352  HRESULT WINAPI IScheduledWorkItem_GetStatus_Proxy(IScheduledWorkItem *This,HRESULT *phrStatus);
353  void __RPC_STUB IScheduledWorkItem_GetStatus_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
354  HRESULT WINAPI IScheduledWorkItem_GetExitCode_Proxy(IScheduledWorkItem *This,DWORD *pdwExitCode);
355  void __RPC_STUB IScheduledWorkItem_GetExitCode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
356  HRESULT WINAPI IScheduledWorkItem_SetComment_Proxy(IScheduledWorkItem *This,LPCWSTR pwszComment);
357  void __RPC_STUB IScheduledWorkItem_SetComment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
358  HRESULT WINAPI IScheduledWorkItem_GetComment_Proxy(IScheduledWorkItem *This,LPWSTR *ppwszComment);
359  void __RPC_STUB IScheduledWorkItem_GetComment_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
360  HRESULT WINAPI IScheduledWorkItem_SetCreator_Proxy(IScheduledWorkItem *This,LPCWSTR pwszCreator);
361  void __RPC_STUB IScheduledWorkItem_SetCreator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
362  HRESULT WINAPI IScheduledWorkItem_GetCreator_Proxy(IScheduledWorkItem *This,LPWSTR *ppwszCreator);
363  void __RPC_STUB IScheduledWorkItem_GetCreator_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
364  HRESULT WINAPI IScheduledWorkItem_SetWorkItemData_Proxy(IScheduledWorkItem *This,WORD cbData,BYTE rgbData[]);
365  void __RPC_STUB IScheduledWorkItem_SetWorkItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
366  HRESULT WINAPI IScheduledWorkItem_GetWorkItemData_Proxy(IScheduledWorkItem *This,WORD *pcbData,BYTE **prgbData);
367  void __RPC_STUB IScheduledWorkItem_GetWorkItemData_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
368  HRESULT WINAPI IScheduledWorkItem_SetErrorRetryCount_Proxy(IScheduledWorkItem *This,WORD wRetryCount);
369  void __RPC_STUB IScheduledWorkItem_SetErrorRetryCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
370  HRESULT WINAPI IScheduledWorkItem_GetErrorRetryCount_Proxy(IScheduledWorkItem *This,WORD *pwRetryCount);
371  void __RPC_STUB IScheduledWorkItem_GetErrorRetryCount_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
372  HRESULT WINAPI IScheduledWorkItem_SetErrorRetryInterval_Proxy(IScheduledWorkItem *This,WORD wRetryInterval);
373  void __RPC_STUB IScheduledWorkItem_SetErrorRetryInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
374  HRESULT WINAPI IScheduledWorkItem_GetErrorRetryInterval_Proxy(IScheduledWorkItem *This,WORD *pwRetryInterval);
375  void __RPC_STUB IScheduledWorkItem_GetErrorRetryInterval_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
376  HRESULT WINAPI IScheduledWorkItem_SetFlags_Proxy(IScheduledWorkItem *This,DWORD dwFlags);
377  void __RPC_STUB IScheduledWorkItem_SetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
378  HRESULT WINAPI IScheduledWorkItem_GetFlags_Proxy(IScheduledWorkItem *This,DWORD *pdwFlags);
379  void __RPC_STUB IScheduledWorkItem_GetFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
380  HRESULT WINAPI IScheduledWorkItem_SetAccountInformation_Proxy(IScheduledWorkItem *This,LPCWSTR pwszAccountName,LPCWSTR pwszPassword);
381  void __RPC_STUB IScheduledWorkItem_SetAccountInformation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
382  HRESULT WINAPI IScheduledWorkItem_GetAccountInformation_Proxy(IScheduledWorkItem *This,LPWSTR *ppwszAccountName);
383  void __RPC_STUB IScheduledWorkItem_GetAccountInformation_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
384#endif
385
386  DEFINE_GUID(IID_ITask,0x148BD524,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
387
388  extern RPC_IF_HANDLE __MIDL_itf_mstask_0141_v0_0_c_ifspec;
389  extern RPC_IF_HANDLE __MIDL_itf_mstask_0141_v0_0_s_ifspec;
390
391#ifndef __ITask_INTERFACE_DEFINED__
392#define __ITask_INTERFACE_DEFINED__
393  EXTERN_C const IID IID_ITask;
394#if defined(__cplusplus) && !defined(CINTERFACE)
395  struct ITask : public IScheduledWorkItem {
396  public:
397    virtual HRESULT WINAPI SetApplicationName(LPCWSTR pwszApplicationName) = 0;
398    virtual HRESULT WINAPI GetApplicationName(LPWSTR *ppwszApplicationName) = 0;
399    virtual HRESULT WINAPI SetParameters(LPCWSTR pwszParameters) = 0;
400    virtual HRESULT WINAPI GetParameters(LPWSTR *ppwszParameters) = 0;
401    virtual HRESULT WINAPI SetWorkingDirectory(LPCWSTR pwszWorkingDirectory) = 0;
402    virtual HRESULT WINAPI GetWorkingDirectory(LPWSTR *ppwszWorkingDirectory) = 0;
403    virtual HRESULT WINAPI SetPriority(DWORD dwPriority) = 0;
404    virtual HRESULT WINAPI GetPriority(DWORD *pdwPriority) = 0;
405    virtual HRESULT WINAPI SetTaskFlags(DWORD dwFlags) = 0;
406    virtual HRESULT WINAPI GetTaskFlags(DWORD *pdwFlags) = 0;
407    virtual HRESULT WINAPI SetMaxRunTime(DWORD dwMaxRunTimeMS) = 0;
408    virtual HRESULT WINAPI GetMaxRunTime(DWORD *pdwMaxRunTimeMS) = 0;
409  };
410#else
411  typedef struct ITaskVtbl {
412    BEGIN_INTERFACE
413      HRESULT (WINAPI *QueryInterface)(ITask *This,REFIID riid,void **ppvObject);
414      ULONG (WINAPI *AddRef)(ITask *This);
415      ULONG (WINAPI *Release)(ITask *This);
416      HRESULT (WINAPI *CreateTrigger)(ITask *This,WORD *piNewTrigger,ITaskTrigger **ppTrigger);
417      HRESULT (WINAPI *DeleteTrigger)(ITask *This,WORD iTrigger);
418      HRESULT (WINAPI *GetTriggerCount)(ITask *This,WORD *pwCount);
419      HRESULT (WINAPI *GetTrigger)(ITask *This,WORD iTrigger,ITaskTrigger **ppTrigger);
420      HRESULT (WINAPI *GetTriggerString)(ITask *This,WORD iTrigger,LPWSTR *ppwszTrigger);
421      HRESULT (WINAPI *GetRunTimes)(ITask *This,const LPSYSTEMTIME pstBegin,const LPSYSTEMTIME pstEnd,WORD *pCount,LPSYSTEMTIME *rgstTaskTimes);
422      HRESULT (WINAPI *GetNextRunTime)(ITask *This,SYSTEMTIME *pstNextRun);
423      HRESULT (WINAPI *SetIdleWait)(ITask *This,WORD wIdleMinutes,WORD wDeadlineMinutes);
424      HRESULT (WINAPI *GetIdleWait)(ITask *This,WORD *pwIdleMinutes,WORD *pwDeadlineMinutes);
425      HRESULT (WINAPI *Run)(ITask *This);
426      HRESULT (WINAPI *Terminate)(ITask *This);
427      HRESULT (WINAPI *EditWorkItem)(ITask *This,HWND hParent,DWORD dwReserved);
428      HRESULT (WINAPI *GetMostRecentRunTime)(ITask *This,SYSTEMTIME *pstLastRun);
429      HRESULT (WINAPI *GetStatus)(ITask *This,HRESULT *phrStatus);
430      HRESULT (WINAPI *GetExitCode)(ITask *This,DWORD *pdwExitCode);
431      HRESULT (WINAPI *SetComment)(ITask *This,LPCWSTR pwszComment);
432      HRESULT (WINAPI *GetComment)(ITask *This,LPWSTR *ppwszComment);
433      HRESULT (WINAPI *SetCreator)(ITask *This,LPCWSTR pwszCreator);
434      HRESULT (WINAPI *GetCreator)(ITask *This,LPWSTR *ppwszCreator);
435      HRESULT (WINAPI *SetWorkItemData)(ITask *This,WORD cbData,BYTE rgbData[]);
436      HRESULT (WINAPI *GetWorkItemData)(ITask *This,WORD *pcbData,BYTE **prgbData);
437      HRESULT (WINAPI *SetErrorRetryCount)(ITask *This,WORD wRetryCount);
438      HRESULT (WINAPI *GetErrorRetryCount)(ITask *This,WORD *pwRetryCount);
439      HRESULT (WINAPI *SetErrorRetryInterval)(ITask *This,WORD wRetryInterval);
440      HRESULT (WINAPI *GetErrorRetryInterval)(ITask *This,WORD *pwRetryInterval);
441      HRESULT (WINAPI *SetFlags)(ITask *This,DWORD dwFlags);
442      HRESULT (WINAPI *GetFlags)(ITask *This,DWORD *pdwFlags);
443      HRESULT (WINAPI *SetAccountInformation)(ITask *This,LPCWSTR pwszAccountName,LPCWSTR pwszPassword);
444      HRESULT (WINAPI *GetAccountInformation)(ITask *This,LPWSTR *ppwszAccountName);
445      HRESULT (WINAPI *SetApplicationName)(ITask *This,LPCWSTR pwszApplicationName);
446      HRESULT (WINAPI *GetApplicationName)(ITask *This,LPWSTR *ppwszApplicationName);
447      HRESULT (WINAPI *SetParameters)(ITask *This,LPCWSTR pwszParameters);
448      HRESULT (WINAPI *GetParameters)(ITask *This,LPWSTR *ppwszParameters);
449      HRESULT (WINAPI *SetWorkingDirectory)(ITask *This,LPCWSTR pwszWorkingDirectory);
450      HRESULT (WINAPI *GetWorkingDirectory)(ITask *This,LPWSTR *ppwszWorkingDirectory);
451      HRESULT (WINAPI *SetPriority)(ITask *This,DWORD dwPriority);
452      HRESULT (WINAPI *GetPriority)(ITask *This,DWORD *pdwPriority);
453      HRESULT (WINAPI *SetTaskFlags)(ITask *This,DWORD dwFlags);
454      HRESULT (WINAPI *GetTaskFlags)(ITask *This,DWORD *pdwFlags);
455      HRESULT (WINAPI *SetMaxRunTime)(ITask *This,DWORD dwMaxRunTimeMS);
456      HRESULT (WINAPI *GetMaxRunTime)(ITask *This,DWORD *pdwMaxRunTimeMS);
457    END_INTERFACE
458  } ITaskVtbl;
459  struct ITask {
460    CONST_VTBL struct ITaskVtbl *lpVtbl;
461  };
462#ifdef COBJMACROS
463#define ITask_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
464#define ITask_AddRef(This) (This)->lpVtbl->AddRef(This)
465#define ITask_Release(This) (This)->lpVtbl->Release(This)
466#define ITask_CreateTrigger(This,piNewTrigger,ppTrigger) (This)->lpVtbl->CreateTrigger(This,piNewTrigger,ppTrigger)
467#define ITask_DeleteTrigger(This,iTrigger) (This)->lpVtbl->DeleteTrigger(This,iTrigger)
468#define ITask_GetTriggerCount(This,pwCount) (This)->lpVtbl->GetTriggerCount(This,pwCount)
469#define ITask_GetTrigger(This,iTrigger,ppTrigger) (This)->lpVtbl->GetTrigger(This,iTrigger,ppTrigger)
470#define ITask_GetTriggerString(This,iTrigger,ppwszTrigger) (This)->lpVtbl->GetTriggerString(This,iTrigger,ppwszTrigger)
471#define ITask_GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes) (This)->lpVtbl->GetRunTimes(This,pstBegin,pstEnd,pCount,rgstTaskTimes)
472#define ITask_GetNextRunTime(This,pstNextRun) (This)->lpVtbl->GetNextRunTime(This,pstNextRun)
473#define ITask_SetIdleWait(This,wIdleMinutes,wDeadlineMinutes) (This)->lpVtbl->SetIdleWait(This,wIdleMinutes,wDeadlineMinutes)
474#define ITask_GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes) (This)->lpVtbl->GetIdleWait(This,pwIdleMinutes,pwDeadlineMinutes)
475#define ITask_Run(This) (This)->lpVtbl->Run(This)
476#define ITask_Terminate(This) (This)->lpVtbl->Terminate(This)
477#define ITask_EditWorkItem(This,hParent,dwReserved) (This)->lpVtbl->EditWorkItem(This,hParent,dwReserved)
478#define ITask_GetMostRecentRunTime(This,pstLastRun) (This)->lpVtbl->GetMostRecentRunTime(This,pstLastRun)
479#define ITask_GetStatus(This,phrStatus) (This)->lpVtbl->GetStatus(This,phrStatus)
480#define ITask_GetExitCode(This,pdwExitCode) (This)->lpVtbl->GetExitCode(This,pdwExitCode)
481#define ITask_SetComment(This,pwszComment) (This)->lpVtbl->SetComment(This,pwszComment)
482#define ITask_GetComment(This,ppwszComment) (This)->lpVtbl->GetComment(This,ppwszComment)
483#define ITask_SetCreator(This,pwszCreator) (This)->lpVtbl->SetCreator(This,pwszCreator)
484#define ITask_GetCreator(This,ppwszCreator) (This)->lpVtbl->GetCreator(This,ppwszCreator)
485#define ITask_SetWorkItemData(This,cbData,rgbData) (This)->lpVtbl->SetWorkItemData(This,cbData,rgbData)
486#define ITask_GetWorkItemData(This,pcbData,prgbData) (This)->lpVtbl->GetWorkItemData(This,pcbData,prgbData)
487#define ITask_SetErrorRetryCount(This,wRetryCount) (This)->lpVtbl->SetErrorRetryCount(This,wRetryCount)
488#define ITask_GetErrorRetryCount(This,pwRetryCount) (This)->lpVtbl->GetErrorRetryCount(This,pwRetryCount)
489#define ITask_SetErrorRetryInterval(This,wRetryInterval) (This)->lpVtbl->SetErrorRetryInterval(This,wRetryInterval)
490#define ITask_GetErrorRetryInterval(This,pwRetryInterval) (This)->lpVtbl->GetErrorRetryInterval(This,pwRetryInterval)
491#define ITask_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
492#define ITask_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
493#define ITask_SetAccountInformation(This,pwszAccountName,pwszPassword) (This)->lpVtbl->SetAccountInformation(This,pwszAccountName,pwszPassword)
494#define ITask_GetAccountInformation(This,ppwszAccountName) (This)->lpVtbl->GetAccountInformation(This,ppwszAccountName)
495#define ITask_SetApplicationName(This,pwszApplicationName) (This)->lpVtbl->SetApplicationName(This,pwszApplicationName)
496#define ITask_GetApplicationName(This,ppwszApplicationName) (This)->lpVtbl->GetApplicationName(This,ppwszApplicationName)
497#define ITask_SetParameters(This,pwszParameters) (This)->lpVtbl->SetParameters(This,pwszParameters)
498#define ITask_GetParameters(This,ppwszParameters) (This)->lpVtbl->GetParameters(This,ppwszParameters)
499#define ITask_SetWorkingDirectory(This,pwszWorkingDirectory) (This)->lpVtbl->SetWorkingDirectory(This,pwszWorkingDirectory)
500#define ITask_GetWorkingDirectory(This,ppwszWorkingDirectory) (This)->lpVtbl->GetWorkingDirectory(This,ppwszWorkingDirectory)
501#define ITask_SetPriority(This,dwPriority) (This)->lpVtbl->SetPriority(This,dwPriority)
502#define ITask_GetPriority(This,pdwPriority) (This)->lpVtbl->GetPriority(This,pdwPriority)
503#define ITask_SetTaskFlags(This,dwFlags) (This)->lpVtbl->SetTaskFlags(This,dwFlags)
504#define ITask_GetTaskFlags(This,pdwFlags) (This)->lpVtbl->GetTaskFlags(This,pdwFlags)
505#define ITask_SetMaxRunTime(This,dwMaxRunTimeMS) (This)->lpVtbl->SetMaxRunTime(This,dwMaxRunTimeMS)
506#define ITask_GetMaxRunTime(This,pdwMaxRunTimeMS) (This)->lpVtbl->GetMaxRunTime(This,pdwMaxRunTimeMS)
507#endif
508#endif
509  HRESULT WINAPI ITask_SetApplicationName_Proxy(ITask *This,LPCWSTR pwszApplicationName);
510  void __RPC_STUB ITask_SetApplicationName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
511  HRESULT WINAPI ITask_GetApplicationName_Proxy(ITask *This,LPWSTR *ppwszApplicationName);
512  void __RPC_STUB ITask_GetApplicationName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
513  HRESULT WINAPI ITask_SetParameters_Proxy(ITask *This,LPCWSTR pwszParameters);
514  void __RPC_STUB ITask_SetParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
515  HRESULT WINAPI ITask_GetParameters_Proxy(ITask *This,LPWSTR *ppwszParameters);
516  void __RPC_STUB ITask_GetParameters_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
517  HRESULT WINAPI ITask_SetWorkingDirectory_Proxy(ITask *This,LPCWSTR pwszWorkingDirectory);
518  void __RPC_STUB ITask_SetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
519  HRESULT WINAPI ITask_GetWorkingDirectory_Proxy(ITask *This,LPWSTR *ppwszWorkingDirectory);
520  void __RPC_STUB ITask_GetWorkingDirectory_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
521  HRESULT WINAPI ITask_SetPriority_Proxy(ITask *This,DWORD dwPriority);
522  void __RPC_STUB ITask_SetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
523  HRESULT WINAPI ITask_GetPriority_Proxy(ITask *This,DWORD *pdwPriority);
524  void __RPC_STUB ITask_GetPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
525  HRESULT WINAPI ITask_SetTaskFlags_Proxy(ITask *This,DWORD dwFlags);
526  void __RPC_STUB ITask_SetTaskFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
527  HRESULT WINAPI ITask_GetTaskFlags_Proxy(ITask *This,DWORD *pdwFlags);
528  void __RPC_STUB ITask_GetTaskFlags_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
529  HRESULT WINAPI ITask_SetMaxRunTime_Proxy(ITask *This,DWORD dwMaxRunTimeMS);
530  void __RPC_STUB ITask_SetMaxRunTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
531  HRESULT WINAPI ITask_GetMaxRunTime_Proxy(ITask *This,DWORD *pdwMaxRunTimeMS);
532  void __RPC_STUB ITask_GetMaxRunTime_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
533#endif
534
535  DEFINE_GUID(IID_IEnumWorkItems,0x148BD528,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
536
537  extern RPC_IF_HANDLE __MIDL_itf_mstask_0142_v0_0_c_ifspec;
538  extern RPC_IF_HANDLE __MIDL_itf_mstask_0142_v0_0_s_ifspec;
539
540#ifndef __IEnumWorkItems_INTERFACE_DEFINED__
541#define __IEnumWorkItems_INTERFACE_DEFINED__
542  EXTERN_C const IID IID_IEnumWorkItems;
543#if defined(__cplusplus) && !defined(CINTERFACE)
544  struct IEnumWorkItems : public IUnknown {
545  public:
546    virtual HRESULT WINAPI Next(ULONG celt,LPWSTR **rgpwszNames,ULONG *pceltFetched) = 0;
547    virtual HRESULT WINAPI Skip(ULONG celt) = 0;
548    virtual HRESULT WINAPI Reset(void) = 0;
549    virtual HRESULT WINAPI Clone(IEnumWorkItems **ppEnumWorkItems) = 0;
550  };
551#else
552  typedef struct IEnumWorkItemsVtbl {
553    BEGIN_INTERFACE
554      HRESULT (WINAPI *QueryInterface)(IEnumWorkItems *This,REFIID riid,void **ppvObject);
555      ULONG (WINAPI *AddRef)(IEnumWorkItems *This);
556      ULONG (WINAPI *Release)(IEnumWorkItems *This);
557      HRESULT (WINAPI *Next)(IEnumWorkItems *This,ULONG celt,LPWSTR **rgpwszNames,ULONG *pceltFetched);
558      HRESULT (WINAPI *Skip)(IEnumWorkItems *This,ULONG celt);
559      HRESULT (WINAPI *Reset)(IEnumWorkItems *This);
560      HRESULT (WINAPI *Clone)(IEnumWorkItems *This,IEnumWorkItems **ppEnumWorkItems);
561    END_INTERFACE
562  } IEnumWorkItemsVtbl;
563  struct IEnumWorkItems {
564    CONST_VTBL struct IEnumWorkItemsVtbl *lpVtbl;
565  };
566#ifdef COBJMACROS
567#define IEnumWorkItems_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
568#define IEnumWorkItems_AddRef(This) (This)->lpVtbl->AddRef(This)
569#define IEnumWorkItems_Release(This) (This)->lpVtbl->Release(This)
570#define IEnumWorkItems_Next(This,celt,rgpwszNames,pceltFetched) (This)->lpVtbl->Next(This,celt,rgpwszNames,pceltFetched)
571#define IEnumWorkItems_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
572#define IEnumWorkItems_Reset(This) (This)->lpVtbl->Reset(This)
573#define IEnumWorkItems_Clone(This,ppEnumWorkItems) (This)->lpVtbl->Clone(This,ppEnumWorkItems)
574#endif
575#endif
576  HRESULT WINAPI IEnumWorkItems_Next_Proxy(IEnumWorkItems *This,ULONG celt,LPWSTR **rgpwszNames,ULONG *pceltFetched);
577  void __RPC_STUB IEnumWorkItems_Next_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
578  HRESULT WINAPI IEnumWorkItems_Skip_Proxy(IEnumWorkItems *This,ULONG celt);
579  void __RPC_STUB IEnumWorkItems_Skip_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
580  HRESULT WINAPI IEnumWorkItems_Reset_Proxy(IEnumWorkItems *This);
581  void __RPC_STUB IEnumWorkItems_Reset_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
582  HRESULT WINAPI IEnumWorkItems_Clone_Proxy(IEnumWorkItems *This,IEnumWorkItems **ppEnumWorkItems);
583  void __RPC_STUB IEnumWorkItems_Clone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
584#endif
585
586  DEFINE_GUID(IID_ITaskScheduler,0x148BD527,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
587
588  extern RPC_IF_HANDLE __MIDL_itf_mstask_0143_v0_0_c_ifspec;
589  extern RPC_IF_HANDLE __MIDL_itf_mstask_0143_v0_0_s_ifspec;
590
591#ifndef __ITaskScheduler_INTERFACE_DEFINED__
592#define __ITaskScheduler_INTERFACE_DEFINED__
593  EXTERN_C const IID IID_ITaskScheduler;
594#if defined(__cplusplus) && !defined(CINTERFACE)
595  struct ITaskScheduler : public IUnknown {
596  public:
597    virtual HRESULT WINAPI SetTargetComputer(LPCWSTR pwszComputer) = 0;
598    virtual HRESULT WINAPI GetTargetComputer(LPWSTR *ppwszComputer) = 0;
599    virtual HRESULT WINAPI Enum(IEnumWorkItems **ppEnumWorkItems) = 0;
600    virtual HRESULT WINAPI Activate(LPCWSTR pwszName,REFIID riid,IUnknown **ppUnk) = 0;
601    virtual HRESULT WINAPI Delete(LPCWSTR pwszName) = 0;
602    virtual HRESULT WINAPI NewWorkItem(LPCWSTR pwszTaskName,REFCLSID rclsid,REFIID riid,IUnknown **ppUnk) = 0;
603    virtual HRESULT WINAPI AddWorkItem(LPCWSTR pwszTaskName,IScheduledWorkItem *pWorkItem) = 0;
604    virtual HRESULT WINAPI IsOfType(LPCWSTR pwszName,REFIID riid) = 0;
605  };
606#else
607  typedef struct ITaskSchedulerVtbl {
608    BEGIN_INTERFACE
609      HRESULT (WINAPI *QueryInterface)(ITaskScheduler *This,REFIID riid,void **ppvObject);
610      ULONG (WINAPI *AddRef)(ITaskScheduler *This);
611      ULONG (WINAPI *Release)(ITaskScheduler *This);
612      HRESULT (WINAPI *SetTargetComputer)(ITaskScheduler *This,LPCWSTR pwszComputer);
613      HRESULT (WINAPI *GetTargetComputer)(ITaskScheduler *This,LPWSTR *ppwszComputer);
614      HRESULT (WINAPI *Enum)(ITaskScheduler *This,IEnumWorkItems **ppEnumWorkItems);
615      HRESULT (WINAPI *Activate)(ITaskScheduler *This,LPCWSTR pwszName,REFIID riid,IUnknown **ppUnk);
616      HRESULT (WINAPI *Delete)(ITaskScheduler *This,LPCWSTR pwszName);
617      HRESULT (WINAPI *NewWorkItem)(ITaskScheduler *This,LPCWSTR pwszTaskName,REFCLSID rclsid,REFIID riid,IUnknown **ppUnk);
618      HRESULT (WINAPI *AddWorkItem)(ITaskScheduler *This,LPCWSTR pwszTaskName,IScheduledWorkItem *pWorkItem);
619      HRESULT (WINAPI *IsOfType)(ITaskScheduler *This,LPCWSTR pwszName,REFIID riid);
620    END_INTERFACE
621  } ITaskSchedulerVtbl;
622  struct ITaskScheduler {
623    CONST_VTBL struct ITaskSchedulerVtbl *lpVtbl;
624  };
625#ifdef COBJMACROS
626#define ITaskScheduler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
627#define ITaskScheduler_AddRef(This) (This)->lpVtbl->AddRef(This)
628#define ITaskScheduler_Release(This) (This)->lpVtbl->Release(This)
629#define ITaskScheduler_SetTargetComputer(This,pwszComputer) (This)->lpVtbl->SetTargetComputer(This,pwszComputer)
630#define ITaskScheduler_GetTargetComputer(This,ppwszComputer) (This)->lpVtbl->GetTargetComputer(This,ppwszComputer)
631#define ITaskScheduler_Enum(This,ppEnumWorkItems) (This)->lpVtbl->Enum(This,ppEnumWorkItems)
632#define ITaskScheduler_Activate(This,pwszName,riid,ppUnk) (This)->lpVtbl->Activate(This,pwszName,riid,ppUnk)
633#define ITaskScheduler_Delete(This,pwszName) (This)->lpVtbl->Delete(This,pwszName)
634#define ITaskScheduler_NewWorkItem(This,pwszTaskName,rclsid,riid,ppUnk) (This)->lpVtbl->NewWorkItem(This,pwszTaskName,rclsid,riid,ppUnk)
635#define ITaskScheduler_AddWorkItem(This,pwszTaskName,pWorkItem) (This)->lpVtbl->AddWorkItem(This,pwszTaskName,pWorkItem)
636#define ITaskScheduler_IsOfType(This,pwszName,riid) (This)->lpVtbl->IsOfType(This,pwszName,riid)
637#endif
638#endif
639  HRESULT WINAPI ITaskScheduler_SetTargetComputer_Proxy(ITaskScheduler *This,LPCWSTR pwszComputer);
640  void __RPC_STUB ITaskScheduler_SetTargetComputer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
641  HRESULT WINAPI ITaskScheduler_GetTargetComputer_Proxy(ITaskScheduler *This,LPWSTR *ppwszComputer);
642  void __RPC_STUB ITaskScheduler_GetTargetComputer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
643  HRESULT WINAPI ITaskScheduler_Enum_Proxy(ITaskScheduler *This,IEnumWorkItems **ppEnumWorkItems);
644  void __RPC_STUB ITaskScheduler_Enum_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
645  HRESULT WINAPI ITaskScheduler_Activate_Proxy(ITaskScheduler *This,LPCWSTR pwszName,REFIID riid,IUnknown **ppUnk);
646  void __RPC_STUB ITaskScheduler_Activate_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
647  HRESULT WINAPI ITaskScheduler_Delete_Proxy(ITaskScheduler *This,LPCWSTR pwszName);
648  void __RPC_STUB ITaskScheduler_Delete_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
649  HRESULT WINAPI ITaskScheduler_NewWorkItem_Proxy(ITaskScheduler *This,LPCWSTR pwszTaskName,REFCLSID rclsid,REFIID riid,IUnknown **ppUnk);
650  void __RPC_STUB ITaskScheduler_NewWorkItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
651  HRESULT WINAPI ITaskScheduler_AddWorkItem_Proxy(ITaskScheduler *This,LPCWSTR pwszTaskName,IScheduledWorkItem *pWorkItem);
652  void __RPC_STUB ITaskScheduler_AddWorkItem_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
653  HRESULT WINAPI ITaskScheduler_IsOfType_Proxy(ITaskScheduler *This,LPCWSTR pwszName,REFIID riid);
654  void __RPC_STUB ITaskScheduler_IsOfType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
655#endif
656
657  EXTERN_C const CLSID CLSID_CTask;
658  EXTERN_C const CLSID CLSID_CTaskScheduler;
659
660  DEFINE_GUID(CLSID_CTask,0x148BD520,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
661  DEFINE_GUID(CLSID_CTaskScheduler,0x148BD52A,0xA2AB,0x11CE,0xB1,0x1F,0x00,0xAA,0x00,0x53,0x05,0x03);
662
663  typedef struct _PSP *HPROPSHEETPAGE;
664
665  typedef enum _TASKPAGE {
666    TASKPAGE_TASK = 0,TASKPAGE_SCHEDULE = 1,TASKPAGE_SETTINGS = 2
667  } TASKPAGE;
668
669  DEFINE_GUID(IID_IProvideTaskPage,0x4086658a,0xcbbb,0x11cf,0xb6,0x04,0x00,0xc0,0x4f,0xd8,0xd5,0x65);
670
671  extern RPC_IF_HANDLE __MIDL_itf_mstask_0144_v0_0_c_ifspec;
672  extern RPC_IF_HANDLE __MIDL_itf_mstask_0144_v0_0_s_ifspec;
673
674#ifndef __IProvideTaskPage_INTERFACE_DEFINED__
675#define __IProvideTaskPage_INTERFACE_DEFINED__
676  EXTERN_C const IID IID_IProvideTaskPage;
677#if defined(__cplusplus) && !defined(CINTERFACE)
678  struct IProvideTaskPage : public IUnknown {
679  public:
680    virtual HRESULT WINAPI GetPage(TASKPAGE tpType,WINBOOL fPersistChanges,HPROPSHEETPAGE *phPage) = 0;
681  };
682#else
683  typedef struct IProvideTaskPageVtbl {
684    BEGIN_INTERFACE
685      HRESULT (WINAPI *QueryInterface)(IProvideTaskPage *This,REFIID riid,void **ppvObject);
686      ULONG (WINAPI *AddRef)(IProvideTaskPage *This);
687      ULONG (WINAPI *Release)(IProvideTaskPage *This);
688      HRESULT (WINAPI *GetPage)(IProvideTaskPage *This,TASKPAGE tpType,WINBOOL fPersistChanges,HPROPSHEETPAGE *phPage);
689    END_INTERFACE
690  } IProvideTaskPageVtbl;
691  struct IProvideTaskPage {
692    CONST_VTBL struct IProvideTaskPageVtbl *lpVtbl;
693  };
694#ifdef COBJMACROS
695#define IProvideTaskPage_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
696#define IProvideTaskPage_AddRef(This) (This)->lpVtbl->AddRef(This)
697#define IProvideTaskPage_Release(This) (This)->lpVtbl->Release(This)
698#define IProvideTaskPage_GetPage(This,tpType,fPersistChanges,phPage) (This)->lpVtbl->GetPage(This,tpType,fPersistChanges,phPage)
699#endif
700#endif
701  HRESULT WINAPI IProvideTaskPage_GetPage_Proxy(IProvideTaskPage *This,TASKPAGE tpType,WINBOOL fPersistChanges,HPROPSHEETPAGE *phPage);
702  void __RPC_STUB IProvideTaskPage_GetPage_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
703#endif
704
705#define ISchedulingAgent ITaskScheduler
706#define IEnumTasks IEnumWorkItems
707#define IID_ISchedulingAgent IID_ITaskScheduler
708#define CLSID_CSchedulingAgent CLSID_CTaskScheduler
709
710  extern RPC_IF_HANDLE __MIDL_itf_mstask_0145_v0_0_c_ifspec;
711  extern RPC_IF_HANDLE __MIDL_itf_mstask_0145_v0_0_s_ifspec;
712
713#ifdef __cplusplus
714}
715#endif
716#endif
717