[KERNEL32_VISTA][NTDLL_VISTA] add required functions for winhttp

This commit is contained in:
Mikhail Tyukin
2025-07-31 17:12:59 -04:00
committed by Justin Miller
parent ac322153b6
commit 22ca1e736a
6 changed files with 65 additions and 1 deletions

View File

@@ -21,3 +21,39 @@
@ stdcall RtlLcidToLocaleName(long ptr long long)
@ stdcall RtlLocaleNameToLcid(wstr ptr long)
@ stdcall RtlCompareUnicodeStrings(wstr long wstr long long)
@ stdcall TpAllocCleanupGroup(ptr)
@ stdcall TpAllocIoCompletion(ptr ptr ptr ptr ptr)
@ stdcall TpAllocPool(ptr ptr)
@ stdcall TpAllocTimer(ptr ptr ptr ptr)
@ stdcall TpAllocWait(ptr ptr ptr ptr)
@ stdcall TpAllocWork(ptr ptr ptr ptr)
@ stdcall TpCallbackLeaveCriticalSectionOnCompletion(ptr ptr)
@ stdcall TpCallbackMayRunLong(ptr)
@ stdcall TpCallbackReleaseMutexOnCompletion(ptr ptr)
@ stdcall TpCallbackReleaseSemaphoreOnCompletion(ptr ptr long)
@ stdcall TpCallbackSetEventOnCompletion(ptr ptr)
@ stdcall TpCallbackUnloadDllOnCompletion(ptr ptr)
@ stdcall TpCancelAsyncIoOperation(ptr)
@ stdcall TpDisassociateCallback(ptr)
@ stdcall TpIsTimerSet(ptr)
@ stdcall TpPostWork(ptr)
@ stdcall TpQueryPoolStackInformation(ptr ptr)
@ stdcall TpReleaseCleanupGroup(ptr)
@ stdcall TpReleaseCleanupGroupMembers(ptr long ptr)
@ stdcall TpReleaseIoCompletion(ptr)
@ stdcall TpReleasePool(ptr)
@ stdcall TpReleaseTimer(ptr)
@ stdcall TpReleaseWait(ptr)
@ stdcall TpReleaseWork(ptr)
@ stdcall TpSetPoolMaxThreads(ptr long)
@ stdcall TpSetPoolMinThreads(ptr long)
@ stdcall TpSetPoolStackInformation(ptr ptr)
@ stdcall TpSetTimer(ptr ptr long long)
@ stdcall TpSetWait(ptr long ptr)
@ stdcall TpSimpleTryPost(ptr ptr ptr)
@ stdcall TpStartAsyncIoOperation(ptr)
@ stdcall TpWaitForIoCompletion(ptr long)
@ stdcall TpWaitForTimer(ptr long)
@ stdcall TpWaitForWait(ptr long)
@ stdcall TpWaitForWork(ptr long)

View File

@@ -1159,7 +1159,7 @@
@ stdcall -version=0x601+ TryAcquireSRWLockExclusive(ptr) ntdll.RtlTryAcquireSRWLockExclusive
@ stdcall -version=0x601+ TryAcquireSRWLockShared(ptr) ntdll.RtlTryAcquireSRWLockShared
@ stdcall TryEnterCriticalSection(ptr) ntdll.RtlTryEnterCriticalSection
@ stub -version=0x600+ TrySubmitThreadpoolCallback
@ stdcall -version=0x600+ TrySubmitThreadpoolCallback(ptr ptr ptr)
@ stdcall TzSpecificLocalTimeToSystemTime(ptr ptr ptr)
@ stdcall UTRegister(long str str str ptr ptr ptr)
@ stdcall UTUnRegister(long)

View File

@@ -21,6 +21,7 @@ list(APPEND SOURCE
LocaleNameToLCID.c
SetThreadDescription.c
sync.c
threadpool.c
vista.c)
# These functions are not exported from kernel32_vista (yet).

View File

@@ -61,3 +61,5 @@
@ stdcall GetNamedPipeClientProcessId(ptr ptr)
@ stdcall SetThreadDescription(ptr wstr) # Win 10
@ stdcall GetSystemTimePreciseAsFileTime(ptr) kernel32.GetSystemTimeAsFileTime
@ stdcall TrySubmitThreadpoolCallback(ptr ptr ptr)
@ stdcall FreeLibraryWhenCallbackReturns(ptr ptr) ntdll_vista.TpCallbackUnloadDllOnCompletion

View File

@@ -0,0 +1,20 @@
#include "k32_vista.h"
extern BOOL WINAPI DECLSPEC_HOTPATCH TpSimpleTryPost( PTP_SIMPLE_CALLBACK callback, PVOID userdata,
TP_CALLBACK_ENVIRON *environment );
/***********************************************************************
* TrySubmitThreadpoolCallback (kernelbase.@)
*/
BOOL WINAPI DECLSPEC_HOTPATCH TrySubmitThreadpoolCallback( PTP_SIMPLE_CALLBACK callback, PVOID userdata,
TP_CALLBACK_ENVIRON *environment )
{
NTSTATUS status = TpSimpleTryPost( callback, userdata, environment );
if (!NT_SUCCESS(status))
{
SetLastError(RtlNtStatusToDosError(status));
return FALSE;
}
return TRUE;
}

View File

@@ -18,6 +18,9 @@ list(APPEND RTL_WINE_SOURCE
timerqueue.c
threadpool.c
)
list(APPEND RTL_WINE_SOURCE_VISTA
threadpool.c
)
set_source_files_properties(threadpool.c PROPERTIES COMPILE_DEFINITIONS __WINESRC__)
if(MSVC)
@@ -131,10 +134,12 @@ add_pch(rtl rtl.h SOURCE)
add_dependencies(rtl psdk asm)
list(APPEND SOURCE_VISTA
${RTL_WINE_SOURCE_VISTA}
condvar.c
locale.c
runonce.c
srw.c
threadpool.c
unicode_vista.c
utf8.c)