mstask: Implement ITask::GetIdleWait().

Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Dmitry Timoshkov 2018-04-20 16:37:18 +08:00 committed by Alexandre Julliard
parent 9d113d353b
commit d08a101a28
2 changed files with 22 additions and 7 deletions

View File

@ -40,6 +40,7 @@ typedef struct
IExecAction *action;
LPWSTR task_name;
HRESULT status;
WORD idle_minutes, deadline_minutes;
DWORD maxRunTime;
LPWSTR accountName;
} TaskImpl;
@ -190,13 +191,15 @@ static HRESULT WINAPI MSTASK_ITask_SetIdleWait(
return E_NOTIMPL;
}
static HRESULT WINAPI MSTASK_ITask_GetIdleWait(
ITask* iface,
WORD *pwIdleMinutes,
WORD *pwDeadlineMinutes)
static HRESULT WINAPI MSTASK_ITask_GetIdleWait(ITask *iface, WORD *idle_minutes, WORD *deadline_minutes)
{
FIXME("(%p, %p, %p): stub\n", iface, pwIdleMinutes, pwDeadlineMinutes);
return E_NOTIMPL;
TaskImpl *This = impl_from_ITask(iface);
TRACE("(%p, %p, %p): stub\n", iface, idle_minutes, deadline_minutes);
*idle_minutes = This->idle_minutes;
*deadline_minutes = This->deadline_minutes;
return S_OK;
}
static HRESULT WINAPI MSTASK_ITask_Run(
@ -840,6 +843,8 @@ HRESULT TaskConstructor(ITaskService *service, const WCHAR *task_name, ITask **t
This->task = taskdef;
This->task_name = heap_strdupW(task_name);
This->status = SCHED_S_TASK_NOT_SCHEDULED;
This->idle_minutes = 10;
This->deadline_minutes = 60;
This->accountName = NULL;
/* Default time is 3 days = 259200000 ms */

View File

@ -502,7 +502,7 @@ static void test_task_state(void)
BOOL setup;
HRESULT hr, status;
DWORD flags;
WORD val1;
WORD val1, val2;
setup = setup_task();
ok(setup, "Failed to setup test_task\n");
@ -547,6 +547,16 @@ static void test_task_state(void)
hr = ITask_GetErrorRetryInterval(test_task, &val1);
ok(hr == E_NOTIMPL, "got %#x\n", hr);
if (0) /* crashes under Windows */
hr = ITask_GetIdleWait(test_task, NULL, NULL);
val1 = 0xdead;
val2 = 0xbeef;
hr = ITask_GetIdleWait(test_task, &val1, &val2);
ok(hr == S_OK, "got %#x\n", hr);
ok(val1 == 10, "got %u\n", val1);
ok(val2 == 60, "got %u\n", val2);
cleanup_task();
}