WM 6.1 soso 한 source

카테고리 없음 2009. 12. 10. 09:02 posted by 이한비
[ Idle 모드 진입 방지 ]

    void SystemIdleTimerReset()

        : system이 idle 모드로 진입하는 내부 타이머를 리셋한다.

 ( http://msdn2.microsoft.com/en-us/library/aa930260.aspx )

1. 적당한 간격으로 timer 이벤트를 발생시킨다.
SetTimer(hWindow, 1, 15000, NULL); // 여기서는 15초 간격으로 설정했음

2. WM_TIMER 이벤트가 발생하면 SystemIdleTimerReset 함수를 Call 한다.:
SystemIdleTimerReset();

3. 프로그램 종료 전에 Timer를 Kill 한다.
KillTimer(hWnd, 1);

4. header : winuser.h

[ 백라이트 power 유지하기 ]

    HANDLE SetPowerRequirement(
           
PVOID pvDevice,
                  CEDEVICE_POWER_STATE DeviceState,
                  ULONG DeviceFlags,
                  PVOID pvSystemState,
                  ULONG StateFlags
            )

( http://msdn2.microsoft.com/en-us/library/aa908456.aspx )

1. 백라이트 유지 상태로 설정

        hPwrReq = SetPowerRequirement(TEXT("BKL1:"), D0, POWER_NAME, NULL, 0);

2. 프로그램이 종료시 유지 상태해제

     ReleasePowerRequirement(hPwrReq); 

3. Return value
Non zero : success
0 : error

4. Header : Pm.h