[PATCH 6/9] mstask: Implement ITask::GetPriority().

Dmitry Timoshkov dmitry at baikal.ru
Fri Apr 20 03:37:21 CDT 2018


Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
---
 dlls/mstask/task.c       | 15 +++++++++------
 dlls/mstask/tests/task.c | 10 +++++++++-
 2 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/dlls/mstask/task.c b/dlls/mstask/task.c
index c2cd14ee10..27f476699b 100644
--- a/dlls/mstask/task.c
+++ b/dlls/mstask/task.c
@@ -41,7 +41,7 @@ typedef struct
     LPWSTR task_name;
     HRESULT status;
     WORD idle_minutes, deadline_minutes;
-    DWORD maxRunTime;
+    DWORD priority, maxRunTime;
     LPWSTR accountName;
 } TaskImpl;
 
@@ -626,12 +626,14 @@ static HRESULT WINAPI MSTASK_ITask_SetPriority(
     return E_NOTIMPL;
 }
 
-static HRESULT WINAPI MSTASK_ITask_GetPriority(
-        ITask* iface,
-        DWORD *pdwPriority)
+static HRESULT WINAPI MSTASK_ITask_GetPriority(ITask *iface, DWORD *priority)
 {
-    FIXME("(%p, %p): stub\n", iface, pdwPriority);
-    return E_NOTIMPL;
+    TaskImpl *This = impl_from_ITask(iface);
+
+    TRACE("(%p, %p)\n", iface, priority);
+
+    *priority = This->priority;
+    return S_OK;
 }
 
 static HRESULT WINAPI MSTASK_ITask_SetTaskFlags(
@@ -845,6 +847,7 @@ HRESULT TaskConstructor(ITaskService *service, const WCHAR *task_name, ITask **t
     This->status = SCHED_S_TASK_NOT_SCHEDULED;
     This->idle_minutes = 10;
     This->deadline_minutes = 60;
+    This->priority = NORMAL_PRIORITY_CLASS;
     This->accountName = NULL;
 
     /* Default time is 3 days = 259200000 ms */
diff --git a/dlls/mstask/tests/task.c b/dlls/mstask/tests/task.c
index 55e491366f..5952b53692 100644
--- a/dlls/mstask/tests/task.c
+++ b/dlls/mstask/tests/task.c
@@ -501,7 +501,7 @@ static void test_task_state(void)
 {
     BOOL setup;
     HRESULT hr, status;
-    DWORD flags;
+    DWORD flags, val;
     WORD val1, val2;
 
     setup = setup_task();
@@ -557,6 +557,14 @@ static void test_task_state(void)
     ok(val1 == 10, "got %u\n", val1);
     ok(val2 == 60, "got %u\n", val2);
 
+    if (0) /* crashes under Windows */
+        hr = ITask_GetPriority(test_task, NULL);
+
+    val = 0xdeadbeef;
+    hr = ITask_GetPriority(test_task, &val);
+    ok(hr == S_OK, "got %#x\n", hr);
+    ok(val == NORMAL_PRIORITY_CLASS, "got %#x\n", val);
+
     cleanup_task();
 }
 
-- 
2.16.3




More information about the wine-devel mailing list