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) |