Windows Driver Model (WDM) , ett ramverk för enhetsdrivrutiner (även känd som Win32 Driver Model och Windows NT Driver Model ), introducerades i Windows 98 och Windows 2000 för att ersätta den föråldrade VxD som användes i äldre versioner av Windows som Windows 95 och Windows 3.1 .
Microsoft Windows-drivrutinsmodellen definierar en drivrutinsmodell för Windows 98, Windows 2000 och senare operativsystem, standardiserar krav och reducerar kod. Enligt konceptet WDM kan drivrutiner vara binärkompatibla . Så till exempel kan en x86- drivrutin skriven för Windows 98 fungera med Windows Me , Windows 2000 och till och med Windows Vista . WDM-drivrutiner är designade för framåtkompatibilitet, så en sådan drivrutin kan köras på en senare version av Windows än den den ursprungligen skrevs för. Men detta betyder också att föraren inte kommer att kunna använda de nya funktionerna i den nya versionen av WDM-ramverket. WDM-drivrutiner är oftast bakåtkompatibla . Det betyder att det inte finns någon garanti för att en sådan drivrutin kommer att köras på en version av Windows som är äldre än den som den skrevs för. Till exempel kan Windows XP använda en drivrutin skriven för Windows 2000, men den drivrutinen kan inte använda de nya funktionerna som lagts till i Windows XP. En drivrutin som är skriven för Windows XP kanske inte fungerar på Windows 2000.
WDM-drivrutiner kommunicerar med varandra genom I/O-begäranpaket (IRP).
WDM-tekniken utvecklades för att öka funktionaliteten och göra det lättare att skriva drivrutiner för Windows. Även om WDM i första hand utformades för binär kompatibilitet och kompatibilitet på källnivå mellan Windows 98 och Windows 2000, förväntas detta ofta inte alltid och därför utvecklas specifika drivrutiner för varje operativsystem separat.
WDM-drivrutiner är i allmänhet utformade för att utöka standardfunktionerna för huvuddrivrutinen.
Operativsystem baserade på Windows 98 (Windows 98, Windows 98 Second Edition och Windows Me) kan använda både WDM- och VxD- drivrutinsstandarder . Båda drivrutinsmodellerna kan ge unika och olika funktioner för samma enhet. Den nyare WDM-standarden ger dock vanligtvis fler alternativ. Till exempel, om en TV-tuner använder en VxD-drivrutin, kan den ta en bild med en upplösning på 384 × 288 pixlar. Samma TV-tuner med en WDM-drivrutin kan ta en bild på 768×576 pixlar.
Windows-drivrutinsmodellen, även om den är en betydande förbättring jämfört med sin föregångare VxD- och Windows NT-drivrutinsmodell, har kritiserats av drivrutinutvecklare [1] , främst av följande skäl:
Det var också många problem på grund av kvaliteten på dokumentationen och exemplen från Microsoft.
På grund av dessa problem har Microsoft släppt ett nytt WDM-ersättningsramverk kallat Windows Driver Foundation , som inkluderar Kernel-Mode Driver Framework (KMDF) och User -Mode Driver Framework (UMDF). Windows Vista stöder både WDM och den nya Windows Driver Foundation. KMDF är även tillgängligt för nedladdning för Windows XP och till och med Windows 2000, medan UMDF endast är tillgängligt från Windows XP.