Как приостановить таймер, созданный с помощью CreateTimerQueueTimer - PullRequest
3 голосов
/ 08 мая 2019

Мне нужно приостановить таймер, созданный с помощью функции CreateTimerQueueTimer API win32, но я не могу найти способ приостановить таймер.Кто-нибудь знает, возможно ли это?

1 Ответ

5 голосов
/ 08 мая 2019

Я полагаю, что вы можете вызвать ChangeTimerQueueTimer и установить для _In_ ULONG Period значение 0. Где аргумент _In_opt_ HANDLE TimerQueue будет NULL, а _Inout_ HANDLE Timer будет HANDLE, полученным из CreateTimerQueueTimer.Это выполнит обратный вызов в таймере только один раз и остановится.Если вы хотите снова активировать таймер, вы можете ChangeTimerQueueTimer снова с тем же дескриптором, обеспечивающим период больше 0 для периодического запуска.В частности, не существует API для приостановки таймера, но предотвращение его периодической работы должно быть эквивалентным в вашем случае.Просто обратите внимание, что ваш обратный вызов будет сбит один раз после вызова ChangeTimerQueueTimer перед «приостановкой».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...