kernel32: Forward threadpool instance functions to ntdll.

This commit is contained in:
Sebastian Lackner 2015-07-03 02:00:14 +02:00 committed by Alexandre Julliard
parent 4b0ecd3e22
commit 56b9af1150
3 changed files with 33 additions and 7 deletions

View File

@ -204,7 +204,7 @@
@ stdcall BuildCommDCBAndTimeoutsA(str ptr ptr) @ stdcall BuildCommDCBAndTimeoutsA(str ptr ptr)
@ stdcall BuildCommDCBAndTimeoutsW(wstr ptr ptr) @ stdcall BuildCommDCBAndTimeoutsW(wstr ptr ptr)
@ stdcall BuildCommDCBW(wstr ptr) @ stdcall BuildCommDCBW(wstr ptr)
# @ stub CallbackMayRunLong @ stdcall CallbackMayRunLong(ptr)
@ stdcall CallNamedPipeA(str ptr long ptr long ptr long) @ stdcall CallNamedPipeA(str ptr long ptr long ptr long)
@ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long) @ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long)
@ stub CancelDeviceWakeupRequest @ stub CancelDeviceWakeupRequest
@ -369,7 +369,7 @@
@ stdcall DeleteFileW(wstr) @ stdcall DeleteFileW(wstr)
# @ stub DeleteProcThreadAttributeList # @ stub DeleteProcThreadAttributeList
# @ stub DisableThreadProfiling # @ stub DisableThreadProfiling
# @ stub DisassociateCurrentThreadFromCallback @ stdcall DisassociateCurrentThreadFromCallback(ptr) ntdll.TpDisassociateCallback
@ stdcall DeleteTimerQueue(long) @ stdcall DeleteTimerQueue(long)
@ stdcall DeleteTimerQueueEx (long long) @ stdcall DeleteTimerQueueEx (long long)
@ stdcall DeleteTimerQueueTimer(long long long) @ stdcall DeleteTimerQueueTimer(long long long)
@ -495,7 +495,6 @@
@ stdcall FindFirstVolumeMountPointA(str ptr long) @ stdcall FindFirstVolumeMountPointA(str ptr long)
@ stdcall FindFirstVolumeMountPointW(wstr ptr long) @ stdcall FindFirstVolumeMountPointW(wstr ptr long)
@ stdcall FindFirstVolumeW(ptr long) @ stdcall FindFirstVolumeW(ptr long)
# @ stub FreeLibraryWhenCallbackReturns
@ stdcall FindNextChangeNotification(long) @ stdcall FindNextChangeNotification(long)
@ stdcall FindNextFileA(long ptr) @ stdcall FindNextFileA(long ptr)
# @ stub FindNextFileNameW # @ stub FindNextFileNameW
@ -533,6 +532,7 @@
@ stub -i386 FreeLSCallback @ stub -i386 FreeLSCallback
@ stdcall FreeLibrary(long) @ stdcall FreeLibrary(long)
@ stdcall FreeLibraryAndExitThread(long long) @ stdcall FreeLibraryAndExitThread(long long)
@ stdcall FreeLibraryWhenCallbackReturns(ptr ptr) ntdll.TpCallbackUnloadDllOnCompletion
@ stdcall FreeResource(long) @ stdcall FreeResource(long)
@ stdcall -i386 -private FreeSLCallback(long) krnl386.exe16.FreeSLCallback @ stdcall -i386 -private FreeSLCallback(long) krnl386.exe16.FreeSLCallback
@ stub FreeUserPhysicalPages @ stub FreeUserPhysicalPages
@ -1035,7 +1035,7 @@
@ stdcall LZSeek(long long long) @ stdcall LZSeek(long long long)
@ stdcall LZStart() @ stdcall LZStart()
@ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection @ stdcall LeaveCriticalSection(ptr) ntdll.RtlLeaveCriticalSection
# @ stub LeaveCriticalSectionWhenCallbackReturns @ stdcall LeaveCriticalSectionWhenCallbackReturns(ptr ptr) ntdll.TpCallbackLeaveCriticalSectionOnCompletion
# @ stub LoadAppInitDlls # @ stub LoadAppInitDlls
@ stdcall LoadLibraryA(str) @ stdcall LoadLibraryA(str)
@ stdcall LoadLibraryExA( str long long) @ stdcall LoadLibraryExA( str long long)
@ -1252,9 +1252,9 @@
@ stdcall ReinitializeCriticalSection(ptr) @ stdcall ReinitializeCriticalSection(ptr)
@ stdcall ReleaseActCtx(ptr) @ stdcall ReleaseActCtx(ptr)
@ stdcall ReleaseMutex(long) @ stdcall ReleaseMutex(long)
# @ stub ReleaseMutexWhenCallbackReturns @ stdcall ReleaseMutexWhenCallbackReturns(ptr long) ntdll.TpCallbackReleaseMutexOnCompletion
@ stdcall ReleaseSemaphore(long long ptr) @ stdcall ReleaseSemaphore(long long ptr)
# @ stub ReleaseSemaphoreWhenCallbackReturns @ stdcall ReleaseSemaphoreWhenCallbackReturns(ptr long long) ntdll.TpCallbackReleaseSemaphoreOnCompletion
@ stdcall ReleaseSRWLockExclusive(ptr) ntdll.RtlReleaseSRWLockExclusive @ stdcall ReleaseSRWLockExclusive(ptr) ntdll.RtlReleaseSRWLockExclusive
@ stdcall ReleaseSRWLockShared(ptr) ntdll.RtlReleaseSRWLockShared @ stdcall ReleaseSRWLockShared(ptr) ntdll.RtlReleaseSRWLockShared
@ stdcall RemoveDirectoryA(str) @ stdcall RemoveDirectoryA(str)
@ -1385,7 +1385,7 @@
@ stdcall SetEnvironmentVariableW(wstr wstr) @ stdcall SetEnvironmentVariableW(wstr wstr)
@ stdcall SetErrorMode(long) @ stdcall SetErrorMode(long)
@ stdcall SetEvent(long) @ stdcall SetEvent(long)
# @ stub SetEventWhenCallbackReturns @ stdcall SetEventWhenCallbackReturns(ptr long) ntdll.TpCallbackSetEventOnCompletion
@ stdcall SetFileApisToANSI() @ stdcall SetFileApisToANSI()
@ stdcall SetFileApisToOEM() @ stdcall SetFileApisToOEM()
@ stdcall SetFileAttributesA(str long) @ stdcall SetFileAttributesA(str long)

