Freigeben über


Unterschiede in WDM-Versionen

Die einfachste Möglichkeit, die systemübergreifende Kompatibilität sicherzustellen, besteht darin, einen Treiber zu schreiben, der nur Features verwendet, die von der version mit der niedrigsten Nummer von WDM unterstützt werden. Dies ist jedoch nicht immer möglich. Manchmal benötigen Treiber zusätzlichen Code, um die Features zu nutzen, die in späteren Versionen von WDM verfügbar sind, oder um Unterschiede zwischen Windows-Betriebssystemen auszugleichen.

WDM-Unterschiede in Treiberunterstützungsroutinen

Auf der Referenzseite des Windows Driver Kit (WDK) für jede Treiberunterstützungsroutine wird angegeben, ob die Routine auf bestimmte Versionen von WDM beschränkt ist oder ob sich ihr Verhalten bei verschiedenen Betriebssystemversionen unterscheidet. Bevor Sie eine Treiberunterstützungsroutine in einem systemübergreifenden Treiber verwenden, sollten Sie alle versionsspezifischen Einschränkungen oder Verhaltensweisen verstehen.

WDM-Unterschiede in Plug & Play

Das folgende Plug & Play E/A-Anforderungspaket (IRP) wird nur in Windows 2000 und höheren Versionen des NT-basierten Betriebssystems (WDM Version 1.10 und höher) unterstützt:

IRP_MN_SURPRISE_REMOVAL

Darüber hinaus funktionieren die folgenden IRPs unter Windows 98/Me anders als mit dem NT-basierten Betriebssystem:

IRP_MN_STOP_DEVICE und IRP_MN_REMOVE_DEVICE

IRP_MN_QUERY_REMOVE_DEVICE

WDM-Unterschiede in der Energieverwaltung

Die folgenden Energieverwaltungsfunktionen und E/A-Anforderungen unterscheiden sich im Betrieb zwischen dem Windows 98/Me-Betriebssystem und dem NT-basierten Betriebssystem:

PoSetPowerState

PoRequestPowerIrp

PoRegisterDeviceForIdleDetection

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

Beim Abschluss von Power IRPs müssen Treiber unter Windows 98/Me die Energie-IRPs bei IRQL = PASSIVE_LEVEL abschließen, während Treiber des NT-basierten Betriebssystems solche IRPs bei IRQL = PASSIVE_LEVEL oder IRQL = DISPATCH_LEVEL abschließen können.

Das DO_POWER_PAGABLE-Flag in der DEVICE_OBJECT-Struktur wird auf dem Windows 98/Me-Betriebssystem anders verwendet als auf dem NT-basierten Betriebssystem.

WDM-Unterschiede im Kernel-Mode-Treiberbetrieb

Kernelmodus-WDM-Treiber für Windows 98/Me müssen bestimmte Richtlinien für die Verwendung von Gleitkommavorgängen, MMX, 3DNOW! oder Intels SSE-Erweiterungen befolgen. Weitere Informationen finden Sie unter Verwenden von Gleitkomma oder MMX in einem WDM-Treiber.

Windows 98/Me stellt eine feste Anzahl von Workerthreads bereit, die für einige Treiber möglicherweise nicht ausreichend sind.