Differenze nelle versioni WDM
Il modo più semplice per garantire la compatibilità tra sistemi consiste nel scrivere un driver che usa solo le funzionalità supportate dalla versione con numero più basso di WDM. Tuttavia, questo non è sempre possibile. A volte, i driver richiedono codice aggiuntivo per sfruttare le funzionalità disponibili nelle versioni successive di WDM o per compensare le differenze tra i sistemi operativi Windows.
Differenze WDM nelle routine di supporto driver
La pagina di riferimento di Windows Driver Kit (WDK) per ogni routine di supporto driver indica se la routine è limitata a versioni specifiche di WDM o se il relativo comportamento è diverso in versioni diverse del sistema operativo. Prima di usare qualsiasi routine di supporto driver in un driver tra sistemi, assicurarsi di comprendere eventuali restrizioni o comportamenti specifici della versione.
Differenze di WDM in Plug and Play
Il seguente Plug and Play pacchetto di richiesta I/O (IRP) è supportato solo in Windows 2000 e versioni successive del sistema operativo basato su NT (WDM versione 1.10 e versioni successive):
Inoltre, gli IRP seguenti funzionano in modo diverso in Windows 98/Me dal modo in cui funzionano sul sistema operativo basato su NT:
IRP_MN_STOP_DEVICE e IRP_MN_REMOVE_DEVICE
Differenze di WDM in Power Management
Le funzioni di risparmio energia e le richieste di I/O seguenti differiscono nell'operazione tra il sistema operativo Windows 98/Me e il sistema operativo basato su NT:
PoRegisterDeviceForIdleDetection
Quando si completano gli IRP di alimentazione, i driver in Windows 98/Me devono completare gli IRP in IRQL = PASSIVE_LEVEL, mentre i driver nel sistema operativo basato su NT possono completare tali IRP in IRQL = PASSIVE_LEVEL o IRQL = DISPATCH_LEVEL.
Il flag DO_POWER_PAGABLE nella struttura DEVICE_OBJECT viene usato in modo diverso nel sistema operativo Windows 98/Me rispetto al sistema operativo basato su NT.
Differenze WDM nell'operazione del driver Kernel-Mode
I driver WDM in modalità kernel per Windows 98/Me devono seguire alcune linee guida per l'uso di operazioni a virgola mobile, MMX, 3DNOW!o estensioni SSE di Intel. Per altre informazioni, vedere Uso di virgola mobile o MMX in un driver WDM.
Windows 98/Me fornisce un numero fisso di thread di lavoro che potrebbero non essere adeguati per alcuni driver.