ReactOS  0.4.15-dev-1187-g119f102
task_scheduler.c File Reference
#include "corerror.h"
#include "mstask_private.h"
#include "wine/debug.h"
Include dependency graph for task_scheduler.c:

Go to the source code of this file.

Classes

struct  TaskSchedulerImpl
 
struct  EnumWorkItemsImpl
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (mstask)
 
static TaskSchedulerImplimpl_from_ITaskScheduler (ITaskScheduler *iface)
 
static EnumWorkItemsImplimpl_from_IEnumWorkItems (IEnumWorkItems *iface)
 
static void TaskSchedulerDestructor (TaskSchedulerImpl *This)
 
static HRESULT WINAPI EnumWorkItems_QueryInterface (IEnumWorkItems *iface, REFIID riid, void **obj)
 
static ULONG WINAPI EnumWorkItems_AddRef (IEnumWorkItems *iface)
 
static ULONG WINAPI EnumWorkItems_Release (IEnumWorkItems *iface)
 
static HRESULT WINAPI EnumWorkItems_Next (IEnumWorkItems *iface, ULONG count, LPWSTR **names, ULONG *fetched)
 
static HRESULT WINAPI EnumWorkItems_Skip (IEnumWorkItems *iface, ULONG count)
 
static HRESULT WINAPI EnumWorkItems_Reset (IEnumWorkItems *iface)
 
static HRESULT WINAPI EnumWorkItems_Clone (IEnumWorkItems *iface, IEnumWorkItems **cloned)
 
static HRESULT create_task_enum (IEnumWorkItems **ret)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_QueryInterface (ITaskScheduler *iface, REFIID riid, void **ppvObject)
 
static ULONG WINAPI MSTASK_ITaskScheduler_AddRef (ITaskScheduler *iface)
 
static ULONG WINAPI MSTASK_ITaskScheduler_Release (ITaskScheduler *iface)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_SetTargetComputer (ITaskScheduler *iface, LPCWSTR pwszComputer)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_GetTargetComputer (ITaskScheduler *iface, LPWSTR *ppwszComputer)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_Enum (ITaskScheduler *iface, IEnumWorkItems **tasks)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_Activate (ITaskScheduler *iface, LPCWSTR pwszName, REFIID riid, IUnknown **ppunk)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_Delete (ITaskScheduler *iface, LPCWSTR pwszName)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_NewWorkItem (ITaskScheduler *iface, LPCWSTR pwszTaskName, REFCLSID rclsid, REFIID riid, IUnknown **ppunk)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_AddWorkItem (ITaskScheduler *iface, LPCWSTR pwszTaskName, IScheduledWorkItem *pWorkItem)
 
static HRESULT WINAPI MSTASK_ITaskScheduler_IsOfType (ITaskScheduler *iface, LPCWSTR pwszName, REFIID riid)
 
HRESULT TaskSchedulerConstructor (LPVOID *ppObj)
 

Variables

static const IEnumWorkItemsVtbl EnumWorkItemsVtbl
 
static const ITaskSchedulerVtbl MSTASK_ITaskSchedulerVtbl
 

Function Documentation

◆ create_task_enum()

static HRESULT create_task_enum ( IEnumWorkItems **  ret)
static

Definition at line 133 of file task_scheduler.c.

134 {
135  EnumWorkItemsImpl *tasks;
136 
137  *ret = NULL;
138 
139  tasks = HeapAlloc(GetProcessHeap(), 0, sizeof(*tasks));
140  if (!tasks)
141  return E_OUTOFMEMORY;
142 
143  tasks->IEnumWorkItems_iface.lpVtbl = &EnumWorkItemsVtbl;
144  tasks->ref = 1;
145 
146  *ret = &tasks->IEnumWorkItems_iface;
148  return S_OK;
149 }
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
smooth NULL
Definition: ftsmooth.c:416
#define GetProcessHeap()
Definition: compat.h:484
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const IEnumWorkItemsVtbl EnumWorkItemsVtbl
LONG dll_ref
Definition: mstask_main.c:31
IEnumWorkItems IEnumWorkItems_iface
int ret
#define S_OK
Definition: intsafe.h:51
#define InterlockedIncrement
Definition: armddk.h:53

Referenced by MSTASK_ITaskScheduler_Enum().

◆ EnumWorkItems_AddRef()

static ULONG WINAPI EnumWorkItems_AddRef ( IEnumWorkItems iface)
static

Definition at line 71 of file task_scheduler.c.

