VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/mstask.idl@ 33252

Last change on this file since 33252 was 19678, checked in by vboxsync, 16 years ago

opengl: update wine to 1.1.21, add d3d9.dll to build list

  • Property svn:eol-style set to native
File size: 9.8 KB
Line 
1/*
2 * Task Scheduler Service interface
3 *
4 * Copyright (C) 2008 Google (Roy Shea)
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 *
20 */
21
22/*
23 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
24 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
25 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
26 * a choice of LGPL license versions is made available with the language indicating
27 * that LGPLv2 or any later version may be used, or where a choice of which version
28 * of the LGPL is applied is otherwise unspecified.
29 */
30
31import "oaidl.idl";
32import "oleidl.idl";
33
34cpp_quote("#define TASK_SUNDAY 0x1")
35cpp_quote("#define TASK_MONDAY 0x2")
36cpp_quote("#define TASK_TUESDAY 0x4")
37cpp_quote("#define TASK_WEDNESDAY 0x8")
38cpp_quote("#define TASK_THURSDAY 0x10")
39cpp_quote("#define TASK_FRIDAY 0x20")
40cpp_quote("#define TASK_SATURDAY 0x40")
41
42cpp_quote("#define TASK_FIRST_WEEK 1")
43cpp_quote("#define TASK_SECOND_WEEK 2")
44cpp_quote("#define TASK_THIRD_WEEK 3")
45cpp_quote("#define TASK_FOURTH_WEEK 4")
46cpp_quote("#define TASK_LAST_WEEK 5")
47
48cpp_quote("#define TASK_JANUARY 0x1")
49cpp_quote("#define TASK_FEBRUARY 0x2")
50cpp_quote("#define TASK_MARCH 0x4")
51cpp_quote("#define TASK_APRIL 0x8")
52cpp_quote("#define TASK_MAY 0x10")
53cpp_quote("#define TASK_JUNE 0x20")
54cpp_quote("#define TASK_JULY 0x40")
55cpp_quote("#define TASK_AUGUST 0x80")
56cpp_quote("#define TASK_SEPTEMBER 0x100")
57cpp_quote("#define TASK_OCTOBER 0x200")
58cpp_quote("#define TASK_NOVEMBER 0x400")
59cpp_quote("#define TASK_DECEMBER 0x800")
60
61cpp_quote("#define TASK_TRIGGER_FLAG_HAS_END_DATE 0x1")
62cpp_quote("#define TASK_TRIGGER_FLAG_KILL_AT_DURATION_END 0x2")
63cpp_quote("#define TASK_TRIGGER_FLAG_DISABLED 0x4")
64
65[
66 local,
67 object,
68 uuid(148BD528-A2AB-11CE-B11F-00AA00530503),
69 pointer_default(unique)
70]
71interface IEnumWorkItems : IUnknown
72{
73 HRESULT Next(
74 [in] ULONG celt,
75 [out] LPWSTR **rgpwszNames,
76 [out] ULONG *pceltFetched);
77
78 HRESULT Skip(
79 [in] ULONG celt);
80
81 HRESULT Reset();
82
83 HRESULT Clone(
84 [out] IEnumWorkItems **ppEnumWorkItems);
85}
86
87cpp_quote("#ifndef _HPROPSHEETPAGE_DEFINED")
88typedef struct _PSP *HPROPSHEETPAGE;
89cpp_quote("#define _HPROPSHEETPAGE_DEFINED")
90cpp_quote("#endif")
91
92[
93 local,
94 object,
95 uuid(4086658a-cbbb-11cf-b604-00c04fd8d565),
96 pointer_default(unique)
97]
98interface IProvideTaskPage : IUnknown
99{
100 typedef enum _TASKPAGE {
101 TASKPAGE_TASK = 0,
102 TASKPAGE_SCHEDULE = 1,
103 TASKPAGE_SETTINGS = 2
104 } TASKPAGE;
105
106 HRESULT GetPage(
107 [in] TASKPAGE tpType,
108 [in] BOOL fPersistChanges,
109 [out] HPROPSHEETPAGE *phPage);
110}
111
112[
113 local,
114 object,
115 uuid(148BD52B-A2AB-11CE-B11F-00AA00530503),
116 pointer_default(unique)
117]
118interface ITaskTrigger : IUnknown
119{
120 typedef enum _TASK_TRIGGER_TYPE {
121 TASK_TIME_TRIGGER_ONCE = 0,
122 TASK_TIME_TRIGGER_DAILY = 1,
123 TASK_TIME_TRIGGER_WEEKLY = 2,
124 TASK_TIME_TRIGGER_MONTHLYDATE = 3,
125 TASK_TIME_TRIGGER_MONTHLYDOW = 4,
126 TASK_EVENT_TRIGGER_ON_IDLE = 5,
127 TASK_EVENT_TRIGGER_AT_SYSTEMSTART = 6,
128 TASK_EVENT_TRIGGER_AT_LOGON = 7
129 } TASK_TRIGGER_TYPE, *PTASK_TRIGGER_TYPE;
130
131 typedef struct _DAILY {
132 WORD DaysInterval;
133 } DAILY;
134
135 typedef struct _WEEKLY {
136 WORD WeeksInterval;
137 WORD rgfDaysOfTheWeek;
138 } WEEKLY;
139
140 typedef struct _MONTHLYDATE {
141 DWORD rgfDays;
142 WORD rgfMonths;
143 } MONTHLYDATE;
144
145 typedef struct _MONTHLYDOW {
146 WORD wWhichWeek;
147 WORD rgfDaysOfTheWeek;
148 WORD rgfMonths;
149 } MONTHLYDOW;
150
151 typedef union _TRIGGER_TYPE_UNION {
152 DAILY Daily;
153 WEEKLY Weekly;
154 MONTHLYDATE MonthlyDate;
155 MONTHLYDOW MonthlyDOW;
156 } TRIGGER_TYPE_UNION;
157
158 typedef struct _TASK_TRIGGER {
159 WORD cbTriggerSize;
160 WORD Reserved1;
161 WORD wBeginYear;
162 WORD wBeginMonth;
163 WORD wBeginDay;
164 WORD wEndYear;
165 WORD wEndMonth;
166 WORD wEndDay;
167 WORD wStartHour;
168 WORD wStartMinute;
169 DWORD MinutesDuration;
170 DWORD MinutesInterval;
171 DWORD rgFlags;
172 TASK_TRIGGER_TYPE TriggerType;
173 TRIGGER_TYPE_UNION Type;
174 WORD Reserved2;
175 WORD wRandomMinutesInterval;
176 } TASK_TRIGGER, *PTASK_TRIGGER;
177
178 HRESULT SetTrigger(
179 [in] const PTASK_TRIGGER pTrigger);
180
181 HRESULT GetTrigger(
182 [out] PTASK_TRIGGER pTrigger);
183
184 HRESULT GetTriggerString(
185 [out] LPWSTR *ppwszTrigger);
186}
187
188[
189 local,
190 object,
191 uuid(a6b952f0-a4b1-11d0-997d-00aa006887ec),
192 pointer_default(unique)
193]
194interface IScheduledWorkItem : IUnknown
195{
196 HRESULT CreateTrigger(
197 [out] WORD *piNewTrigger,
198 [out] ITaskTrigger **ppTrigger);
199
200 HRESULT DeleteTrigger(
201 [in] WORD iTrigger);
202
203 HRESULT GetTriggerCount(
204 [out] WORD *plCount);
205
206 HRESULT GetTrigger(
207 [in] WORD iTrigger,
208 [out] ITaskTrigger **ppTrigger);
209
210 HRESULT GetTriggerString(
211 [in] WORD iTrigger,
212 [out] LPWSTR *ppwszTrigger);
213
214 HRESULT GetRunTimes(
215 [in] const LPSYSTEMTIME pstBegin,
216 [in] const LPSYSTEMTIME pstEnd,
217 [in, out] WORD *pCount,
218 [out] LPSYSTEMTIME *rgstTaskTimes);
219
220 HRESULT GetNextRunTime(
221 [out] SYSTEMTIME *pstNextRun);
222
223 HRESULT SetIdleWait(
224 [in] WORD wIdleMinutes,
225 [in] WORD wDeadlineMinutes);
226
227 HRESULT GetIdleWait(
228 [out] WORD *pwIdleMinutes,
229 [out] WORD *pwDeadlineMinutes);
230
231 HRESULT Run();
232
233 HRESULT Terminate();
234
235 HRESULT EditWorkItem(
236 [in] HWND hParent,
237 [in] DWORD dwReserved);
238
239 HRESULT GetMostRecentRunTime(
240 [out] SYSTEMTIME *pstLastRun);
241
242 HRESULT GetStatus(
243 [out] HRESULT *phrStatus);
244
245 HRESULT GetExitCode(
246 [out] DWORD *pdwExitCode);
247
248 HRESULT SetComment(
249 [in] LPCWSTR pwszComment);
250
251 HRESULT GetComment(
252 [out] LPWSTR *ppwszComment);
253
254 HRESULT SetCreator(
255 LPCWSTR pwszCreator);
256
257 HRESULT GetCreator(
258 [out] LPWSTR *ppwszCreator);
259
260 HRESULT SetWorkItemData(
261 [in] WORD cBytes,
262 [in] BYTE rgbData[]);
263
264 HRESULT GetWorkItemData(
265 [out] WORD *pcBytes,
266 [out] BYTE **ppBytes);
267
268 HRESULT SetErrorRetryCount(
269 WORD wRetryCount);
270
271 HRESULT GetErrorRetryCount(
272 [out] WORD *pwRetryCount);
273
274 HRESULT SetErrorRetryInterval(
275 WORD wRetryInterval);
276
277 HRESULT GetErrorRetryInterval(
278 [out] WORD *pwRetryInterval);
279
280 HRESULT SetFlags(
281 DWORD dwFlags);
282
283 HRESULT GetFlags(
284 [out] DWORD *pdwFlags);
285
286 HRESULT SetAccountInformation(
287 [in] LPCWSTR pwszAccountName,
288 [in] LPCWSTR pwszPassword);
289
290 HRESULT GetAccountInformation(
291 [out] LPWSTR *ppwszAccountName);
292}
293
294[
295 local,
296 object,
297 uuid(148BD524-A2AB-11CE-B11F-00AA00530503),
298 pointer_default(unique)
299]
300interface ITask : IScheduledWorkItem
301{
302 HRESULT SetApplicationName(
303 [in] LPCWSTR pwszApplicationName);
304
305 HRESULT GetApplicationName(
306 [out] LPWSTR *ppwszApplicationName);
307
308 HRESULT SetParameters(
309 [in] LPCWSTR pwszParameters);
310
311 HRESULT GetParameters(
312 [out] LPWSTR *ppwszParameters);
313
314 HRESULT SetWorkingDirectory(
315 [in] LPCWSTR pwszWorkingDirectory);
316
317 HRESULT GetWorkingDirectory(
318 [in] LPWSTR *ppwszWorkingDirectory);
319
320 HRESULT SetPriority(
321 [in] DWORD dwPriority);
322
323 HRESULT GetPriority(
324 [out] DWORD *pdwPriority);
325
326 HRESULT SetTaskFlags(
327 [in] DWORD dwFlags);
328
329 HRESULT GetTaskFlags(
330 [out] DWORD *pdwFlags);
331
332 HRESULT SetMaxRunTime(
333 [in] DWORD dwMaxRunTime);
334
335 HRESULT GetMaxRunTime(
336 [out] DWORD *pdwMaxRunTime);
337}
338
339[
340 local,
341 object,
342 uuid(148BD527-A2AB-11CE-B11F-00AA00530503),
343 pointer_default(unique)
344]
345interface ITaskScheduler : IUnknown
346{
347 HRESULT SetTargetComputer(
348 [in] LPCWSTR pwszComputer);
349
350 HRESULT GetTargetComputer(
351 [out] LPWSTR *ppwszComputer);
352
353 HRESULT Enum(
354 [out] IEnumWorkItems **ppEnumTasks);
355
356 HRESULT Activate(
357 [in] LPCWSTR pwszName,
358 [in] REFIID riid,
359 [out] IUnknown **ppunk);
360
361 HRESULT Delete(
362 [in] LPCWSTR pwszName);
363
364 HRESULT NewWorkItem(
365 [in] LPCWSTR pwszTaskName,
366 [in] REFCLSID rclsid,
367 [in] REFIID riid,
368 [out] IUnknown **ppunk);
369
370 HRESULT AddWorkItem(
371 [in] LPCWSTR pwszTaskName,
372 [in] IScheduledWorkItem *pWorkItem);
373
374 HRESULT IsOfType(
375 [in] LPCWSTR pwszName,
376 [in] REFIID riid);
377}
378
379[
380 uuid(148BD52A-A2AB-11CE-B11F-00AA00530503)
381]
382coclass CTaskScheduler
383{
384 [default] interface ITaskScheduler;
385};
386
387
388[
389 uuid(148BD520-A2AB-11CE-B11F-00AA00530503)
390]
391coclass CTask
392{
393 [default] interface ITask;
394};
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette