Moving a Battery Driver from GWES to Device Manager
9/8/2008
Em Windows CE .NET 4.2, hardware bateria Platform-specific suporte codificar foi movido de GWES em um driver instalável carregado pelo Device Manager.
Com esse design, as configurações que não incluem GWES podem receber acessar para as bateria programação de aplicativos interfaces (APIs). Esse design também permite que informações bateria fique disponível anteriormente no processo de inicializar e permite que você as baterias suporte desse relatório permitem APIs de dados mais, ou diferentes, que o padrão.
Os aplicativos podem continuar a usar as funções bateria sem modificação. No entanto, você deve estar ciente do seguinte:
- Se você estiver usando um personalizado arquivo Cesysgen.bat, em vez um arquivo Hlbase-or Iabase-based, defina a variável de ambiente % COREDLL_COMPONENTS % para conter o componente da bateria e definir a variável de ambiente % CE_MODULES % para conter o destino Battdrvr Sysgen.
- As funções bateria está pronta para usar quando o evento SYSTEM/BatteryAPIsReady é sinalizado. Este evento é definido como BATTERY_API_EVENT_NAME em Battery.h.
- O driver bateria deve anunciar o {DD176277-CD34-4980-91EE-67DBEF3D8913} GUID, preferencialmente do driver IClass subchave. Este GUID é definido como BATTERY_DRIVER_CLASS em Battery.h. Drivers que esta interface anunciam deve suporte as IOCTLs listado em Battery.h.
- Um NULL exemplo driver bateria é fornecido no Diretório de %_WINCEROOT%\Public\Common\Oak\Drivers\Battdrvr. O destino Battdrvr Sysgen automaticamente links esse driver para a executar-imagem tempo.
- O driver bateria é dividido em um modelo driver de dispositivo (MDD) e um dependente plataforma driver (PDD). A biblioteca Battdrvr_lib implementa a MDD e inclui um exemplo PDD. Para implementar um real PDD, implementar todas a entrada PDD pontos em Sbattif.c no design OS e link com a MDD.
- Para obter um driver bateria exemplo, consulte % _WINCEROOT\Platform\Xsc1bd\Drivers\Battdrvr.
Para mover um driver bateria existente out of o Diretório \GWES
Adicione battdrvr a _WINCEROOT%\Public\Common\OAK\Drivers\Dirs %.
Copie informações origem e cabeçalho de \GWES\Battery para _WINCEROOT%\Public\Common\OAK\Drivers\Battdrvr %.
Copie %_WINCEROOT%\Platform\Xsc1bd\Drivers\Battdrvr\Sources juntamente com Makefile e Battdrvr.def para _WINCEROOT%\Public\Common\OAK\Drivers\Battdrvr %.
Editar o arquivo fontes como apropriado para suas fontes. De exemplo, você deve alteração de arquivo Nome e incluir o caminho.
Editar as fontes bateria para fornecer as novas APIs exigido pelas MDDs. Ao driver bateria do design de OS contém arquivos objeto que lista todas a entrada aponta atualmente fornecida pelo Sbattif.c no MDD, o vinculador inclui a codificar design OS vez Sbattif.OBJ no executável final. Dessa forma, os OEMs podem link seu próprios PDD com a biblioteca driver bateria criado no público. O driver bateria no público serve como dois um driver exemplo e um MDD.
Adicione .bib e .reg entradas para os novos drivers, usando qualquer um dos designs OS exemplo como um guia. Procure BATTDRVR Platform.bib e Platform.reg para obter exemplos.
Se seu driver bateria compartilha recursos com outros drivers e confiou anteriormente no fato que GWES foi carregado posteriores instaláveis drivers, ajuste a ordem carregar driver no Registro apropriadamente.