Module: wine Branch: master Commit: c940a3e97e930e089ab3d168ddbef1da196d689c URL: http://source.winehq.org/git/wine.git/?a=commit;h=c940a3e97e930e089ab3d168dd...
Author: Dmitry Timoshkov dmitry@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) {