72 {
75  TRACE("(%p)->(%u)\n", This, ref);
76  return ref;
77 }
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
Definition: send.c:48
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ EnumWorkItems_Clone()

static HRESULT WINAPI EnumWorkItems_Clone ( IEnumWorkItems iface,
IEnumWorkItems **  cloned 
)
static

Definition at line 116 of file task_scheduler.c.

117 {
119  FIXME("(%p)->(%p): stub\n", This, cloned);
120  return E_NOTIMPL;
121 }
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumWorkItems_Next()

static HRESULT WINAPI EnumWorkItems_Next ( IEnumWorkItems iface,
ULONG  count,
LPWSTR **  names,
ULONG fetched 
)
static

Definition at line 95 of file task_scheduler.c.

96 {
98  FIXME("(%p)->(%u %p %p): stub\n", This, count, names, fetched);
99  return E_NOTIMPL;
100 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
GLuint GLuint * names
Definition: glext.h:11545
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumWorkItems_QueryInterface()

static HRESULT WINAPI EnumWorkItems_QueryInterface ( IEnumWorkItems iface,
REFIID  riid,
void **  obj 
)
static

Definition at line 54 of file task_scheduler.c.

55 {
57 
58  TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), obj);
59 
60  if (IsEqualGUID(riid, &IID_IEnumWorkItems) || IsEqualGUID(riid, &IID_IUnknown))
61  {
62  *obj = &This->IEnumWorkItems_iface;
63  IEnumWorkItems_AddRef(iface);
64  return S_OK;
65  }
66 
67  *obj = NULL;
68  return E_NOINTERFACE;
69 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ EnumWorkItems_Release()

static ULONG WINAPI EnumWorkItems_Release ( IEnumWorkItems iface)
static

Definition at line 79 of file task_scheduler.c.

80 {
83 
84  TRACE("(%p)->(%u)\n", This, ref);
85 
86  if (ref == 0)
87  {
90  }
91 
92  return ref;
93 }
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
Definition: send.c:48
GLenum GLint ref
Definition: glext.h:6028
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:484
LONG dll_ref
Definition: mstask_main.c:31
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1
#define HeapFree(x, y, z)
Definition: compat.h:483

◆ EnumWorkItems_Reset()

static HRESULT WINAPI EnumWorkItems_Reset ( IEnumWorkItems iface)
static

Definition at line 109 of file task_scheduler.c.

110 {
112  FIXME("(%p): stub\n", This);
113  return E_NOTIMPL;
114 }
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ EnumWorkItems_Skip()

static HRESULT WINAPI EnumWorkItems_Skip ( IEnumWorkItems iface,
ULONG  count 
)
static

Definition at line 102 of file task_scheduler.c.

103 {
105  FIXME("(%p)->(%u): stub\n", This, count);
106  return E_NOTIMPL;
107 }
GLuint GLuint GLsizei count
Definition: gl.h:1545
static EnumWorkItemsImpl * impl_from_IEnumWorkItems(IEnumWorkItems *iface)
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ impl_from_IEnumWorkItems()

static EnumWorkItemsImpl* impl_from_IEnumWorkItems ( IEnumWorkItems iface)
inlinestatic

Definition at line 42 of file task_scheduler.c.

