Dmitry Timoshkov : schedsvc: Implement NetrJobDel.
Alexandre Julliard
julliard at winehq.org
Tue Apr 17 14:53:59 CDT 2018
Module: wine
Branch: master
Commit: 934a64919dfc936d694083fe7e6abc70a841d807
URL: https://source.winehq.org/git/wine.git/?a=commit;h=934a64919dfc936d694083fe7e6abc70a841d807
Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date: Tue Apr 17 15:12:15 2018 +0800
schedsvc: Implement NetrJobDel.
Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/schedsvc/atsvc.c | 31 +++++++++++++++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/dlls/schedsvc/atsvc.c b/dlls/schedsvc/atsvc.c
index 49b203b..c53e4cf 100644
--- a/dlls/schedsvc/atsvc.c
+++ b/dlls/schedsvc/atsvc.c
@@ -363,8 +363,35 @@ DWORD __cdecl NetrJobAdd(ATSVC_HANDLE server_name, AT_INFO *info, DWORD *jobid)
DWORD __cdecl NetrJobDel(ATSVC_HANDLE server_name, DWORD min_jobid, DWORD max_jobid)
{
- FIXME("%s,%u,%u: stub\n", debugstr_w(server_name), min_jobid, max_jobid);
- return ERROR_NOT_SUPPORTED;
+ DWORD jobid, ret = ERROR_FILE_NOT_FOUND;
+
+ TRACE("%s,%u,%u\n", debugstr_w(server_name), min_jobid, max_jobid);
+
+ EnterCriticalSection(&at_job_list_section);
+
+ for (jobid = min_jobid; jobid <= max_jobid; jobid++)
+ {
+ struct job_t *job = find_job(jobid, NULL);
+
+ if (!job)
+ {
+ TRACE("job %u not found\n", jobid);
+ ret = ERROR_FILE_NOT_FOUND;
+ break;
+ }
+
+ TRACE("deleting job %s\n", debugstr_w(job->name));
+ if (!DeleteFileW(job->name))
+ {
+ ret = GetLastError();
+ break;
+ }
+
+ ret = ERROR_SUCCESS;
+ }
+
+ LeaveCriticalSection(&at_job_list_section);
+ return ret;
}
static void free_container(AT_ENUM_CONTAINER *container)
More information about the wine-cvs
mailing list