Différences dans les versions WDM
Le moyen le plus simple de garantir la compatibilité entre systèmes consiste à écrire un pilote qui utilise uniquement les fonctionnalités prises en charge par la version la moins numérotée de WDM. Toutefois, cela n’est pas toujours possible. Parfois, les pilotes nécessitent du code supplémentaire pour tirer parti des fonctionnalités disponibles dans les versions ultérieures de WDM, ou pour compenser les différences entre les systèmes d’exploitation Windows.
Différences WDM dans les routines de prise en charge des pilotes
La page de référence du Kit de pilotes Windows (WDK) pour chaque routine de prise en charge des pilotes indique si la routine est limitée à des versions spécifiques de WDM ou si son comportement est différent sur différentes versions du système d’exploitation. Avant d’utiliser une routine de prise en charge des pilotes dans un pilote inter-systèmes, veillez à comprendre les restrictions ou comportements spécifiques à la version.
Différences wdm dans Plug-and-Play
Le Plug-and-Play paquet de demande d’E/S (IRP) suivant est pris en charge uniquement dans Windows 2000 et versions ultérieures du système d’exploitation NT (WDM version 1.10 et ultérieures) :
En outre, les irPs suivants fonctionnent différemment sur Windows 98/Me de la façon dont ils fonctionnent sur le système d’exploitation NT :
IRP_MN_STOP_DEVICE et IRP_MN_REMOVE_DEVICE
Différences wdm dans la gestion de l’alimentation
Les fonctions de gestion de l’alimentation et les demandes d’E/S suivantes diffèrent en termes de fonctionnement entre le système d’exploitation Windows 98/Me et le système d’exploitation NT :
PoRegisterDeviceForIdleDetection
Lors de l’exécution des irps d’alimentation, les pilotes sur Windows 98/Me doivent effectuer les irps d’alimentation à IRQL = PASSIVE_LEVEL, tandis que les pilotes sur le système d’exploitation NT peuvent effectuer ces IRPs à IRQL = PASSIVE_LEVEL ou IRQL = DISPATCH_LEVEL.
L’indicateur DO_POWER_PAGABLE dans la structure DEVICE_OBJECT est utilisé différemment sur le système d’exploitation Windows 98/Me que sur le système d’exploitation NT.
Différences wdm dans le fonctionnement du pilote Kernel-Mode
Les pilotes WDM en mode noyau pour Windows 98/Me doivent suivre certaines instructions pour utiliser des opérations à virgule flottante, MMX, 3DNOW! ou les extensions SSE d’Intel. Pour plus d’informations, consultez Utilisation de virgule flottante ou de MMX dans un pilote WDM.
Windows 98/Me fournit un nombre fixe de threads de travail qui peuvent ne pas être adéquats pour certains pilotes.