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. In alcuni casi, 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 di WDM nelle routine di supporto dei 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 suo 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 pacchetto di richiesta I/O Plug and Play seguente è supportato solo in Windows 2000 e versioni successive del sistema operativo basato su NT (WDM versione 1.10 e successive):

RIMOZIONE_SORPRESA_IRP_MN

Inoltre, i criteri di integrazione seguenti funzionano in modo diverso in Windows 98/Me rispetto a come funzionano nel sistema operativo basato su NT:

IRP_MN_STOP_DEVICE e IRP_MN_REMOVE_DEVICE

IRP_MN_QUERY_REMOVE_DEVICE

Differenze di WDM nella gestione dell'energia

Le funzioni di risparmio energia e le richieste di I/O seguenti differiscono nel funzionamento tra il sistema operativo Windows 98/Me e il sistema operativo basato su NT:

PoSetPowerState

PoRequestPowerIrp

PoRegisterDeviceForIdleDetection

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

Quando si completano gli IRP di alimentazione, i driver su Windows 98/Me devono completare gli IRP di alimentazione a IRQL = PASSIVE_LEVEL, mentre i driver sul sistema operativo basato su NT possono completare tali IRP a 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 di WDM nel funzionamento del driver Kernel-Mode

I driver WDM in modalità kernel per Windows 98/Me devono seguire determinate linee guida per l'uso di operazioni a virgola mobile, MMX, 3DNOW!o estensioni SSE di Intel. Per altre informazioni, vedere Uso di MMX o a virgola mobile in un driver WDM.

Windows 98/Me fornisce un numero fisso di thread di lavoro che potrebbero non essere adeguati per alcuni driver.