📄 timer.h
字号:
//********************************************************************
// 日期: 2004/08/24 - 24:8:2004 18:57
// 名前: tiamo
// 描述: timer routine
//*********************************************************************
#pragma once
// timer sig
#define TIMER_SIG MAKE_SIG('T','I','M','E')
// forward declaration
typedef struct __tagTimerItem *PTIMER_ITEM;
// timer routine
typedef VOID (*TIMER_ROUTINE)(PTIMER_ITEM pItem,PVOID pContext,PVOID pCancelContext);
// timer
typedef struct __tagTimer
{
LIST_ENTRY m_ltTimerItemsHead; // timer item head
NDIS_TIMER m_ndisTimer; // ndis timer
ULONG m_ulSig; // sig
NDIS_SPIN_LOCK m_lockSelf; // lock self
}TIMER,*PTIMER;
// timer item
typedef struct __tagTimerItem
{
LIST_ENTRY m_ltTimerItemAnchor; // list anchor
TIMER_ROUTINE m_pTimerRoutine; // routine
LARGE_INTEGER m_ullExecuteTime; // exec time
PVOID m_pContext; // context
}TIMER_ITEM,*PTIMER_ITEM;
// public routine
extern "C"
{
// init timer system,PASSIVE_LEVEL only
VOID InitializeTimerSystem();
// shut down timer system,<= DISPATCH_LEVEL
VOID ShutdownTimerSystem();
// schedule a timer call,<= DISPATCH_LEVEL
VOID ScheduleTimerItem(PTIMER_ITEM pItem,TIMER_ROUTINE pRoutine,ULONG ulMsDelay,PVOID pContext);
// cancel timer call <= DISPATCH_LEVEL
VOID CancelTimerItem(PTIMER_ITEM pItem,PVOID pCancelContext);
// init timer item <= DISPTACH_LEVEL
VOID InitializeTimerItem(PTIMER_ITEM pItem);
}
// private routine
extern "C"
{
// common timer routine for ndis init timer,run only at DISPATCH_LEVEL
VOID CommonTimerRoutine(PVOID pSystem1,PVOID pContext,PVOID pSystem3,PVOID pSystem4);
// set timer run only at DISPATCH_LEVEL
VOID SetTimer(LARGE_INTEGER ullCurrentTime);
}
// global timer
extern TIMER g_timer;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -