Тарас Сорока - Русский справочник по Win32 API
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
Функция LockWorkStation отправляет запрос на блокировку дисплея рабочей станции. Блокирование рабочей станции защищает ее от несанкционированного использования.
BOOL LockWorkStation ( VOID );
Параметры
Функция не имеет параметров.
Возвращаемые значения
В случае успеха возвращается ненулевое значение. Поскольку функция выполняется асинхронно, ненулевое возвращаемое значение указывает, что операция была инициирована. Оно не указывает, была ли рабочая станция успешно заблокирована.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError.
Комментарии
Общими причинами, по которым рабочая станция не может быть заблокирована, даже если вызов функции завершился успешно, могут быть: отсутствие вошедшего в систему пользователя, существующая блокировка рабочей станции, запущенность процесса не на интерактивном рабочем столе, отклонение запроса библиотекой графической идентификации и аутентификации (GINA DLL).
Вызов функции приводит к такому же результату, что и нажатие клавиш Ctrl + Alt + Del и щелчок по кнопке " Lock Workstation " ("Блокировка"). Для разблокирования рабочей станции пользователь должен войти в систему.
Требования
Windows NT /2000/ XP: Включена в Windows 2000 и выше.
Windows 95/98/Me: Не поддерживается .
Заголовок: Объявлена в Winuser.h; подключать Windows.h.
Библиотека: Используйте User32.lib.