View File

@ -861,6 +861,25 @@ BOOL WINAPI GetThreadPreferredUILanguages( DWORD flags, PULONG count, PCZZWSTR b
return TRUE; return TRUE;
} }
/***********************************************************************
* CallbackMayRunLong (KERNEL32.@)
*/
BOOL WINAPI CallbackMayRunLong( TP_CALLBACK_INSTANCE *instance )
{
NTSTATUS status;
TRACE( "%p\n", instance );
status = TpCallbackMayRunLong( instance );
if (status)
{
SetLastError( RtlNtStatusToDosError(status) );
return FALSE;
}
return TRUE;
}
/*********************************************************************** /***********************************************************************
* CreateThreadpoolCleanupGroup (KERNEL32.@) * CreateThreadpoolCleanupGroup (KERNEL32.@)
*/ */

View File

@ -2621,6 +2621,13 @@ NTSYSAPI NTSTATUS WINAPI RtlLargeIntegerToChar(const ULONGLONG *,ULONG,ULONG,PC
NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **); NTSYSAPI NTSTATUS WINAPI TpAllocCleanupGroup(TP_CLEANUP_GROUP **);
NTSYSAPI NTSTATUS WINAPI TpAllocTimer(TP_TIMER **,PTP_TIMER_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *); NTSYSAPI NTSTATUS WINAPI TpAllocTimer(TP_TIMER **,PTP_TIMER_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
NTSYSAPI NTSTATUS WINAPI TpAllocWork(TP_WORK **,PTP_WORK_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *); NTSYSAPI NTSTATUS WINAPI TpAllocWork(TP_WORK **,PTP_WORK_CALLBACK,PVOID,TP_CALLBACK_ENVIRON *);
NTSYSAPI void WINAPI TpCallbackLeaveCriticalSectionOnCompletion(TP_CALLBACK_INSTANCE *,RTL_CRITICAL_SECTION *);
NTSYSAPI NTSTATUS WINAPI TpCallbackMayRunLong(TP_CALLBACK_INSTANCE *);
NTSYSAPI void WINAPI TpCallbackReleaseMutexOnCompletion(TP_CALLBACK_INSTANCE *,HANDLE);
NTSYSAPI void WINAPI TpCallbackReleaseSemaphoreOnCompletion(TP_CALLBACK_INSTANCE *,HANDLE,DWORD);
NTSYSAPI void WINAPI TpCallbackSetEventOnCompletion(TP_CALLBACK_INSTANCE *,HANDLE);
NTSYSAPI void WINAPI TpCallbackUnloadDllOnCompletion(TP_CALLBACK_INSTANCE *,HMODULE);
NTSYSAPI void WINAPI TpDisassociateCallback(TP_CALLBACK_INSTANCE *);
NTSYSAPI BOOL WINAPI TpIsTimerSet(TP_TIMER *); NTSYSAPI BOOL WINAPI TpIsTimerSet(TP_TIMER *);
NTSYSAPI void WINAPI TpPostWork(TP_WORK *); NTSYSAPI void WINAPI TpPostWork(TP_WORK *);
NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *); NTSYSAPI void WINAPI TpReleaseCleanupGroup(TP_CLEANUP_GROUP *);