Dmitry Timoshkov : taskschd: Implement ITaskService::get_TargetServer.

Alexandre Julliard julliard at winehq.org
Tue Jan 14 13:44:59 CST 2014


Module: wine
Branch: master
Commit: c940a3e97e930e089ab3d168ddbef1da196d689c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c940a3e97e930e089ab3d168ddbef1da196d689c

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Jan 14 17:18:11 2014 +0900

taskschd: Implement ITaskService::get_TargetServer.

---

 dlls/taskschd/Makefile.in       |    1 +
 dlls/taskschd/task.c            |   15 +++++++++++++--
 dlls/taskschd/tests/scheduler.c |    2 --
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/dlls/taskschd/Makefile.in b/dlls/taskschd/Makefile.in
index 2436289..2b49585 100644
--- a/dlls/taskschd/Makefile.in
+++ b/dlls/taskschd/Makefile.in
@@ -1,4 +1,5 @@
 MODULE    = taskschd.dll
+IMPORTS   = oleaut32
 
 C_SRCS = \
 	task.c \
diff --git a/dlls/taskschd/task.c b/dlls/taskschd/task.c
index fd64bf9..5ff3761 100644
--- a/dlls/taskschd/task.c
+++ b/dlls/taskschd/task.c
@@ -193,8 +193,19 @@ static HRESULT WINAPI TaskService_get_Connected(ITaskService *iface, VARIANT_BOO
 
 static HRESULT WINAPI TaskService_get_TargetServer(ITaskService *iface, BSTR *server)
 {
-    FIXME("%p,%p: stub\n", iface, server);
-    return E_NOTIMPL;
+    TaskService *task_svc = impl_from_ITaskService(iface);
+
+    TRACE("%p,%p\n", iface, server);
+
+    if (!server) return E_POINTER;
+
+    if (!task_svc->connected)
+        return HRESULT_FROM_WIN32(ERROR_ONLY_IF_CONNECTED);
+
+    *server = SysAllocString(task_svc->comp_name);
+    if (!*server) return E_OUTOFMEMORY;
+
+    return S_OK;
 }
 
 static HRESULT WINAPI TaskService_get_ConnectedUser(ITaskService *iface, BSTR *user)
diff --git a/dlls/taskschd/tests/scheduler.c b/dlls/taskschd/tests/scheduler.c
index bf84c0d..02382c5 100644
--- a/dlls/taskschd/tests/scheduler.c
+++ b/dlls/taskschd/tests/scheduler.c
@@ -52,7 +52,6 @@ static void test_Connect(void)
     ok(vbool == VARIANT_FALSE, "expected VARIANT_FALSE, got %d\n", vbool);
 
     hr = ITaskService_get_TargetServer(service, &bstr);
-todo_wine
     ok(hr == HRESULT_FROM_WIN32(ERROR_ONLY_IF_CONNECTED), "expected ERROR_ONLY_IF_CONNECTED, got %#x\n", hr);
 
     /* Win7 doesn't support UNC \\ prefix, but according to a user
@@ -89,7 +88,6 @@ todo_wine
     ok(vbool == VARIANT_TRUE, "expected VARIANT_TRUE, got %d\n", vbool);
 
     hr = ITaskService_get_TargetServer(service, &bstr);
-todo_wine
     ok(hr == S_OK, "get_TargetServer error %#x\n", hr);
     if (hr == S_OK)
     {




More information about the wine-cvs mailing list