This function starts a specified timer event.
MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK fptc, DWORD dwUser, UINT fuEvent );
[in] Event delay, in milliseconds.
If this value is not in the range of the minimum and maximum event delays supported by the timer, the function returns an error.
[in] Resolution of the timer event, in milliseconds.
The resolution increases with smaller values; a resolution of zero indicates periodic events should occur with the greatest possible accuracy. To reduce system overhead, however, you should use the maximum value appropriate for your application.
[in] Pointer to a callback function that is called once on expiration of a single event or periodically on expiration of periodic events.
If fuEvent specifies the TIME_CALLBACK_EVENT_SET or TIME_CALLBACK_EVENT_PULSE flag, and then the fptc parameter is interpreted as a handle to an event object. The event will be set or pulsed on completion of a single event or periodically on completion of periodic events.
For any other value of fuEvent, the fptc parameter is interpreted as a function pointer.
The following code example shows the signature for the function pointer.
typedef void (CALLBACK TIMECALLBACK)(UINT uTimerID, UINT uMsg, DWORD_PTR dwUser, DWORD_PTR dw1, DWORD_PTR dw2);
typedef TIMECALLBACK FAR *LPTIMECALLBACK;
[in] User-supplied callback data.
[in] Timer event type.
The following table shows the values that can be included by the fuEvent parameter.
TIME_ONESHOT
Event occurs once, after uDelay milliseconds.
TIME_PERIODIC
Event occurs every uDelay milliseconds.
TIME_CALLBACK_FUNCTION
When the timer expires, the system calls the function pointed to by the fptc parameter.
This is the default value.
TIME_CALLBACK_EVENT_SET
When the timer expires, the system calls the SetEvent function to set the event pointed to by the fptc parameter.
The dwUser parameter is ignored.
TIME_CALLBACK_EVENT_PULSE
When the timer expires, the system calls PulseEvent function to pulse the event pointed to by the fptc parameter.
Returns an identifier for the timer event, if successful; otherwise, an error is returned.
This function returns 0 if it fails and the timer event was not created.
This identifier is passed to the callback function.
Each call to timeSetEvent for periodic timer events requires a corresponding call to the timeKillEvent function.
Creating an event with the TIME_CALLBACK_FUNCTION flags prevents the event from occurring after the timeKillEvent function is called.