Portabilidade em drivers de rede
Os drivers NDIS devem ser escritos para que sejam facilmente portáteis em todas as plataformas que dão suporte a sistemas operacionais Microsoft Windows. Em geral, a portabilidade de uma plataforma de hardware para outra deve exigir apenas recompilação com um compilador compatível com o sistema.
Siga estas diretrizes ao escrever drivers NDIS:
Evite chamar funções específicas do sistema operacional. Em vez disso, use as funções equivalentes do NDIS. O NDIS exporta um conjunto avançado de funções de suporte para escrever drivers e, se você chamar essas funções de suporte, poderá portar o código entre sistemas operacionais da Microsoft que dão suporte ao NDIS.
Escrever drivers em C (especificamente, o padrão ANSI C). Evite usar os recursos de linguagem aos quais outros compiladores compatíveis com o sistema não dão suporte. Não use nenhum recurso que o padrão ANSI C designe como "implementação definida".
Evite dependências em tipos de dados cujo tamanho e layout variam entre plataformas. Por exemplo, não escreva código de driver que chame nenhuma função C Run-Time Library em vez de funções fornecidas pelo NDIS.
Não use operações de ponto flutuante no modo kernel. Se você tentar essas operações, ocorrerá um erro fatal.
Use instruções #ifdef e #endif para encapsular o código usado para dar suporte a recursos específicos da plataforma.