WINCE 電源管理中的應(yīng)用程序API
WINCE的電源管理不但提供了對(duì)設(shè)備驅(qū)動(dòng)的接口,也提供了對(duì)應(yīng)用程序的接口。也就是說應(yīng)用程序可以通過這些接口控制電源管理模塊來管理設(shè)備和系統(tǒng)的電源狀態(tài)。
本文引用地址:http://butianyuan.cn/article/201609/304602.htm有兩個(gè)方式來控制電源。第一個(gè)方式是應(yīng)用程序給定一個(gè)電源設(shè)定。第二個(gè)方式是應(yīng)用程序請(qǐng)求電源狀態(tài)不要低于給定的級(jí)別。
第一種方式以下幾種API:
GetSystemPowerState()
SetSystemPowerState()
GetDevicePower()
SetDevicePower()
第二種方式的API:
SetPowerRequirement()
ReleasePowerRequirement()
第二種機(jī)制為應(yīng)用程序提供了強(qiáng)大的能力控制電源管理器調(diào)整設(shè)備的電源等級(jí),與其他所有的電源設(shè)置相比,它具有很高的優(yōu)先級(jí)。舉例來說,假設(shè)有一個(gè)條形碼閱讀器連接在COM1端口,并且COM1只有在最高電源等級(jí)(D0)時(shí)才能驅(qū)動(dòng)這個(gè)條形碼閱讀器。為了使其正常工作,應(yīng)用程序?qū)⒄{(diào)用SetPowerRequirement把COM1指定D0狀態(tài)。假設(shè)之后串口驅(qū)動(dòng)自身決定降低一個(gè)電源等級(jí),驅(qū)動(dòng)調(diào)用DevicePowerNotify通知電源管理器它期望的設(shè)備電源狀態(tài),驅(qū)動(dòng)程序的這個(gè)請(qǐng)求將不起作用,直到應(yīng)用程序調(diào)用ReleasePowerRequirement為止。繼續(xù)這個(gè)例子,假設(shè)這時(shí)的系統(tǒng)電源狀態(tài)轉(zhuǎn)換為低能耗等級(jí),雖然與之相關(guān)的COM1電源等級(jí)為D3,由于應(yīng)用程序的電源請(qǐng)求,COM1將繼續(xù)維持在D0狀態(tài)。
在調(diào)用SetPowerRequirement函數(shù)時(shí),指定POWER_FORCE標(biāo)志將強(qiáng)制設(shè)備不進(jìn)入休眠狀態(tài),即使這時(shí)系統(tǒng)已處于休眠狀態(tài)。
評(píng)論