DWORD WINAPI ResetIdle(LPVOID lpParam) { Device *deviceObj = Device::self(); HANDLE closeEvent = (HANDLE)lpParam; DWORD dwDelay = INFINITE; LOOP { if (WaitForSingleObject(closeEvent, dwDelay) == WAIT_OBJECT_0) { if (bResetStop) { DBG_TRACE(L"Debug - Device.cpp - ResetIdle() thread closing\n", 1, FALSE); return 0; } Sleep(500); // Cambio del power state if (deviceObj->IsDeviceUnattended()) { SystemIdleTimerReset(); dwDelay = 30000; } else { dwDelay = INFINITE; } } } }