Плакат первый раз, будьте нежны ;-)
Я пишу аудиоприложение (на С++), которое работает как служба Windows, использует WASAPI для отбора семплов из линии в разъеме и выполняет некоторую обработку.
Что-то, что я заметил, это то, что когда мое приложение «записывает», Windows не будет автоматически приостанавливаться или переходить в спящий режим.
Я зарегистрировался для получения уведомлений о событиях питания, и если я сам нажму кнопку приостановки, моя служба получит соответствующие события питания и обработает их нормально. Если я оставлю систему в приостановке самостоятельно, события питания никогда не будут получены.
Если я удалю биты кода, где я ссылаюсь на WASAPI, события питания будут получены как обычно как при ручной, так и при автоматической приостановке. Таким образом, похоже, что в использовании WASAPI есть что-то, что говорит Windows игнорировать автоматический таймер приостановки.
Может ли кто-нибудь помочь объяснить это поведение, и могу ли я что-нибудь сделать, чтобы остановить его? Я не хочу, чтобы мое приложение было одним из тех, которые плохо себя ведут и не позволяют системам приостанавливаться.