Добрый день! Помоги решить проблему, есть сервис обрабатывающий USB накопители в момент их подключения, но потребовалось повторно обработать устройства с которыми компьютер ушел в сон. Мне удалось решить эту проблему, когда сервис работает как обычная программа для Windows, я повесил дополнительный обработчик на DBT_DEVNODES_CHANGED и я думал у сервиса все будет тоже ОК. Но я был не прав, сервис не получает никаких сообщений кроме DBT_DEVICE_ARRIVAL и DBT_DEVICEREMOVECOMPLETE. После этого я решил посмотреть все сообщения которые сервис получает в ConrolHandler, но кроме SERVICE_CONTROL_DEVICEEVENT и SERVICE_CONTROL_STOP мой сервис в процессе ухода в спящий режим и выхода из него не получил. Вопрос, как понять что компьютер проснулся и обработать устройства?
http://www.trishtech.com/2013/07/how-to-disable-hiberboot-in-windows-8/ https://blogs.msdn.microsoft.com/b8/2011/09/08/delivering-fast-boot-times-in-windows-8/
В общем моя ошибка была в том, что когда я вызываю SetServiceStatus указал флаг получения событий питания SERVICE_ACCEPT_POWEREVENT