创建一个timer 对象,如果函数调用成功,返回指向timer 对象的handle, 如果函数调用失败,可以使用GetLastError() 获取错误值
HANDLE WINAPI CreateWaitableTimer(
_In_opt_ LPSECURITY_ATTRIBUTES lpTimerAttributes, //安全描述符,可以设置为NULL
_In_ BOOL bManualReset, //是否为手动定时器 如果是手动,则需要调用函数SetWaitableTimer()实现重置,如果是自动的,可以调用函数WaitForSingleObjest()实现重置
_In_opt_ LPCTSTR lpTimerName //定时器名称
);
当不再使用该对象时,应当使用CloseHandle 关闭计时器对象的句柄。
启用timer() 对象
BOOL WINAPI SetWaitableTimer(
_In_ HANDLE hTimer, //定时器的句柄
_In_
const
LARGE_INTEGER *pDueTime, //定时器的时间间隔,正值为绝对时间,负值为相对时
_In_ LONG lPeriod, //周期
_In_opt_ PTIMERAPCROUTINE pfnCompletionRoutine,//设置回调函数
_In_opt_ LPVOID lpArgToCompletionRoutine, //传送给回调函数的参数
_In_ BOOL fResume //设置系统是否自动恢复
);
用负值表示一个相对的时间,代表以100纳秒为单位的相对时间,(如从现在起的30秒钟,则设置为-30*10000000)
停止timer()对象
BOOL WINAPI CancelWaitableTimer(
HANDLE hTimer
);