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