From c215a035810f98d720b54648e5b0bea7e85b0359 Mon Sep 17 00:00:00 2001 From: Gunnar Dalsnes Date: Mon, 3 Nov 2003 00:34:43 +0000 Subject: [PATCH] apc test svn path=/trunk/; revision=6516 --- reactos/apps/tests/apc2/.cvsignore | 6 ++++ reactos/apps/tests/apc2/apc2.c | 52 ++++++++++++++++++++++++++++++ reactos/apps/tests/apc2/makefile | 21 ++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 reactos/apps/tests/apc2/.cvsignore create mode 100644 reactos/apps/tests/apc2/apc2.c create mode 100644 reactos/apps/tests/apc2/makefile diff --git a/reactos/apps/tests/apc2/.cvsignore b/reactos/apps/tests/apc2/.cvsignore new file mode 100644 index 00000000000..d63774a7353 --- /dev/null +++ b/reactos/apps/tests/apc2/.cvsignore @@ -0,0 +1,6 @@ +*.o +*.d +*.exe +*.coff +*.sym +*.map diff --git a/reactos/apps/tests/apc2/apc2.c b/reactos/apps/tests/apc2/apc2.c new file mode 100644 index 00000000000..c6529fac6ab --- /dev/null +++ b/reactos/apps/tests/apc2/apc2.c @@ -0,0 +1,52 @@ + +#include +#include + +VOID CALLBACK TimerApcProc( + LPVOID lpArg, + DWORD dwTimerLowValue, + DWORD dwTimerHighValue ) +{ + printf("APC Callback %i\n", *(PDWORD)lpArg); +} + + +int main() +{ + HANDLE hTimer; + BOOL bSuccess; + LARGE_INTEGER DueTime; + DWORD value = 1; + + hTimer = CreateWaitableTimer(NULL, FALSE, NULL ); + + if (!hTimer) + { + printf("CreateWaitableTimer failed!\n"); + return 0; + } + + DueTime.QuadPart = -(LONGLONG)(5 * 10000000); + + bSuccess = SetWaitableTimer( + hTimer, + &DueTime, + 2000 /*interval*/, + TimerApcProc, + &value /*callback argument*/, + FALSE ); + + if (!bSuccess) + { + printf("SetWaitableTimer failed!\n"); + return 0; + } + + for (;value <= 10; value++ ) + { + SleepEx(INFINITE, TRUE /*alertable*/ ); + } + + CloseHandle( hTimer ); + return 0; +} \ No newline at end of file diff --git a/reactos/apps/tests/apc2/makefile b/reactos/apps/tests/apc2/makefile new file mode 100644 index 00000000000..c48f70035f6 --- /dev/null +++ b/reactos/apps/tests/apc2/makefile @@ -0,0 +1,21 @@ + + +PATH_TO_TOP = ../../.. + +TARGET_NORC = yes + +TARGET_TYPE = program + +TARGET_APPTYPE = console + +TARGET_NAME = apc2 + +TARGET_SDKLIBS = ntdll.a kernel32.a + +TARGET_OBJECTS = $(TARGET_NAME).o + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk + +# EOF