Merge r55012 adding Wine3D control panel as per Amine's request.
[reactos.git] / dll / win32 / mstask / mstask_private.h
1 /*
2 * Copyright (C) 2008 Google (Roy Shea)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #ifndef __MSTASK_PRIVATE_H__
20 #define __MSTASK_PRIVATE_H__
21
22 #include <stdarg.h>
23
24 #define COBJMACROS
25
26 #include "windef.h"
27 #include "winbase.h"
28 #include "winuser.h"
29 #include "ole2.h"
30 #include "mstask.h"
31
32 extern LONG dll_ref;
33
34 typedef struct
35 {
36 const IClassFactoryVtbl *lpVtbl;
37 LONG ref;
38 } ClassFactoryImpl;
39 extern ClassFactoryImpl MSTASK_ClassFactory;
40
41 typedef struct
42 {
43 const ITaskTriggerVtbl *lpVtbl;
44 LONG ref;
45 TASK_TRIGGER triggerCond;
46 } TaskTriggerImpl;
47 extern HRESULT TaskTriggerConstructor(LPVOID *ppObj);
48
49 typedef struct
50 {
51 const ITaskSchedulerVtbl *lpVtbl;
52 LONG ref;
53 } TaskSchedulerImpl;
54 extern HRESULT TaskSchedulerConstructor(LPVOID *ppObj);
55
56 typedef struct
57 {
58 const ITaskVtbl *lpVtbl;
59 const IPersistFileVtbl *persistVtbl;
60 LONG ref;
61 LPWSTR taskName;
62 LPWSTR applicationName;
63 LPWSTR parameters;
64 LPWSTR comment;
65 DWORD maxRunTime;
66 LPWSTR accountName;
67 } TaskImpl;
68 extern HRESULT TaskConstructor(LPCWSTR pwszTaskName, LPVOID *ppObj);
69
70 #endif /* __MSTASK_PRIVATE_H__ */