From 2cb4c8a7443875f03e908d169602b8ee1a773e1a Mon Sep 17 00:00:00 2001 From: Filip Navara Date: Sat, 4 Dec 2004 19:30:09 +0000 Subject: [PATCH] - Implement QueueUserAPC. svn path=/trunk/; revision=11919 --- reactos/lib/kernel32/thread/thread.c | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/reactos/lib/kernel32/thread/thread.c b/reactos/lib/kernel32/thread/thread.c index 7f66d747221..1f4506dc1af 100644 --- a/reactos/lib/kernel32/thread/thread.c +++ b/reactos/lib/kernel32/thread/thread.c @@ -1,4 +1,4 @@ -/* $Id: thread.c,v 1.56 2004/11/02 21:51:25 weiden Exp $ +/* $Id: thread.c,v 1.57 2004/12/04 19:30:09 navaraf Exp $ * * COPYRIGHT: See COPYING in the top level directory * PROJECT: ReactOS system libraries @@ -771,4 +771,27 @@ SetThreadUILanguage(DWORD Unknown1) DPRINT1("SetThreadUILanguage(0x%x) unimplemented!\n", Unknown1); } +static void CALLBACK +IntCallUserApc(PVOID Function, PVOID dwData, PVOID Argument3) +{ + PAPCFUNC pfnAPC = (PAPCFUNC)Function; + pfnAPC((ULONG_PTR)dwData); +} + +/* + * @implemented + */ +DWORD STDCALL +QueueUserAPC(PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData) +{ + NTSTATUS Status; + + Status = NtQueueApcThread(hThread, IntCallUserApc, pfnAPC, + (PVOID)dwData, NULL); + if (Status) + SetLastErrorByStatus(Status); + + return NT_SUCCESS(Status); +} + /* EOF */