Тарас Сорока - Русский справочник по Win32 API
Комментарии
Вызовите эту функцию непосредственно перед использованием сервисов мультимедиа таймера, и вызовите функцию timeEndPeriod после завершения использования сервисов мультимедиа таймера.
Вы должны каждому вызову timeBeginPeriod сопоставить вызов timeEndPeriod , определив одинаковое минимальное разрешение в обоих вызовах. Приложение может вызывать функцию timeBeginPeriod многократно, до тех пор, пока каждому ее вызову сопоставлен ответный вызов timeEndPeriod .
Требования
Windows NT/2000/XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem.h ; подключать Windows.h.
Библиотека: Используйте Winmm.lib.
См. также
timeEndPeriod.
timeEndPeriod
Функция timeEndPeriod сбрасывает ранее установленное минимальное разрешение мультимедиа таймера.
MMRESULT timeEndPeriod(
UINT uPeriod
);
Параметры
uPeriod - минимальное разрешение таймера в миллисекундах, указанное в предыдущем вызове функции timeBeginPeriod .
Возвращаемые значения
В случае успеха возвращается TIMERR _ NOERROR или TIMERR _ NOCANDO, если разрешение, заданное значением параметра uPeriod , находится вне допустимого диапазона.
Комментарии
Вызовите эту функцию непосредственно после завершения использования сервисов мультимедиа таймера.
Вы должны каждому вызову timeBeginPeriod сопоставить вызов timeEndPeriod , определив одинаковое минимальное разрешение в обоих вызовах. Приложение может вызывать функцию timeBeginPeriod многократно, до тех пор, пока каждому ее вызову сопоставлен ответный вызов timeEndPeriod .
Требования
Windows NT /2000/ XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem . h ; подключать Windows . h .
Библиотека: Используйте Winmm . lib .
См . также
timeBeginPeriod .
timeGetDevCaps
Функция timeGetDevCaps запрашивает мультимедиа таймер для определения его разрешения.
MMRESULT timeGetDevCaps (
LPTIMECAPS ptc ,
UINT cbtc
);
Параметры
ptc - указатель на структуру типа TIMECAPS . Эта структура заполняется информацией о разрешении мультимедиа таймера.
cbtc - размер структуры типа TIMECAPS в байтах.
Возвращаемые значения
Возвращается TIMERR_NOERROR в случае успеха или TIMERR_STRUCT, если функция не может вернуть возможности устройства.
Требования
Windows NT /2000/ XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem.h ; подключать Windows.h .
Библиотека: Используйте Winmm. lib.
См . также
TIMECAPS.
timeGetSystemTime
Функция timeGetSystemTime извлекает системное время в миллисекундах. Системное время - это время, истекшее с момента старта Windows . Эта функция работает схожим с функцией timeGetTime образом. Смотри описание timeGetTime для подробного описания работы с данными функциями.
MMRESULT timeGetSystemTime (
LPMMTIME pmmt ,
UINT cbmmt
);
Параметры
pmmt - указатель на структуру типа MMTIME .
cbmmt - размер структуры типа MMTIME в байтах.
Возвращаемые значения
Возвращает TIMERR _ NOERROR . Системное время возвращается в качестве значения члена ms структуры типа MMTIME .
Требования
Windows NT /2000/ XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem . h ; подключать Windows . h .
Библиотека: Используйте Winmm . lib .
См . также
timeGetTime, MMTIME .
timeGetTime
Функция timeGetTime извлекает системное время в миллисекундах. Системное время - это время, истекшее с момента старта Windows .
DWORD timeGetTime (VOID);
Параметры
Функция не имеет параметров.
Возвращаемые значения
Функция возвращает системное время в миллисекундах.
Комментарии
Единственной разницей между этой функцией и функцией timeGetSystemTime является использование timeGetSystemTime структуры типа MMTIME для возвращения системного времени. У функции timeGetTime меньшие по сравнению с timeGetSystemTime накладные расходы.
Обратите внимание, что значение, возвращаемое функцией timeGetTime , имеет тип DWORD . Возвращаемое значение сбрасывается в нуль каждые 2^32 миллисекунд, что составляет примерно 49.71 дней. Это может вызвать проблемы в коде, который напрямую использует возвращаемое функцией timeGetTime значение в вычислениях, особенно, когда значение используется для контроля выполнения кода. Вы должны всегда в вычислениях использовать разницу между двумя возвращаемыми функцией timeGetTime значениями.
Windows NT /2000: Точность по умолчанию для функции timeGetTime может быть пять или более миллисекунд, в зависимости от машины. Вы можете использовать функции timeBeginPeriod и timeEndPeriod для увеличения точности timeGetTime . Если вы это сделаете, минимальная разница между двумя успешно возвращенными функцией timeGetTime значениями может быть меньше минимального периода, установленного функциями timeBeginPeriod и timeEndPeriod . Для измерения коротких интервалов времени с высокой точностью используйте функции QueryPerformanceCounter и QueryPerformanceFrequency.
Windows 95: Точность по умолчанию для функции timeGetTime составляет одну миллисекунду. Другими словами, функция timeGetTime может возвращать значения, отличающиеся друг от друга только на одну миллисекунду. И не имеет значения, были ли вызваны функции timeBeginPeriod и timeEndPeriod.
Требования
Windows NT /2000/XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem.h ; подключать Windows.h .
Библиотека: Используйте Winmm.lib .
См . также
timeGetSystemTime, MMTIME, timeBeginPeriod, timeEndPeriod, QueryPerformanceCounter, QueryPerformanceFrequency.
timeKillEvent
Функция timeKillEvent отменяет указанное событие таймера
MMRESULT timeKillEvent (
UINT uTimerID
);
Параметры
uTimerID - идентификатор отменяемого события таймера. Этот идентификатор был возвращен функцией timeSetEvent , когда устанавливалось событие таймера.
Возвращаемые значения
Возвращается TIMERR_NOERROR в случае успеха или MMSYSERR_INVALPARAM, если указанное событие таймера не существует.
Требования
Windows NT /2000/ XP : Включена в Windows NT 3.1 и выше.
Windows 95/98/ Me : Включена в Windows 95 и выше.
Заголовок: Объявлена в Mmsystem.h ; подключать Windows.h.
Библиотека: Используйте Winmm.lib.
См . также
timeSetEvent.
timeSetEvent
Функция timeSetEvent запускает указанное событие мультимедиа таймера. Мультимедиа таймер выполняется в своем собственном потоке. После активации события, оно вызывает указанную функцию обратного вызова или устанавливает, или вызывает срабатывание указанного события.
MMRESULT timeSetEvent (
UINT uDelay,
UINT uResolution,
LPTIMECALLBACK lpTimeProc,
DWORD_PTR dwUser,
UINT fuEvent
);
Параметры
uDelay - задержка события в миллисекундах. Если это значение лежит вне диапазона допустимых значений задержки, поддерживаемых таймером, функция возвращает ошибку.
uResolution - разрешение событий таймера в миллисекундах. Разрешение увеличивается при уменьшении значений; разрешение, установленное в нуль, показывает, что периодические события будут происходить с наибольшей возможной точностью. Для уменьшения системных издержек, тем не менее, вы должны использовать максимальное значение, соответствующее вашему приложению.