MMRESULT timeSetEvent(
UINT uDelay ,
UINT uResolution ,
LPTIMECALLBACK lpTimeProc ,
DWORD_PTR dwUser ,
UINT fuEvent
);
Параметры
uDelay - задержка события в миллисекундах. Если это значение лежит вне диапазона допустимых значений задержки, поддерживаемых таймером, функция возвращает ошибку.
uResolution - разрешение событий таймера в миллисекундах. Разрешение увеличивается при уменьшении значений; разрешение, установленное в нуль, показывает, что периодические события будут происходить с наибольшей возможной точностью. Для уменьшения системных издержек, тем не менее, вы должны использовать максимальное значение, соответствующее вашему приложению.
lpTimeProc - указатель на функцию обратного вызова, которая вызывается по истечению одиночного события или периодически по истечению периодических событий. Если fuEvent определяет флаг TIME_CALLBACK_EVENT_SET или TIME_CALLBACK_EVENT_PULSE, то значение параметра lpTimeProc интерпретируется как дескриптор события. Для любых других значений fuEvent , значение lpTimeProc интерпретируется как указатель на функцию со следующей сигнатурой:
void( CALLBACK)( UINT uTimerID , UINT uMsg , DWORD_PTR dwUser , DWORD_PTR dw1 , DWORD_PTR dw2 ).
dwUser - определяемые пользователем данные.
fuEvent - тип события таймера. Может принимать одно из следующих значений:
Значение
|
Пояснение
|
TIME_ONESHOT
|
Событие происходит один раз, после uDelay миллисекунд.
|
TIME_PERIODIC
|
Событие происходит каждые uDelay миллисекунд.
|
Параметр fuEvent также может принимать одно из следующих значений:
Значение
|
Пояснение
|
TIME_CALLBACK_FUNCTION
|
По истечении времени Windows вызывает функцию, определяемую значением параметра lpTimeProc . Поведение по умолчанию.
|
TIME_CALLBACK_EVENT_SET
|
По истечении времени Windows вызывает функцию SetEventдля установки события, определяемого значением параметра lpTimeProc . Параметр dwUser игнорируется.
|
TIME_CALLBACK_EVENT_PULSE
|
По истечении времени Windows вызывает функцию PulseEventдля срабатывания события, определяемого значением параметра lpTimeProc . Параметр dwUser игнорируется.
|
TIME_KILL_SYNCHRONOUS
|
Передача этого флага предотвращает происхождение события после вызова функции timeKillEvent.
|
Возвращаемые значения
Возвращается идентификатор события таймера в случае успеха, или ошибка в противном случае. Функция возвращает NULL, если ее вызов завершился неудачей, и событие таймера не было создано. (Идентификатор события также передается в функцию обратного вызова).
Комментарии
Каждый вызов timeSetEventдля периодических событий таймера требует соответствующего вызова функции timeKillEvent. Создание события с флагами TIME_KILL_SYNCHRONOUS и TIME_CALLBACK_FUNCTION предотвращает происхождение события после вызова функции timeKillEvent.
Требования
Windows NT /2000/ XP :Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me :Включена в Windows 95 и выше.
Заголовок:Объявлена в Mmsystem.h; подключать Windows.h.
Библиотека:Используйте Winmm.lib.
См. также
PulseEvent, SetEvent, timeKillEvent.
Функция LockWorkStationотправляет запрос на блокировку дисплея рабочей станции. Блокирование рабочей станции защищает ее от несанкционированного использования.
BOOL LockWorkStation( VOID);
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается ненулевое значение. Поскольку функция выполняется асинхронно, ненулевое возвращаемое значение указывает, что операция была инициирована. Оно не указывает, была ли рабочая станция успешно заблокирована.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError.
Комментарии
Общими причинами, по которым рабочая станция не может быть заблокирована, даже если вызов функции завершился успешно, могут быть: отсутствие вошедшего в систему пользователя, существующая блокировка рабочей станции, запущенность процесса не на интерактивном рабочем столе, отклонение запроса библиотекой графической идентификации и аутентификации (GINA DLL).
Читать дальше