[PATCH v4 1/3] msvcr100: Add _StructuredTaskCollection::_Schedule stub.

Torge Matthies tmatthies at codeweavers.com
Mon Apr 11 09:30:06 CDT 2022


Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47375
Signed-off-by: Torge Matthies <tmatthies at codeweavers.com>
---
v3 -> v4:
  Add dummy UnrealizedChore definition.

 dlls/concrt140/concrt140.spec       |  2 +-
 dlls/msvcr100/msvcr100.spec         |  2 +-
 dlls/msvcr110/msvcr110.spec         |  2 +-
 dlls/msvcr120/msvcr120.spec         |  2 +-
 dlls/msvcr120_app/msvcr120_app.spec |  2 +-
 dlls/msvcrt/concurrency.c           | 25 +++++++++++++++++++++++++
 6 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/dlls/concrt140/concrt140.spec b/dlls/concrt140/concrt140.spec
index 50db9348327..ab57c736672 100644
--- a/dlls/concrt140/concrt140.spec
+++ b/dlls/concrt140/concrt140.spec
@@ -596,7 +596,7 @@
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__Schedule
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@PEAVlocation at 3@@Z
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 19b4cbe96d7..68a78a6aa16 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -364,7 +364,7 @@
 @ stub -arch=win32 ?_RunAndWait at _TaskCollection@details at Concurrency@@QAG?AW4_TaskCollectionStatus at 23@PAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=win32 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__Schedule
 @ stub -arch=win32 ?_Schedule at _TaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
 @ stub -arch=win64 ?_Schedule at _TaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
 @ thiscall -arch=win32 ?_SetSpinCount@?$_SpinWait@$00 at details@Concurrency@@QAEXI at Z(ptr long) SpinWait__SetSpinCount
diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec
index 23840f85eda..0f5eaf9ac51 100644
--- a/dlls/msvcr110/msvcr110.spec
+++ b/dlls/msvcr110/msvcr110.spec
@@ -616,7 +616,7 @@
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__Schedule
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@PEAVlocation at 3@@Z
diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec
index 64ddeed42f4..332a617932e 100644
--- a/dlls/msvcr120/msvcr120.spec
+++ b/dlls/msvcr120/msvcr120.spec
@@ -598,7 +598,7 @@
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z(ptr ptr) StructuredTaskCollection__Schedule
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@PEAVlocation at 3@@Z
diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec
index 05f408d6884..ee2ee2c42a1 100644
--- a/dlls/msvcr120_app/msvcr120_app.spec
+++ b/dlls/msvcr120_app/msvcr120_app.spec
@@ -594,7 +594,7 @@
 @ stub -arch=win64 ?_RunAndWait at _TaskCollection@details at Concurrency@@QEAA?AW4_TaskCollectionStatus at 23@PEAV_UnrealizedChore at 23@@Z
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@@Z
-@ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
+@ thiscall -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z(ptr ptr) msvcr120.?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z
 @ stub -arch=arm ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAAXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=i386 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QAEXPAV_UnrealizedChore at 23@PAVlocation at 3@@Z
 @ stub -arch=win64 ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@PEAVlocation at 3@@Z
diff --git a/dlls/msvcrt/concurrency.c b/dlls/msvcrt/concurrency.c
index 2ca6421b0e7..b884952b314 100644
--- a/dlls/msvcrt/concurrency.c
+++ b/dlls/msvcrt/concurrency.c
@@ -174,6 +174,20 @@ typedef struct cs_queue
 #endif
 } cs_queue;
 
+#if _MSVCR_VER >= 100
+
+typedef struct
+{
+    char dummy;
+} UnrealizedChore;
+
+typedef struct
+{
+    char dummy;
+} StructuredTaskCollection;
+
+#endif /* _MSVCR_VER >= 100 */
+
 typedef struct
 {
     ULONG_PTR unk_thread_id;
@@ -1741,6 +1755,17 @@ bool __thiscall SpinWait__SpinOnce(SpinWait *this)
     }
 }
 
+#if _MSVCR_VER >= 100
+
+/* ?_Schedule at _StructuredTaskCollection@details at Concurrency@@QEAAXPEAV_UnrealizedChore at 23@@Z */
+DEFINE_THISCALL_WRAPPER(StructuredTaskCollection__Schedule, 8)
+void __thiscall StructuredTaskCollection__Schedule(StructuredTaskCollection *this, UnrealizedChore *chore)
+{
+    FIXME("(%p %p): stub!\n", this, chore);
+}
+
+#endif /* _MSVCR_VER >= 100 */
+
 /* ??0critical_section at Concurrency@@QAE at XZ */
 /* ??0critical_section at Concurrency@@QEAA at XZ */
 DEFINE_THISCALL_WRAPPER(critical_section_ctor, 4)
-- 
2.35.1




More information about the wine-devel mailing list