Dmitry Timoshkov : taskschd: Implement ITaskFolder::DeleteTask.

Alexandre Julliard julliard at winehq.org
Tue Apr 8 14:02:50 CDT 2014


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Tue Apr  8 15:49:17 2014 +0900

taskschd: Implement ITaskFolder::DeleteTask.

---

 dlls/taskschd/folder.c |   19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/dlls/taskschd/folder.c b/dlls/taskschd/folder.c
index 14f1430..d9b201e 100644
--- a/dlls/taskschd/folder.c
+++ b/dlls/taskschd/folder.c
@@ -283,8 +283,23 @@ static HRESULT WINAPI TaskFolder_GetTasks(ITaskFolder *iface, LONG flags, IRegis
 
 static HRESULT WINAPI TaskFolder_DeleteTask(ITaskFolder *iface, BSTR name, LONG flags)
 {
-    FIXME("%p,%s,%x: stub\n", iface, debugstr_w(name), flags);
-    return E_NOTIMPL;
+    TaskFolder *folder = impl_from_ITaskFolder(iface);
+    WCHAR *folder_path;
+    HRESULT hr;
+
+    TRACE("%p,%s,%x\n", iface, debugstr_w(name), flags);
+
+    if (!name || !*name) return E_ACCESSDENIED;
+
+    if (flags)
+        FIXME("unsupported flags %x\n", flags);
+
+    folder_path = get_full_path(folder->path, name);
+    if (!folder_path) return E_OUTOFMEMORY;
+
+    hr = SchRpcDelete(folder_path, 0);
+    heap_free(folder_path);
+    return hr;
 }
 
 static HRESULT WINAPI TaskFolder_RegisterTask(ITaskFolder *iface, BSTR name, BSTR xml, LONG flags,




More information about the wine-cvs mailing list