Sebastian Lackner : kernel32: Forward threadpool cleanup group functions to ntdll.
Alexandre Julliard
julliard at wine.codeweavers.com
Fri Jul 3 09:02:35 CDT 2015
Module: wine
Branch: master
Commit: a54d972868f03ed38bb98c3a0d9888a777e9b7ec
URL: http://source.winehq.org/git/wine.git/?a=commit;h=a54d972868f03ed38bb98c3a0d9888a777e9b7ec
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Fri Jul 3 01:59:22 2015 +0200
kernel32: Forward threadpool cleanup group functions to ntdll.
---
dlls/kernel32/kernel32.spec | 6 +++---
dlls/kernel32/thread.c | 20 ++++++++++++++++++++
include/winternl.h | 6 ++++++
3 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 3c40975..b48ea3b 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -229,8 +229,8 @@
@ stdcall CloseProfileUserMapping()
@ stub CloseSystemHandle
# @ stub CloseThreadpool
-# @ stub CloseThreadpoolCleanupGroup
-# @ stub CloseThreadpoolCleanupGroupMembers
+@ stdcall CloseThreadpoolCleanupGroup(ptr) ntdll.TpReleaseCleanupGroup
+@ stdcall CloseThreadpoolCleanupGroupMembers(ptr long ptr) ntdll.TpReleaseCleanupGroupMembers
# @ stub CloseThreadpoolIo
# @ stub CloseThreadpoolTimer
# @ stub CloseThreadpoolWait
@@ -332,7 +332,7 @@
@ stdcall CreateTapePartition(long long long long)
@ stdcall CreateThread(ptr long ptr long long ptr)
# @ stub CreateThreadpool
-# @ stub CreateThreadpoolCleanupGroup
+@ stdcall CreateThreadpoolCleanupGroup()
# @ stub CreateThreadpoolIo
# @ stub CreateThreadpoolTimer
# @ stub CreateThreadpoolWait
diff --git a/dlls/kernel32/thread.c b/dlls/kernel32/thread.c
index 3dabf94..b2b9def 100644
--- a/dlls/kernel32/thread.c
+++ b/dlls/kernel32/thread.c
@@ -860,3 +860,23 @@ BOOL WINAPI GetThreadPreferredUILanguages( DWORD flags, PULONG count, PCZZWSTR b
*buffersize = 0;
return TRUE;
}
+
+/***********************************************************************
+ * CreateThreadpoolCleanupGroup (KERNEL32.@)
+ */
+PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup( void )
+{
+ TP_CLEANUP_GROUP *group;
+ NTSTATUS status;
+
+ TRACE( "\n" );
+
+ status = TpAllocCleanupGroup( &group );
+ if (status)
+ {
+ SetLastError( RtlNtStatusToDosError(status) );
+ return NULL;
+ }
+
+ return group;
+}
diff --git a/include/winternl.h b/include/winternl.h
index a84c6d4..c918e09 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2616,6 +2616,12 @@ NTSYSAPI LONGLONG WINAPI RtlLargeIntegerSubtract(LONGLONG,LONGLONG);
NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar(const ULONGLONG *,ULONG,ULONG,PCHAR);
#endif
+/* Threadpool functions */
+
+NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **);
+NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *);
+NTSYSAPI void WINAPI TpReleaseCleanupGroupMembers(TP_CLEANUP_GROUP *,BOOL,PVOID);
+
/* Wine internal functions */
NTSYSAPI NTSTATUS CDECL wine_nt_to_unix_file_name( const UNICODE_STRING *nameW, ANSI_STRING *unix_name_ret,
More information about the wine-cvs
mailing list