Based off patch by Dmitry Timoshkov.
Series Fixes: https://bugs.winehq.org/show_bug.cgi?id=44619
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com --- include/winbase.h | 14 ++++++++++++++ include/winnt.h | 21 +++++++++++++++++++++ 2 files changed, 35 insertions(+)
diff --git a/include/winbase.h b/include/winbase.h index 9c7908a..aefedfd 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1694,6 +1694,20 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM #define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1) #define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY
+typedef void *PUMS_CONTEXT; +typedef void *PUMS_COMPLETION_LIST; +typedef PRTL_UMS_SCHEDULER_ENTRY_POINT PUMS_SCHEDULER_ENTRY_POINT; +typedef struct _UMS_SCHEDULER_STARTUP_INFO +{ + ULONG UmsVersion; + PUMS_COMPLETION_LIST CompletionList; + PUMS_SCHEDULER_ENTRY_POINT SchedulerProc; + PVOID SchedulerParam; +} UMS_SCHEDULER_STARTUP_INFO, *PUMS_SCHEDULER_STARTUP_INFO; + +typedef enum _RTL_UMS_SCHEDULER_REASON UMS_SCHEDULER_REASON; +typedef enum _RTL_UMS_THREAD_INFO_CLASS UMS_THREAD_INFO_CLASS, *PUMS_THREAD_INFO_CLASS; + WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR *); WINADVAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID); WINADVAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID); diff --git a/include/winnt.h b/include/winnt.h index 56b533c..e602c1f 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -6123,6 +6123,27 @@ typedef VOID (CALLBACK *PTP_WIN32_IO_CALLBACK)(PTP_CALLBACK_INSTANCE,PVOID,PVOID
NTSYSAPI BOOLEAN NTAPI RtlGetProductInfo(DWORD,DWORD,DWORD,DWORD,PDWORD);
+typedef enum _RTL_UMS_THREAD_INFO_CLASS +{ + UmsThreadInvalidInfoClass, + UmsThreadUserContext, + UmsThreadPriority, + UmsThreadAffinity, + UmsThreadTeb, + UmsThreadIsSuspended, + UmsThreadIsTerminated, + UmsThreadMaxInfoClass +} RTL_UMS_THREAD_INFO_CLASS, *PRTL_UMS_THREAD_INFO_CLASS; + +typedef enum _RTL_UMS_SCHEDULER_REASON +{ + UmsSchedulerStartup, + UmsSchedulerThreadBlocked, + UmsSchedulerThreadYield, +} RTL_UMS_SCHEDULER_REASON, *PRTL_UMS_SCHEDULER_REASON; + +typedef void (CALLBACK *PRTL_UMS_SCHEDULER_ENTRY_POINT)(RTL_UMS_SCHEDULER_REASON,ULONG_PTR,PVOID); + #ifdef __cplusplus } #endif