Funzione IoIsWdmVersionAvailable (wdm.h)

La routine IoIsWdmVersionAvailable controlla se una determinata versione WDM è supportata dal sistema operativo.

Sintassi

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

Parametri

[in] MajorVersion

Specifica il numero di versione principale di WDM richiesto.

[in] MinorVersion

Specifica il numero di versione secondaria di WDM richiesto.

Valore restituito

IoIsWdmVersionAvailable restituisce TRUE se la versione di WDM fornita dal sistema operativo è maggiore o uguale al numero di versione di WDM richiesto. In caso contrario, restituisce FALSE.

Commenti

I driver devono usare la routine RtlIsNtDdiVersionAvailable anziché la routine IoIsWdmVersionAvailable .

I driver multipiattaforma devono usare questa routine per controllare la versione wdm prima di eseguire qualsiasi operazione che varia in base alla piattaforma o non sono supportate in tutte le versioni di WDM.

Le costanti WDM_MAJORVERSION e WDM_MINORVERSION, definite nel file di intestazione Wdm.h, specificano i numeri di versione principale e secondaria wdm per la versione corrente di Windows. Di seguito è elencata la versione WDM fornita con ogni sistema operativo.

Sistema operativo Versione principale di WDM Versione secondaria di WDM
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

Si noti che il numero di versione secondaria è definito come valore esadecimale.

Le versioni successive di WDM supportano tutte le funzionalità disponibili nelle versioni precedenti di WDM; ovvero, ogni versione di WDM è un superset della versione precedente di WDM.

La chiamata seguente restituisce TRUE in uno dei sistemi operativi elencati, perché tutti questi sistemi supportano tutte le funzionalità di WDM 1.0:

bVersion = IoIsWdmVersionAvailable(1,0);

L'esempio seguente mostra come un driver può rilevare dinamicamente il sistema operativo corrente:

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.
    //
}

Come illustrato nell'esempio, la chiamata a IoIsWdmVersionAvailable(1, 5) restituisce TRUE in Windows Me, Windows 2000 e tutti i sistemi operativi riusciti, ma FALSE in Windows 98 e Windows 98 SE.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

Vedi anche

RtlIsNtDdiVersionAvailable