应编写 NDIS 驱动程序,以便在支持 Microsoft Windows作系统的所有平台上轻松移植它们。 一般情况下,从一个硬件平台移植到另一个硬件平台只需要使用与系统兼容的编译器重新编译。
编写 NDIS 驱动程序时,请遵循以下准则:
避免调用操作系统特定的函数。 请改用 NDIS 等效函数。 NDIS 导出一组丰富的支持函数来编写驱动程序,如果调用这些支持函数,则可以在支持 NDIS 的 Microsoft作系统之间移植代码。
在 C 中编写驱动程序(特别是 ANSI C 标准)。 避免使用其他系统兼容的编译器不支持的任何语言功能。 请勿使用 ANSI C 标准指定为“已定义的实现”的任何功能。
避免依赖于其大小和布局因平台而异的数据类型。 例如,不要编写调用任何 C Run-Time 库函数而不是 NDIS 提供的函数的驱动程序代码。
请勿在内核模式下使用浮点运算。 如果尝试此类操作,将发生致命错误。
使用 #ifdef 和 #endif 语句封装用于支持特定于平台的功能的代码。