From 1d7469d9a6e82e3a4c6a170e542f48fd4a342ef3 Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Mon, 5 Oct 2020 15:02:56 +0300 Subject: [PATCH] rtworkq: Add remaining queue management stubs. Signed-off-by: Nikolay Sivov Signed-off-by: Alexandre Julliard --- dlls/mfplat/mfplat.spec | 6 +++--- dlls/rtworkq/queue.c | 21 +++++++++++++++++++++ dlls/rtworkq/rtworkq.spec | 6 +++--- include/mfapi.h | 3 +++ include/rtworkq.idl | 2 ++ 5 files changed, 32 insertions(+), 6 deletions(-) diff --git a/dlls/mfplat/mfplat.spec b/dlls/mfplat/mfplat.spec index f55a8237d35..8f5e7db6aee 100644 --- a/dlls/mfplat/mfplat.spec +++ b/dlls/mfplat/mfplat.spec @@ -25,7 +25,7 @@ @ stub MFBeginGetHostByName @ stub MFBeginRegisterWorkQueueWithMMCSS @ stdcall MFBeginRegisterWorkQueueWithMMCSSEx(long wstr long long ptr ptr) rtworkq.RtwqBeginRegisterWorkQueueWithMMCSS -@ stub MFBeginUnregisterWorkQueueWithMMCSS +@ stdcall MFBeginUnregisterWorkQueueWithMMCSS(long ptr ptr) rtworkq.RtwqBeginUnregisterWorkQueueWithMMCSS @ stub MFBlockThread @ stub MFCalculateBitmapImageSize @ stdcall MFCalculateImageSize(ptr long long ptr) @@ -87,8 +87,8 @@ @ stub MFDeserializePresentationDescriptor @ stdcall MFEndCreateFile(ptr ptr) @ stub MFEndGetHostByName -@ stub MFEndRegisterWorkQueueWithMMCSS -@ stub MFEndUnregisterWorkQueueWithMMCSS +@ stdcall MFEndRegisterWorkQueueWithMMCSS(ptr ptr) rtworkq.RtwqEndRegisterWorkQueueWithMMCSS +@ stdcall MFEndUnregisterWorkQueueWithMMCSS(ptr) rtworkq.RtwqEndUnregisterWorkQueueWithMMCSS @ stub MFFrameRateToAverageTimePerFrame @ stub MFFreeAdaptersAddresses @ stub MFGetAdaptersAddresses diff --git a/dlls/rtworkq/queue.c b/dlls/rtworkq/queue.c index 07d124cfb73..f4e9f10d3f0 100644 --- a/dlls/rtworkq/queue.c +++ b/dlls/rtworkq/queue.c @@ -1533,6 +1533,27 @@ HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *cla return E_NOTIMPL; } +HRESULT WINAPI RtwqEndRegisterWorkQueueWithMMCSS(IRtwqAsyncResult *result, DWORD *taskid) +{ + FIXME("%p, %p.\n", result, taskid); + + return E_NOTIMPL; +} + +HRESULT WINAPI RtwqBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IRtwqAsyncCallback *callback, IUnknown *state) +{ + FIXME("%#x, %p, %p.\n", queue, callback, state); + + return E_NOTIMPL; +} + +HRESULT WINAPI RtwqEndUnregisterWorkQueueWithMMCSS(IRtwqAsyncResult *result) +{ + FIXME("%p.\n", result); + + return E_NOTIMPL; +} + HRESULT WINAPI RtwqRegisterPlatformEvents(IRtwqPlatformEvents *events) { FIXME("%p.\n", events); diff --git a/dlls/rtworkq/rtworkq.spec b/dlls/rtworkq/rtworkq.spec index 09d877790d5..2200b0863bd 100644 --- a/dlls/rtworkq/rtworkq.spec +++ b/dlls/rtworkq/rtworkq.spec @@ -2,13 +2,13 @@ @ stdcall RtwqAllocateSerialWorkQueue(long ptr) @ stdcall RtwqAllocateWorkQueue(long ptr) @ stdcall RtwqBeginRegisterWorkQueueWithMMCSS(long wstr long long ptr ptr) -@ stub RtwqBeginUnregisterWorkQueueWithMMCSS +@ stdcall RtwqBeginUnregisterWorkQueueWithMMCSS(long ptr ptr) @ stdcall RtwqCancelDeadline(long) @ stub RtwqCancelMultipleWaitingWorkItem @ stdcall RtwqCancelWorkItem(int64) @ stdcall RtwqCreateAsyncResult(ptr ptr ptr ptr) -@ stub RtwqEndRegisterWorkQueueWithMMCSS -@ stub RtwqEndUnregisterWorkQueueWithMMCSS +@ stdcall RtwqEndRegisterWorkQueueWithMMCSS(ptr ptr) +@ stdcall RtwqEndUnregisterWorkQueueWithMMCSS(ptr) @ stub RtwqGetPlatform @ stdcall RtwqGetWorkQueueMMCSSClass(long ptr ptr) @ stdcall RtwqGetWorkQueueMMCSSPriority(long ptr) diff --git a/include/mfapi.h b/include/mfapi.h index b1edeac02f6..e9b26f322c3 100644 --- a/include/mfapi.h +++ b/include/mfapi.h @@ -490,6 +490,7 @@ HRESULT WINAPI MFBeginCreateFile(MF_FILE_ACCESSMODE access_mode, MF_FILE_OPENMOD const WCHAR *path, IMFAsyncCallback *callback, IUnknown *state, IUnknown **cancel_cookie); HRESULT WINAPI MFBeginRegisterWorkQueueWithMMCSSEx(DWORD queue, const WCHAR *usage_class, DWORD taskid, LONG priority, IMFAsyncCallback *callback, IUnknown *state); +HRESULT WINAPI MFBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IMFAsyncCallback *callback, IUnknown *state); HRESULT WINAPI MFCalculateImageSize(REFGUID subtype, UINT32 width, UINT32 height, UINT32 *size); HRESULT WINAPI MFCancelCreateFile(IUnknown *cancel_cookie); HRESULT WINAPI MFCancelWorkItem(MFWORKITEM_KEY key); @@ -517,6 +518,8 @@ HRESULT WINAPI MFCreateVideoMediaTypeFromSubtype(const GUID *subtype, IMFVideoMe HRESULT WINAPI MFCreateMemoryBuffer(DWORD max_length, IMFMediaBuffer **buffer); HRESULT WINAPI MFCreateWaveFormatExFromMFMediaType(IMFMediaType *type, WAVEFORMATEX **format, UINT32 *size, UINT32 flags); HRESULT WINAPI MFEndCreateFile(IMFAsyncResult *result, IMFByteStream **stream); +HRESULT WINAPI MFEndRegisterWorkQueueWithMMCSS(IMFAsyncResult *result, DWORD *taskid); +HRESULT WINAPI MFEndUnregisterWorkQueueWithMMCSS(IMFAsyncResult *result); void * WINAPI MFHeapAlloc(SIZE_T size, ULONG flags, char *file, int line, EAllocationType type); void WINAPI MFHeapFree(void *ptr); HRESULT WINAPI MFGetAttributesAsBlob(IMFAttributes *attributes, UINT8 *buffer, UINT size); diff --git a/include/rtworkq.idl b/include/rtworkq.idl index ed32df1c3bf..e7ff768074c 100644 --- a/include/rtworkq.idl +++ b/include/rtworkq.idl @@ -93,9 +93,11 @@ cpp_quote("HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, cpp_quote("HRESULT WINAPI RtwqAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue);") cpp_quote("HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue);") cpp_quote("HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *class, DWORD taskid, LONG priority, IRtwqAsyncCallback *callback, IUnknown *state);") +cpp_quote("HRESULT WINAPI RtwqBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IRtwqAsyncCallback *callback, IUnknown *state);") 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 RtwqEndRegisterWorkQueueWithMMCSS(IRtwqAsyncResult *result, DWORD *taskid);") cpp_quote("HRESULT WINAPI RtwqGetWorkQueueMMCSSClass(DWORD queue, WCHAR *class, DWORD *length);") cpp_quote("HRESULT WINAPI RtwqGetWorkQueueMMCSSPriority(DWORD queue, LONG *priority);") cpp_quote("HRESULT WINAPI RtwqGetWorkQueueMMCSSTaskId(DWORD queue, DWORD *taskid);")