Я пытаюсь установить ожидающие окна таймеры в C ++ следующим образом:
#define _SECOND 10000000
void Run()
{
__int64 qwDueTime= 5 * _SECOND;
LARGE_INTEGER liDueTime;
// Copy the relative time into a LARGE_INTEGER.
liDueTime.LowPart = (DWORD) ( qwDueTime & 0xFFFFFFFF );
liDueTime.HighPart = (LONG) ( qwDueTime >> 32 );
SetWaitableTimer(
CreateWaitableTimer(NULL,FALSE ,L"2004"),
&liDueTime,2000,
(PTIMERAPCROUTINE)TimerFinished,NULL,FALSE );
cout<<"Second"<<endl;
}
, где TimerFinished
равно
VOID CALLBACK TimerFinished(
LPVOID lpArg, // Data value.
DWORD dwTimerLowValue, // Timer low value.
DWORD dwTimerHighValue ) { // Timer high value.
cout<<"First"<<endl;
cout.flush();
}
Но, к сожалению, TimerFinished никогда не вызывается ..
Любая помощь?