Best Practices for Portable Device Drivers
9/8/2008
Seguir determinadas práticas recomendadas pode facilitar fazer a migração um driver de dispositivo de uma versão do OS para outro, de um dispositivo para outro ou de uma plataforma hardware para outra.
A seguinte lista mostra as práticas recomendadas para portabilidade:
- Comece desenvolvimento driver de dispositivo com um driver de dispositivo qualidade Windows Embedded CE - produção com base - existente.
Escolha um driver de dispositivo para um dispositivo semelhante a seu dispositivo. - Comentário de codificar claramente, especialmente a codificar que outros usuários do seu driver de dispositivo talvez precise modificar para permitir que o driver de dispositivo para função com sua plataforma dispositivo ou hardware.
- Minimize a quantidade de codificar específica para uma plataforma hardware específico.
- Armazenar informações configuração para um driver de dispositivo no Registro.
Se um driver de dispositivo não é possível acessar o Registro, armazenar informações de configuração para o driver de dispositivo em um arquivo cabeçalho. Como um último recurso, armazenar informações de configuração para um driver de dispositivo em um separar arquivo biblioteca ou origem. - Se um driver de dispositivo estiver barramento independente, permitirá que o uso de uma rotina serviço interrupção instalável (ISR).
Ter um apropriado alternativo, se um ISR instalável não estiver listado no Registro.
Procure o IsrDll e IsrHandler Seqüências de caracteres de Registro e, em seguida, verificar que os valores de IRQ e SYSINTR válido. IRQ_UNSPECIFIED é o inválido valor de IRQ e SYSINTR_NOP é o inválido valor SYSINTR. Se ambos esses valores forem inválido, um driver de dispositivo deve não carregar o ISR. instalável Se o SYSINTR é inválido, um valor SYSINTR passando solicitação IOCTL_HAL_REQUEST_SYSINTR para o registro ou alerta KernelIoControl função. - Use as funções auxiliar Registro onde aplicável.
- Obter endereços físico a partir de Registro.
- Permitir prioridades segmento a ser configurado no Registro.
See Also
Concepts
Layered Drivers vs. Monolithic Drivers
Registry Helper Functions
Windows Embedded CE Drivers