Freigeben über


IoIsWdmVersionAvailable-Funktion (wdm.h)

Die IoIsWdmVersionAvailable Routine überprüft, ob eine bestimmte WDM-Version vom Betriebssystem unterstützt wird.

Syntax

BOOLEAN IoIsWdmVersionAvailable(
  [in] UCHAR MajorVersion,
  [in] UCHAR MinorVersion
);

Parameter

[in] MajorVersion

Gibt die Hauptversionsnummer von WDM an, die angefordert wird.

[in] MinorVersion

Gibt die Nebenversionsnummer von WDM an, die angefordert wird.

Rückgabewert

IoIsWdmVersionAvailable gibt TRUE- zurück, wenn die vom Betriebssystem bereitgestellte Version größer oder gleich der angeforderten Versionsnummer von WDM ist. Andernfalls wird FALSE-zurückgegeben.

Bemerkungen

Treiber sollten die RtlIsNtDdiVersionAvailable Routine anstelle der IoIsWdmVersionAvailable-Routine verwenden.

Plattformübergreifende Treiber sollten diese Routine verwenden, um die WDM-Version zu überprüfen, bevor Vorgänge ausgeführt werden, die je nach Plattform variieren oder in allen Versionen von WDM nicht unterstützt werden.

Die WDM_MAJORVERSION- und WDM_MINORVERSION Konstanten, die in der Wdm.h-Headerdatei definiert sind, geben die Haupt- und Nebenversionsnummern von WDM für die aktuelle Version von Windows an. Im Folgenden wird die WDM-Version aufgeführt, die für jedes Betriebssystem bereitgestellt wird.

Betriebssystem WDM-Hauptversion WDM-Nebenversion
Windows 7 6 0x00
Windows Server 2008 R2 6 0x00
Windows Server 2008 6 0x00
Windows Vista 6 0x00
Windows Server 2003 1 0x30
Windows XP 1 0x20
Windows 2000 1 0x10
Windows Me 1 0x05
Windows 98 1 0x00

Beachten Sie, dass die Nebenversionsnummer als Hexadezimalwert definiert ist.

Spätere Versionen von WDM unterstützen alle Features, die in früheren Versionen von WDM verfügbar sind; d. h. jede Version von WDM ist eine Obermenge der vorherigen WDM-Version.

Der folgende Aufruf gibt TRUE- auf einem der aufgeführten Betriebssysteme zurück, da alle diese Systeme alle Funktionen von WDM 1.0 unterstützen:

bVersion = IoIsWdmVersionAvailable(1,0);

Das folgende Beispiel zeigt, wie ein Treiber das aktuelle Betriebssystem dynamisch erkennen kann:

if (IoIsWdmVersionAvailable(1, 0x10)) {
    //
    //If WDM 1.10 is supported, this is Windows 2000
    //or better.
    //
} else if (IoIsWdmVersionAvailable(1, 5)) {
    //
    //If WDM 1.05 is supported, this is Windows ME
    //or better.
    //
} else {
    //
    //WDM 1.0 is always supported, so this is Windows 98, 
    //Windows 98 SE, or better.
    //
}

Wie das Beispiel zeigt, gibt das Aufrufen von IoIsWdmVersionAvailable(1, 5) TRUE- unter Windows Me, Windows 2000 und allen nachfolgenden Betriebssystemen zurück, aber FALSE unter Windows 98 und Windows 98 SE.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Siehe auch

RtlIsNtDdiVersionAvailable