Utilisation d’objets Timer Waitables
L’exemple suivant crée une minuterie qui est signalée après un délai de 10 secondes. Tout d’abord, le code utilise la fonction CreateWaitableTimer pour créer un objet de minuteurqui est attendu. Elle utilise ensuite la fonction SetWaitableTimer pour définir la minuterie. Le code utilise la fonction WaitForSingleObject pour déterminer quand la minuterie a été signalée.
#include <windows.h>
#include <stdio.h>
int main()
{
HANDLE hTimer = NULL;
LARGE_INTEGER liDueTime;
liDueTime.QuadPart = -100000000LL;
// Create an unnamed waitable timer.
hTimer = CreateWaitableTimer(NULL, TRUE, NULL);
if (NULL == hTimer)
{
printf("CreateWaitableTimer failed (%d)\n", GetLastError());
return 1;
}
printf("Waiting for 10 seconds...\n");
// Set a timer to wait for 10 seconds.
if (!SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0))
{
printf("SetWaitableTimer failed (%d)\n", GetLastError());
return 2;
}
// Wait for the timer.
if (WaitForSingleObject(hTimer, INFINITE) != WAIT_OBJECT_0)
printf("WaitForSingleObject failed (%d)\n", GetLastError());
else printf("Timer was signaled.\n");
return 0;
}