Battery Driver Development Concepts
9/8/2008
O driver bateria, que é carregado pelo Device Manager, expõe uma interface transmitir. A interface exposta transmitir fornece designs OS que não incluem acessar GWES para funções de bateria. A interface também fornece informações bateria anteriormente no processo de inicializar e permite que você as baterias suporte desse relatório mais, ou diferente, informações que o padrão permitir funções.
Para todas as plataformas
Observação
Garantir que o dispositivo nunca acorda backup com o único objetivo de exibindo um baixo-aviso bateria.
A seguinte lista mostra as funções que permite que o driver bateria:
- GetSystemPowerStatusEx
- GetSystemPowerStatusEx2
- PowerPolicyNotify
- BatteryDrvrGetLevels
- BatteryDrvrSupportsChangeNotification
- BatteryGetLifeTimeInfo
- BatteryNotifyOfTimeChange
Para Windows incorporado CE
Interface PDD da bateria
Funções de bateria são convertidas em Battery Driver IOCTLs e passadas para o driver bateria. A bateria driver modelo driver de dispositivo (MDD), em seguida, chamar funções internas que podem resultar na plataforma-dependente chama driver (PDD).
A seguinte lista mostra o driver bateria funções PDD:
- BatteryPDDInitialize
- BatteryPDDDeinitialize
- BatteryPDDResume
- BatteryPDDPowerHandler
- BatteryPDDGetStatus
- BatteryPDDGetLevels
- BatteryPDDSupportsChangeNotification
In addition to essas funções, você pode ter a bateria PDD receber personalizado IOCTLs. Para habilitar isso, você deve ter o PDD declarar uma função ao processo de códigos IOCTL e transmitir seu ponteiro para o MDD. Você deve definir o ponteiro de função para ter uma assinatura compatível com PFN_BATTERY_PDD_IOCONTROL.
O seguinte exemplo de código mostra como você deve registrar o personalizado manipulador IOCTL da PDD BatteryPddInitialize função. O BatteryPDDIoControl Nome função na exemplo de código abaixo é um espaço reservado e é chamado por um ponteiro de função.
DWORD BatteryPddIOControl(
DWORD dwContext,
DWORD dwIoctl,
PUCHAR pInBuf,
DWORD InBufLen,
PUCHAR pOutBuf,
DWORD OutBufLen,
PDWORD pdwBytesTransferred)
{
DWORD dwStatus = ERROR_SUCCESS;
// additional code
return dwStatus;
}
BOOL BatteryPddInitialize(LPCTSTR pszRegistryContext)
{
// additional code
gpfnBatteryPddIOControl = BatteryPddIOControl;
// additional code
}
Para Mobile Windows
Considerações sobre Driver da bateria do Mobile Windows fornecidos dispositivos
A seguinte lista mostra as questões a serem consideradas quando estiver desenvolvendo um driver para um dispositivo Windows Mobile powered bateria:
- Polling the Battery on a Windows Mobile Powered Device
- Minimizing the Delay of the Battery Level Indicator on a Windows Mobile Powered Device