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__
27 typedef struct ITaskTrigger ITaskTrigger;
28 #endif
29 
30 #ifndef __IScheduledWorkItem_FWD_DEFINED__
31 #define __IScheduledWorkItem_FWD_DEFINED__
32 typedef struct IScheduledWorkItem IScheduledWorkItem;
33 #endif
34 
35 #ifndef __ITask_FWD_DEFINED__
36 #define __ITask_FWD_DEFINED__
37 typedef struct ITask ITask;
38 #endif
39 
40 #ifndef __IEnumWorkItems_FWD_DEFINED__
41 #define __IEnumWorkItems_FWD_DEFINED__
42 typedef struct IEnumWorkItems IEnumWorkItems;
43 #endif
44 
45 #ifndef __ITaskScheduler_FWD_DEFINED__
46 #define __ITaskScheduler_FWD_DEFINED__
47 typedef struct ITaskScheduler ITaskScheduler;
48 #endif
49 
50 #ifndef __IProvideTaskPage_FWD_DEFINED__
51 #define __IProvideTaskPage_FWD_DEFINED__
52 typedef struct IProvideTaskPage IProvideTaskPage;
53 #endif
54 
55 #include "oaidl.h"
56 #include "oleidl.h"
57 
58 #ifdef __cplusplus
59 extern "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