[KERNEL32] Add an (incomplete) pre-implementation for SetThreadStackGuarantee(). (#803)

This should remove some of the "SetThreadStackGuarantee(): stub" messages in some simple cases.
This commit is contained in:
Hermès Bélusca-Maïto 2018-08-23 21:30:56 +02:00
parent 30b800f8b5
commit 0e3a043526
No known key found for this signature in database
GPG key ID: 3B2539C65E7B93D0

View file

@ -5,7 +5,6 @@
* PURPOSE: Thread functions
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
* Ariadne (ariadne@xs4all.nl)
*
*/
/* INCLUDES *******************************************************************/
@ -950,16 +949,44 @@ QueueUserAPC(IN PAPCFUNC pfnAPC,
}
/*
* @implemented
* @unimplemented
*/
BOOL
WINAPI
SetThreadStackGuarantee(IN OUT PULONG StackSizeInBytes)
{
static int once;
if (once++ == 0)
DPRINT1("SetThreadStackGuarantee(%p): stub\n", StackSizeInBytes);
return TRUE;
PTEB Teb = NtCurrentTeb();
ULONG GuaranteedStackBytes;
ULONG AllocationSize;
if (!StackSizeInBytes)
{
SetLastError(ERROR_INVALID_PARAMETER);
return FALSE;
}
AllocationSize = *StackSizeInBytes;
/* Retrieve the current stack size */
GuaranteedStackBytes = Teb->GuaranteedStackBytes;
/* Return the size of the previous stack */
*StackSizeInBytes = GuaranteedStackBytes;
/*
* If the new stack size is either zero or is less than the current size,
* the previous stack size is returned and we return success.
*/
if ((AllocationSize == 0) || (AllocationSize < GuaranteedStackBytes))
{
return TRUE;
}
// FIXME: Unimplemented!
UNIMPLEMENTED_ONCE;
// return TRUE;
return FALSE;
}
/*