[PATCH 3/3] rtworkq: Add deadline management stubs.

Nikolay Sivov nsivov at codeweavers.com
Thu Feb 6 01:06:06 CST 2020


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---
 dlls/rtworkq/queue.c      | 21 +++++++++++++++++++++
 dlls/rtworkq/rtworkq.spec |  6 +++---
 include/rtworkq.idl       |  3 +++
 3 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/dlls/rtworkq/queue.c b/dlls/rtworkq/queue.c
index 5e9ca51c60..a2fb3824c3 100644
--- a/dlls/rtworkq/queue.c
+++ b/dlls/rtworkq/queue.c
@@ -1099,3 +1099,24 @@ HRESULT WINAPI RtwqLockSharedWorkQueue(const WCHAR *usageclass, LONG priority, D
 
     return RtwqAllocateWorkQueue(RTWQ_STANDARD_WORKQUEUE, queue);
 }
+
+HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request)
+{
+    FIXME("%#x, %s, %p.\n", queue_id, wine_dbgstr_longlong(deadline), request);
+
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI RtwqSetDeadline2(DWORD queue_id, LONGLONG deadline, LONGLONG predeadline, HANDLE *request)
+{
+    FIXME("%#x, %s, %s, %p.\n", queue_id, wine_dbgstr_longlong(deadline), wine_dbgstr_longlong(predeadline), request);
+
+    return E_NOTIMPL;
+}
+
+HRESULT WINAPI RtwqCancelDeadline(HANDLE request)
+{
+    FIXME("%p.\n", request);
+
+    return E_NOTIMPL;
+}
diff --git a/dlls/rtworkq/rtworkq.spec b/dlls/rtworkq/rtworkq.spec
index c619b3a867..1a8909e098 100644
--- a/dlls/rtworkq/rtworkq.spec
+++ b/dlls/rtworkq/rtworkq.spec
@@ -3,7 +3,7 @@
 @ stdcall RtwqAllocateWorkQueue(long ptr)
 @ stub RtwqBeginRegisterWorkQueueWithMMCSS
 @ stub RtwqBeginUnregisterWorkQueueWithMMCSS
-@ stub RtwqCancelDeadline
+@ stdcall RtwqCancelDeadline(long)
 @ stub RtwqCancelMultipleWaitingWorkItem
 @ stdcall RtwqCancelWorkItem(int64)
 @ stdcall RtwqCreateAsyncResult(ptr ptr ptr ptr)
@@ -25,8 +25,8 @@
 @ stub RtwqRegisterPlatformWithMMCSS
 @ stdcall RtwqRemovePeriodicCallback(long)
 @ stdcall RtwqScheduleWorkItem(ptr int64 ptr)
-@ stub RtwqSetDeadline
-@ stub RtwqSetDeadline2
+@ stdcall RtwqSetDeadline(long int64 ptr)
+@ stdcall RtwqSetDeadline2(long int64 int64 ptr)
 @ stdcall RtwqSetLongRunning(long long)
 @ stdcall RtwqShutdown()
 @ stdcall RtwqStartup()
diff --git a/include/rtworkq.idl b/include/rtworkq.idl
index b27cce49fd..325bebfde5 100644
--- a/include/rtworkq.idl
+++ b/include/rtworkq.idl
@@ -79,6 +79,7 @@ cpp_quote("typedef void (WINAPI *RTWQPERIODICCALLBACK)(IUnknown *context);")
 
 cpp_quote("HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, IUnknown *context, DWORD *key);")
 cpp_quote("HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue);")
+cpp_quote("HRESULT WINAPI RtwqCancelDeadline(HANDLE request);")
 cpp_quote("HRESULT WINAPI RtwqCancelWorkItem(RTWQWORKITEM_KEY key);")
 cpp_quote("HRESULT WINAPI RtwqCreateAsyncResult(IUnknown *object, IRtwqAsyncCallback *callback, IUnknown *state, IRtwqAsyncResult **result);")
 cpp_quote("HRESULT WINAPI RtwqInvokeCallback(IRtwqAsyncResult *result);")
@@ -89,6 +90,8 @@ cpp_quote("HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IR
 cpp_quote("HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result);")
 cpp_quote("HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key);")
 cpp_quote("HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key);")
+cpp_quote("HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request);")
+cpp_quote("HRESULT WINAPI RtwqSetDeadline2(DWORD queue_id, LONGLONG deadline, LONGLONG predeadline, HANDLE *request);")
 cpp_quote("HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, BOOL enable);")
 cpp_quote("HRESULT WINAPI RtwqShutdown(void);")
 cpp_quote("HRESULT WINAPI RtwqStartup(void);")
-- 
2.24.1




More information about the wine-devel mailing list