当前位置:首页 科普知识 SetWaitableTimer

SetWaitableTimer

发布时间:2023-09-05 01:31:12

定时的时间通过调用SetWaitableTimer()来设置,可以设置为一个特定的时刻(如December 16, 1999 at 9:45 PM)或者一个相对的时间(如从现在起每五分钟)。函数SetWaitableTime()定时的时间参数要求LARGE_INTEGER类型。这个值应该符合在结构体FILETIME中描述的格式。如果值是正的,代表一个特定的时刻。如果值是负的,代表以100纳秒为单位的相对时间。后面的示例代码中使用的是相对时间。在调用SetWaitableTimer()函数后,定时器将在每5秒被激发一次.

SetWaitableTimer详细介绍

定时的时间通过调用SetWaitableTimer()来设置,可以设置为一个特定的时刻(如December 16, 1999 at 9:45 PM)或者一个相对的时间(如从现在起每五分钟)。函数SetWaitableTime()定时的时间参数要求LARGE_INTEGER类型。这个值应该符合在结构体FILETIME中描述的格式。如果值是正的,代表一个特定的时刻。如果值是负的,代表以100纳秒为单位的相对时间。后面的示例代码中使用的是相对时间。在调用SetWaitableTimer()函数后,定时器将在每5秒被激发一次.

SetWaitableTimer函数

BOOL SetWaitableTimer( HANDLE hTimer,

const LARGE_INTEGER* pDueTime,

LONG lPeriod,

PTIMERAPCROUTINE pfnCompletionRoutine,

LPVOID lpArgToCompletionRoutine,

BOOL fResume);

h Ti m e r参数用于指明你要设置的定时器。

pDueTime和lPeriod两个参数是一道使用的。pDueTime参数用于指明定时器何时应该第一次报时,而lPeriod参数则用于指明此后定时器应该间隔多长时间报时一次.

VB声明 Declare Function SetWaitableTimer Lib "kernel32" (ByVal hTimer As Long, lpDueTime As FILETIME, ByVal lPeriod As Long, ByVal pfnCompletionRoutine As Long, ByVal lpArgToCompletionRoutine As Long, ByVal fResume As Boolen) As Long

SetWaitableTimer说明

启动一个可等待计时器。将它设为未发信号状态 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 类型及说明 hTimer Long,指定一个可等待计时器的句柄 lpDueTime FILETIME,指定一个包含了64位时间值的结构。如果为正,它代表计时器要触发的时间。如果为负,它代表自函数调用以来持续的时间。时间是以100ns为单位指定的 lPeriod Long,如果为零,这个计时器只会触发一次。否则,计时器会根据这里设置的持续时间自动重新启动(以毫秒为单位指定) pfnCompletionRoutine Long,指定零或者计时器触发时要调用的一个函数的地址。可在标准模块中用一个函数通过AddressOf操作符提供这个地址。或者使用此类ocx控件。最终的例程采取下述形式:

Sub myfunc(ByVal lpArgToCompletion&, ByVal dwTimerLow&, ByVal dwTimerHigh&) lpArgToCompletionRoutine Long,传递给最终例程的值 fResume Long,如果为TRUE,而且系统支持电源管理,那么在计时器触发的时候,系统会退出省电模式。如设为TRUE,但系统不支持省电模式,GetLastError就会返回ERROR_NOT_SUPPORTED 适用平台

Windows NT

温馨提示:
本文【SetWaitableTimer】由作者 爱百科 转载提供。 该文观点仅代表作者本人, 自学教育网 信息发布平台,仅提供信息存储空间服务, 若存在侵权问题,请及时联系管理员或作者进行删除。
(c)2008-2025 自学教育网 All Rights Reserved 汕头市灵创科技有限公司
粤ICP备2024240640号-6