2010-02-26 11:43:19 +00:00
|
|
|
#pragma once
|
2003-05-18 17:16:18 +00:00
|
|
|
|
2008-08-06 02:05:17 +00:00
|
|
|
typedef struct _TIMER
|
|
|
|
{
|
2010-01-14 13:33:04 +00:00
|
|
|
HEAD head;
|
2008-08-06 02:05:17 +00:00
|
|
|
LIST_ENTRY ptmrList;
|
2009-01-15 23:15:31 +00:00
|
|
|
PTHREADINFO pti;
|
2010-10-11 03:41:41 +00:00
|
|
|
PWND pWnd; // hWnd
|
2008-08-06 02:05:17 +00:00
|
|
|
UINT_PTR nID; // Specifies a nonzero timer identifier.
|
|
|
|
INT cmsCountdown; // uElapse
|
|
|
|
INT cmsRate; // uElapse
|
|
|
|
FLONG flags;
|
|
|
|
TIMERPROC pfn; // lpTimerFunc
|
|
|
|
} TIMER, *PTIMER;
|
|
|
|
|
2009-01-13 12:16:06 +00:00
|
|
|
//
|
|
|
|
// Timer structure flags.
|
|
|
|
//
|
|
|
|
#define TMRF_READY 0x0001
|
|
|
|
#define TMRF_SYSTEM 0x0002
|
|
|
|
#define TMRF_RIT 0x0004
|
|
|
|
#define TMRF_INIT 0x0008
|
|
|
|
#define TMRF_ONESHOT 0x0010
|
|
|
|
#define TMRF_WAITING 0x0020
|
2009-01-15 23:15:31 +00:00
|
|
|
#define TMRF_TIFROMWND 0x0040
|
|
|
|
|
2011-10-15 00:38:23 +00:00
|
|
|
#define ID_EVENT_SYSTIMER_MOUSEHOVER ID_TME_TIMER
|
|
|
|
#define ID_EVENT_SYSTIMER_FLASHWIN (0xFFF8)
|
|
|
|
#define ID_EVENT_SYSTIMER_TRACKWIN (0xFFF7)
|
|
|
|
#define ID_EVENT_SYSTIMER_ANIMATEDFADE (0xFFF6)
|
|
|
|
#define ID_EVENT_SYSTIMER_INVALIDATEDCES (0xFFF5)
|
2011-04-08 19:29:15 +00:00
|
|
|
|
2009-01-15 23:15:31 +00:00
|
|
|
extern PKTIMER MasterTimer;
|
2009-01-13 12:16:06 +00:00
|
|
|
|
2021-05-11 15:13:14 +00:00
|
|
|
CODE_SEG("INIT") NTSTATUS NTAPI InitTimerImpl(VOID);
|
2010-05-15 19:40:33 +00:00
|
|
|
BOOL FASTCALL DestroyTimersForThread(PTHREADINFO pti);
|
2010-10-11 03:41:41 +00:00
|
|
|
BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window);
|
|
|
|
BOOL FASTCALL IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer);
|
|
|
|
UINT_PTR FASTCALL IntSetTimer(PWND Window, UINT_PTR IDEvent, UINT Elapse, TIMERPROC TimerFunc, INT Type);
|
2009-01-13 12:16:06 +00:00
|
|
|
PTIMER FASTCALL FindSystemTimer(PMSG);
|
2010-10-03 19:18:19 +00:00
|
|
|
BOOL FASTCALL ValidateTimerCallback(PTHREADINFO,LPARAM);
|
2009-01-14 02:02:26 +00:00
|
|
|
VOID CALLBACK SystemTimerProc(HWND,UINT,UINT_PTR,DWORD);
|
2010-10-11 03:41:41 +00:00
|
|
|
UINT_PTR FASTCALL SystemTimerSet(PWND,UINT_PTR,UINT,TIMERPROC);
|
|
|
|
BOOL FASTCALL PostTimerMessages(PWND);
|
2009-01-15 23:15:31 +00:00
|
|
|
VOID FASTCALL ProcessTimers(VOID);
|
|
|
|
VOID FASTCALL StartTheTimers(VOID);
|