Module: wine Branch: master Commit: 67100eb29c1e11bf3cdc20856bb8d2c55e384670 URL: http://source.winehq.org/git/wine.git/?a=commit;h=67100eb29c1e11bf3cdc20856b...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Wed Apr 9 18:50:53 2014 +0900
schedsvc: Add SchRpcGetTaskInfo stub implementation.
---
dlls/schedsvc/schedsvc.c | 16 +++++++++++++++- dlls/schedsvc/tests/rpcapi.c | 15 ++------------- 2 files changed, 17 insertions(+), 14 deletions(-)
diff --git a/dlls/schedsvc/schedsvc.c b/dlls/schedsvc/schedsvc.c index a0daab2..eb84998 100644 --- a/dlls/schedsvc/schedsvc.c +++ b/dlls/schedsvc/schedsvc.c @@ -664,8 +664,22 @@ HRESULT __cdecl SchRpcGetLastRunInfo(const WCHAR *path, SYSTEMTIME *last_runtime
HRESULT __cdecl SchRpcGetTaskInfo(const WCHAR *path, DWORD flags, DWORD *enabled, DWORD *task_state) { + WCHAR *full_name, *xml; + HRESULT hr; + FIXME("%s,%#x,%p,%p: stub\n", debugstr_w(path), flags, enabled, task_state); - return E_NOTIMPL; + + full_name = get_full_name(path, NULL); + if (!full_name) return E_OUTOFMEMORY; + + hr = read_xml(full_name, &xml); + heap_free(full_name); + if (hr != S_OK) return hr; + heap_free(xml); + + *enabled = 0; + *task_state = (flags & SCH_FLAG_STATE) ? TASK_STATE_DISABLED : TASK_STATE_UNKNOWN; + return S_OK; }
HRESULT __cdecl SchRpcGetNumberOfMissedRuns(const WCHAR *path, DWORD *runs) diff --git a/dlls/schedsvc/tests/rpcapi.c b/dlls/schedsvc/tests/rpcapi.c index 480aa83..02f6882 100644 --- a/dlls/schedsvc/tests/rpcapi.c +++ b/dlls/schedsvc/tests/rpcapi.c @@ -482,28 +482,19 @@ START_TEST(rpcapi) }
hr = SchRpcGetTaskInfo(Task1, 0, &enabled, &state); -todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "expected ERROR_FILE_NOT_FOUND, got %#x\n", hr);
enabled = state = 0xdeadbeef; hr = SchRpcGetTaskInfo(Wine_Task1, 0, &enabled, &state); -todo_wine ok(hr == S_OK, "expected S_OK, got %#x\n", hr); -if (hr == S_OK) -{ ok(enabled == 0, "expected 0, got %u\n", enabled); ok(state == TASK_STATE_UNKNOWN, "expected TASK_STATE_UNKNOWN, got %u\n", state); -}
enabled = state = 0xdeadbeef; hr = SchRpcGetTaskInfo(Wine_Task1, SCH_FLAG_STATE, &enabled, &state); -todo_wine ok(hr == S_OK, "expected S_OK, got %#x\n", hr); -if (hr == S_OK) -{ ok(enabled == 0, "expected 0, got %u\n", enabled); ok(state == TASK_STATE_DISABLED, "expected TASK_STATE_DISABLED, got %u\n", state); -}
hr = SchRpcEnableTask(Wine_Task1, 0xdeadbeef); todo_wine @@ -511,13 +502,11 @@ todo_wine
enabled = state = 0xdeadbeef; hr = SchRpcGetTaskInfo(Wine_Task1, SCH_FLAG_STATE, &enabled, &state); -todo_wine ok(hr == S_OK, "expected S_OK, got %#x\n", hr); -if (hr == S_OK) -{ +todo_wine ok(enabled == 1, "expected 1, got %u\n", enabled); +todo_wine ok(state == TASK_STATE_READY, "expected TASK_STATE_READY, got %u\n", state); -}
hr = SchRpcDelete(Wine_Task1+1, 0); ok(hr == S_OK, "expected S_OK, got %#x\n", hr);