Portabilität in Netzwerktreibern
NDIS-Treiber sollten so geschrieben werden, dass sie problemlos auf allen Plattformen portierbar sind, die Microsoft Windows-Betriebssysteme unterstützen. Im Allgemeinen sollte das Portieren von einer Hardwareplattform zu einer anderen nur eine Neukompilierung mit einem systemkompatiblen Compiler erfordern.
Befolgen Sie beim Schreiben von NDIS-Treibern die folgenden Richtlinien:
Vermeiden Sie das Aufrufen betriebssystemspezifischer Funktionen. Verwenden Sie stattdessen die NDIS-äquivalenten Funktionen. NDIS exportiert eine Vielzahl von Unterstützungsfunktionen zum Schreiben von Treibern, und wenn Sie diese Supportfunktionen aufrufen, können Sie den Code zwischen Microsoft-Betriebssystemen portieren, die NDIS unterstützen.
Schreiben Sie Treiber in C (insbesondere ANSI C Standard). Vermeiden Sie die Verwendung von Sprachfeatures, die von anderen systemkompatiblen Compilern nicht unterstützt werden. Verwenden Sie keine Features, die vom ANSI C-Standard als "implementierungsdefiniert" bezeichnet werden.
Vermeiden Sie Abhängigkeiten von Datentypen, deren Größe und Layout plattformübergreifend variieren. Schreiben Sie beispielsweise keinen Treibercode, der C Run-Time Library-Funktionen anstelle von von NDIS bereitgestellten Funktionen aufruft.
Verwenden Sie keine Gleitkommavorgänge im Kernelmodus. Wenn Sie solche Vorgänge versuchen, tritt ein schwerwiegender Fehler auf.
Verwenden Sie #ifdef - und #endif-Anweisungen , um Code zu kapseln, der zur Unterstützung plattformspezifischer Features verwendet wird.