次の方法で共有


IoIsWdmVersionAvailable 関数 (wdm.h)

IoIsWdmVersionAvailable ルーチンは、特定の WDM バージョンがオペレーティング システムでサポートされているかどうかを確認します。

構文

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

パラメーター

[in] MajorVersion

要求される WDM のメジャー バージョン番号を指定します。

[in] MinorVersion

要求される WDM のマイナー バージョン番号を指定します。

戻り値

IoIsWdmVersionAvailable は、オペレーティング システムが提供する WDM のバージョンが、要求されている WDM のバージョン番号以上の場合に TRUE を 返します。 それ以外の場合は、 FALSE を返します

注釈

ドライバーは、IoIsWdmVersionAvailable ルーチンの代わりに RtlIsNtDdiVersionAvailable ルーチンを使用する必要があります。

クロスプラットフォーム ドライバーは、プラットフォームによって異なる、または WDM のすべてのバージョンでサポートされていない操作を実行する前に、このルーチンを使用して WDM バージョンをチェックする必要があります。

wdm.h ヘッダー ファイルで定義されているWDM_MAJORVERSION定数とWDM_MINORVERSION定数は、現在のバージョンの Windows の WDM メジャーとマイナーのバージョン番号を指定します。 各オペレーティング システムで提供される WDM バージョンを次に示します。

オペレーティング システム WDM メジャー バージョン 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

マイナー バージョン番号は 16 進数の値として定義されていることに注意してください。

それ以降のバージョンの WDM では、以前のバージョンの WDM で使用できるすべての機能がサポートされています。つまり、WDM の各バージョンは、以前の WDM バージョンのスーパーセットです。

これらのすべてのシステムが WDM 1.0 のすべての機能をサポートしているため、次の呼び出しは、一覧表示されているオペレーティング システムで TRUE を 返します。

bVersion = IoIsWdmVersionAvailable(1,0);

次の例は、ドライバーが現在のオペレーティング システムを動的に検出する方法を示しています。

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

この例に示すように、 IoIsWdmVersionAvailable(1, 5) を呼び出すと、Windows Me、Windows 2000、および後続のオペレーティング システムでは TRUE が返されますが、Windows 98 および Windows 98 SE では FALSE が返されます。

要件

要件
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm)

こちらもご覧ください

RtlIsNtDdiVersionAvailable