43 {
44  return CONTAINING_RECORD(iface, EnumWorkItemsImpl, IEnumWorkItems_iface);
45 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by EnumWorkItems_AddRef(), EnumWorkItems_Clone(), EnumWorkItems_Next(), EnumWorkItems_QueryInterface(), EnumWorkItems_Release(), EnumWorkItems_Reset(), and EnumWorkItems_Skip().

◆ impl_from_ITaskScheduler()

static TaskSchedulerImpl* impl_from_ITaskScheduler ( ITaskScheduler iface)
inlinestatic

Definition at line 37 of file task_scheduler.c.

38 {
39  return CONTAINING_RECORD(iface, TaskSchedulerImpl, ITaskScheduler_iface);
40 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by MSTASK_ITaskScheduler_AddRef(), MSTASK_ITaskScheduler_Enum(), MSTASK_ITaskScheduler_GetTargetComputer(), MSTASK_ITaskScheduler_QueryInterface(), MSTASK_ITaskScheduler_Release(), and MSTASK_ITaskScheduler_SetTargetComputer().

◆ MSTASK_ITaskScheduler_Activate()

static HRESULT WINAPI MSTASK_ITaskScheduler_Activate ( ITaskScheduler iface,
LPCWSTR  pwszName,
REFIID  riid,
IUnknown **  ppunk 
)
static

Definition at line 263 of file task_scheduler.c.

268 {
269  TRACE("%p, %s, %s, %p: stub\n", iface, debugstr_w(pwszName),
270  debugstr_guid(riid), ppunk);
271  FIXME("Partial stub always returning COR_E_FILENOTFOUND\n");
272  return COR_E_FILENOTFOUND;
273 }
#define COR_E_FILENOTFOUND
Definition: corerror.h:42
REFIID riid
Definition: precomp.h:44
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4

◆ MSTASK_ITaskScheduler_AddRef()

static ULONG WINAPI MSTASK_ITaskScheduler_AddRef ( ITaskScheduler iface)
static

Definition at line 172 of file task_scheduler.c.

174 {
176  TRACE("\n");
177  return InterlockedIncrement(&This->ref);
178 }
#define TRACE(s)
Definition: solgame.cpp:4
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)
#define InterlockedIncrement
Definition: armddk.h:53

◆ MSTASK_ITaskScheduler_AddWorkItem()

static HRESULT WINAPI MSTASK_ITaskScheduler_AddWorkItem ( ITaskScheduler iface,
LPCWSTR  pwszTaskName,
IScheduledWorkItem pWorkItem 
)
static

Definition at line 304 of file task_scheduler.c.

308 {
309  FIXME("%p, %s, %p: stub\n", iface, debugstr_w(pwszTaskName), pWorkItem);
310  return E_NOTIMPL;
311 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ MSTASK_ITaskScheduler_Delete()

static HRESULT WINAPI MSTASK_ITaskScheduler_Delete ( ITaskScheduler iface,
LPCWSTR  pwszName 
)
static

Definition at line 275 of file task_scheduler.c.

278 {
279  FIXME("%p, %s: stub\n", iface, debugstr_w(pwszName));
280  return E_NOTIMPL;
281 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ MSTASK_ITaskScheduler_Enum()

static HRESULT WINAPI MSTASK_ITaskScheduler_Enum ( ITaskScheduler iface,
IEnumWorkItems **  tasks 
)
static

Definition at line 249 of file task_scheduler.c.

252 {
254 
255  TRACE("(%p)->(%p)\n", This, tasks);
256 
257  if (!tasks)
258  return E_INVALIDARG;
259 
260  return create_task_enum(tasks);
261 }
#define E_INVALIDARG
Definition: ddrawi.h:101
#define TRACE(s)
Definition: solgame.cpp:4
static HRESULT create_task_enum(IEnumWorkItems **ret)
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)

◆ MSTASK_ITaskScheduler_GetTargetComputer()

static HRESULT WINAPI MSTASK_ITaskScheduler_GetTargetComputer ( ITaskScheduler iface,
LPWSTR ppwszComputer 
)
static

Definition at line 219 of file task_scheduler.c.

222 {
224  LPWSTR buffer;
225  DWORD len = MAX_COMPUTERNAME_LENGTH + 1; /* extra space for the zero */
226 
227  TRACE("(%p)->(%p)\n", This, ppwszComputer);
228 
229  if (!ppwszComputer)
230  return E_INVALIDARG;
231 
232  /* extra space for two '\' and a zero */
234  if (buffer)
235  {
236  buffer[0] = '\\';
237  buffer[1] = '\\';
238  if (GetComputerNameW(buffer + 2, &len))
239  {
240  *ppwszComputer = buffer;
241  return S_OK;
242  }
244  }
245  *ppwszComputer = NULL;
247 }
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1044
GLuint buffer
Definition: glext.h:5915
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:446
#define E_INVALIDARG
Definition: ddrawi.h:101
smooth NULL
Definition: ftsmooth.c:416
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)
GLenum GLsizei len
Definition: glext.h:6722
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
#define S_OK
Definition: intsafe.h:51
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426

◆ MSTASK_ITaskScheduler_IsOfType()

static HRESULT WINAPI MSTASK_ITaskScheduler_IsOfType ( ITaskScheduler iface,
LPCWSTR  pwszName,
REFIID  riid 
)
static

Definition at line 313 of file task_scheduler.c.

317 {
318  FIXME("%p, %s, %s: stub\n", iface, debugstr_w(pwszName),
320  return E_NOTIMPL;
321 }
REFIID riid
Definition: precomp.h:44
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ MSTASK_ITaskScheduler_NewWorkItem()

static HRESULT WINAPI MSTASK_ITaskScheduler_NewWorkItem ( ITaskScheduler iface,
LPCWSTR  pwszTaskName,
REFCLSID  rclsid,
REFIID  riid,
IUnknown **  ppunk 
)
static

Definition at line 283 of file task_scheduler.c.

289 {
290  HRESULT hr;
291  TRACE("(%p, %s, %s, %s, %p)\n", iface, debugstr_w(pwszTaskName),
292  debugstr_guid(rclsid) ,debugstr_guid(riid), ppunk);
293 
294  if (!IsEqualGUID(rclsid, &CLSID_CTask))
296 
297  if (!IsEqualGUID(riid, &IID_ITask))
298  return E_NOINTERFACE;
299 
300  hr = TaskConstructor(pwszTaskName, (LPVOID *)ppunk);
301  return hr;
302 }
#define E_NOINTERFACE
Definition: winerror.h:2364
HRESULT hr
Definition: shlfolder.c:183
REFIID riid
Definition: precomp.h:44
#define CLASS_E_CLASSNOTAVAILABLE
Definition: winerror.h:2663
#define debugstr_w
Definition: kernel32.h:32
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
LONG HRESULT
Definition: typedefs.h:79
HRESULT TaskConstructor(LPCWSTR pwszTaskName, LPVOID *ppObj) DECLSPEC_HIDDEN
Definition: task.c:756
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ MSTASK_ITaskScheduler_QueryInterface()

static HRESULT WINAPI MSTASK_ITaskScheduler_QueryInterface ( ITaskScheduler iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 151 of file task_scheduler.c.

155 {
157 
158  TRACE("IID: %s\n", debugstr_guid(riid));
159 
160  if (IsEqualGUID(riid, &IID_IUnknown) ||
161  IsEqualGUID(riid, &IID_ITaskScheduler))
162  {
163  *ppvObject = &This->ITaskScheduler_iface;
164  ITaskScheduler_AddRef(iface);
165  return S_OK;
166  }
167 
168  *ppvObject = NULL;
169  return E_NOINTERFACE;
170 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
smooth NULL
Definition: ftsmooth.c:416
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)
REFIID LPVOID * ppvObject
Definition: precomp.h:44
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ MSTASK_ITaskScheduler_Release()

static ULONG WINAPI MSTASK_ITaskScheduler_Release ( ITaskScheduler iface)
static

Definition at line 180 of file task_scheduler.c.

182 {
184  ULONG ref;
185  TRACE("\n");
186  ref = InterlockedDecrement(&This->ref);
187  if (ref == 0)
189  return ref;
190 }
Definition: send.c:48
GLenum GLint ref
Definition: glext.h:6028
static void TaskSchedulerDestructor(TaskSchedulerImpl *This)
#define TRACE(s)
Definition: solgame.cpp:4
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1

◆ MSTASK_ITaskScheduler_SetTargetComputer()

static HRESULT WINAPI MSTASK_ITaskScheduler_SetTargetComputer ( ITaskScheduler iface,
LPCWSTR  pwszComputer 
)
static

Definition at line 192 of file task_scheduler.c.

195 {
197  WCHAR buffer[MAX_COMPUTERNAME_LENGTH + 3]; /* extra space for two '\' and a zero */
198  DWORD len = MAX_COMPUTERNAME_LENGTH + 1; /* extra space for a zero */
199 
200  TRACE("(%p)->(%s)\n", This, debugstr_w(pwszComputer));
201 
202  /* NULL is an alias for the local computer */
203  if (!pwszComputer)
204  return S_OK;
205 
206  buffer[0] = '\\';
207  buffer[1] = '\\';
208  if (GetComputerNameW(buffer + 2, &len))
209  {
210  if (!lstrcmpiW(buffer, pwszComputer) || /* full unc name */
211  !lstrcmpiW(buffer + 2, pwszComputer)) /* name without backslash */
212  return S_OK;
213  }
214 
215  FIXME("remote computer %s not supported\n", debugstr_w(pwszComputer));
217 }
#define HRESULT_FROM_WIN32(x)
Definition: winerror.h:92
GLuint buffer
Definition: glext.h:5915
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:446
#define ERROR_BAD_NETPATH
Definition: winerror.h:145
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
Definition: lstring.c:194
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define TRACE(s)
Definition: solgame.cpp:4
__wchar_t WCHAR
Definition: xmlstorage.h:180
unsigned long DWORD
Definition: ntddk_ex.h:95
static TaskSchedulerImpl * impl_from_ITaskScheduler(ITaskScheduler *iface)
GLenum GLsizei len
Definition: glext.h:6722
#define MAX_COMPUTERNAME_LENGTH
Definition: winbase.h:240
#define S_OK
Definition: intsafe.h:51

◆ TaskSchedulerConstructor()

HRESULT TaskSchedulerConstructor ( LPVOID ppObj)

Definition at line 338 of file task_scheduler.c.

339 {
341  TRACE("(%p)\n", ppObj);
342 
343  This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
344  if (!This)
345  return E_OUTOFMEMORY;
346 
347  This->ITaskScheduler_iface.lpVtbl = &MSTASK_ITaskSchedulerVtbl;
348  This->ref = 1;
349 
350  *ppObj = &This->ITaskScheduler_iface;
352  return S_OK;
353 }
static const ITaskSchedulerVtbl MSTASK_ITaskSchedulerVtbl
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:484
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
LONG dll_ref
Definition: mstask_main.c:31
#define S_OK
Definition: intsafe.h:51
#define InterlockedIncrement
Definition: armddk.h:53

Referenced by MSTASK_IClassFactory_CreateInstance().

◆ TaskSchedulerDestructor()

static void TaskSchedulerDestructor ( TaskSchedulerImpl This)
static

Definition at line 47 of file task_scheduler.c.

48 {
49  TRACE("%p\n", This);
52 }
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:484
LONG dll_ref
Definition: mstask_main.c:31
#define InterlockedDecrement
Definition: armddk.h:52
#define HeapFree(x, y, z)
Definition: compat.h:483

Referenced by MSTASK_ITaskScheduler_Release().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( mstask  )

Variable Documentation

◆ EnumWorkItemsVtbl

const IEnumWorkItemsVtbl EnumWorkItemsVtbl
static
Initial value:
= {
}
static ULONG WINAPI EnumWorkItems_AddRef(IEnumWorkItems *iface)
static HRESULT WINAPI EnumWorkItems_Next(IEnumWorkItems *iface, ULONG count, LPWSTR **names, ULONG *fetched)
static HRESULT WINAPI EnumWorkItems_Clone(IEnumWorkItems *iface, IEnumWorkItems **cloned)
static ULONG WINAPI EnumWorkItems_Release(IEnumWorkItems *iface)
static HRESULT WINAPI EnumWorkItems_Reset(IEnumWorkItems *iface)
static HRESULT WINAPI EnumWorkItems_Skip(IEnumWorkItems *iface, ULONG count)
static HRESULT WINAPI EnumWorkItems_QueryInterface(IEnumWorkItems *iface, REFIID riid, void **obj)

Definition at line 123 of file task_scheduler.c.

Referenced by create_task_enum().

◆ MSTASK_ITaskSchedulerVtbl

const ITaskSchedulerVtbl MSTASK_ITaskSchedulerVtbl
static
Initial value:
=
{
}
static HRESULT WINAPI MSTASK_ITaskScheduler_Enum(ITaskScheduler *iface, IEnumWorkItems **tasks)
static HRESULT WINAPI MSTASK_ITaskScheduler_Delete(ITaskScheduler *iface, LPCWSTR pwszName)
static HRESULT WINAPI MSTASK_ITaskScheduler_AddWorkItem(ITaskScheduler *iface, LPCWSTR pwszTaskName, IScheduledWorkItem *pWorkItem)
static HRESULT WINAPI MSTASK_ITaskScheduler_IsOfType(ITaskScheduler *iface, LPCWSTR pwszName, REFIID riid)
static HRESULT WINAPI MSTASK_ITaskScheduler_QueryInterface(ITaskScheduler *iface, REFIID riid, void **ppvObject)
static HRESULT WINAPI MSTASK_ITaskScheduler_Activate(ITaskScheduler *iface, LPCWSTR pwszName, REFIID riid, IUnknown **ppunk)
static HRESULT WINAPI MSTASK_ITaskScheduler_NewWorkItem(ITaskScheduler *iface, LPCWSTR pwszTaskName, REFCLSID rclsid, REFIID riid, IUnknown **ppunk)
static HRESULT WINAPI MSTASK_ITaskScheduler_SetTargetComputer(ITaskScheduler *iface, LPCWSTR pwszComputer)
static HRESULT WINAPI MSTASK_ITaskScheduler_GetTargetComputer(ITaskScheduler *iface, LPWSTR *ppwszComputer)
static ULONG WINAPI MSTASK_ITaskScheduler_AddRef(ITaskScheduler *iface)
static ULONG WINAPI MSTASK_ITaskScheduler_Release(ITaskScheduler *iface)

Definition at line 323 of file task_scheduler.c.

Referenced by TaskSchedulerConstructor().