Compartir a través de


Diferencias en las versiones de WDM

La manera más sencilla de garantizar la compatibilidad entre sistemas es escribir un controlador que use solo las características compatibles con la versión con el número más bajo de WDM. Sin embargo, esto no siempre es posible. A veces, los controladores requieren código adicional para aprovechar las características que están disponibles en versiones posteriores de WDM o para compensar las diferencias entre los sistemas operativos Windows.

Diferencias de WDM en las rutinas de compatibilidad del controlador

La página de referencia del Kit de controladores de Windows (WDK) para cada rutina de compatibilidad de controladores indica si la rutina está restringida a versiones específicas de WDM o si su comportamiento es diferente en diferentes versiones del sistema operativo. Antes de usar cualquier rutina de compatibilidad de controladores en un controlador entre sistemas, asegúrese de comprender cualquier restricción o comportamiento específicos de la versión.

Diferencias de WDM en Plug and Play

La siguiente Plug and Play paquete de solicitud de E/S (IRP) solo se admite en Windows 2000 y versiones posteriores del sistema operativo basado en NT (WDM versión 1.10 y posteriores):

IRP_MN_SURPRISE_REMOVAL

Además, los siguientes IRP funcionan de forma diferente en Windows 98/Me desde cómo funcionan en el sistema operativo basado en NT:

IRP_MN_STOP_DEVICE y IRP_MN_REMOVE_DEVICE

IRP_MN_QUERY_REMOVE_DEVICE

Diferencias de WDM en la administración de energía

Las siguientes funciones de administración de energía y solicitudes de E/S difieren en funcionamiento entre el sistema operativo Windows 98/Me y el sistema operativo basado en NT:

PoSetPowerState

PoRequestPowerIrp

PoRegisterDeviceForIdleDetection

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

Al completar los IRP de energía, los controladores de Windows 98/Me deben completar los IRP de energía en IRQL = PASSIVE_LEVEL, mientras que los controladores del sistema operativo basado en NT pueden completar dichos IRP en IRQL = PASSIVE_LEVEL o IRQL = DISPATCH_LEVEL.

La marca DO_POWER_PAGABLE de la estructura DEVICE_OBJECT se usa de forma diferente en el sistema operativo Windows 98/Me que en el sistema operativo basado en NT.

Diferencias de WDM en la operación del controlador de Kernel-Mode

Los controladores WDM en modo kernel para Windows 98/Me deben seguir ciertas instrucciones para usar operaciones de punto flotante, MMX, 3DNOW! o extensiones SSE de Intel. Para obtener más información, vea Usar punto flotante o MMX en un controlador WDM.

Windows 98/Me proporciona un número fijo de subprocesos de trabajo que podrían no ser adecuados para algunos controladores.