Commit 1a53a655 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

mfplat: Implement waiting items with ability to cancel.

parent 859f9bac
...@@ -120,6 +120,7 @@ ...@@ -120,6 +120,7 @@
@ stub MFJoinIoPort @ stub MFJoinIoPort
@ stdcall MFLockPlatform() @ stdcall MFLockPlatform()
@ stdcall MFLockWorkQueue(long) @ stdcall MFLockWorkQueue(long)
@ stdcall MFPutWaitingWorkItem(long long ptr ptr)
@ stdcall MFPutWorkItem(long ptr ptr) @ stdcall MFPutWorkItem(long ptr ptr)
@ stdcall MFPutWorkItemEx(long ptr) @ stdcall MFPutWorkItemEx(long ptr)
@ stub MFRecordError @ stub MFRecordError
......
...@@ -1058,12 +1058,11 @@ todo_wine ...@@ -1058,12 +1058,11 @@ todo_wine
ok(hr == S_OK, "Failed to cancel item, hr %#x.\n", hr); ok(hr == S_OK, "Failed to cancel item, hr %#x.\n", hr);
hr = MFCancelWorkItem(key); hr = MFCancelWorkItem(key);
todo_wine
ok(hr == MF_E_NOT_FOUND || broken(hr == S_OK) /* < win10 */, "Unexpected hr %#x.\n", hr); ok(hr == MF_E_NOT_FOUND || broken(hr == S_OK) /* < win10 */, "Unexpected hr %#x.\n", hr);
if (!pMFPutWaitingWorkItem) if (!pMFPutWaitingWorkItem)
{ {
skip("Waiting items are not supported.\n"); win_skip("Waiting items are not supported.\n");
return; return;
} }
...@@ -1085,9 +1084,11 @@ todo_wine ...@@ -1085,9 +1084,11 @@ todo_wine
IMFAsyncResult_Release(result); IMFAsyncResult_Release(result);
hr = MFScheduleWorkItem(&callback, NULL, -5000, &key); hr = MFScheduleWorkItem(&callback, NULL, -5000, &key);
todo_wine
ok(hr == S_OK, "Failed to schedule item, hr %#x.\n", hr); ok(hr == S_OK, "Failed to schedule item, hr %#x.\n", hr);
hr = MFCancelWorkItem(key); hr = MFCancelWorkItem(key);
todo_wine
ok(hr == S_OK, "Failed to cancel item, hr %#x.\n", hr); ok(hr == S_OK, "Failed to cancel item, hr %#x.\n", hr);
hr = MFShutdown(); hr = MFShutdown();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment