DirectXSetupGetVersion
この関数はコア コンポーネント (Direct3D、DirectSound、DirectInput など) のバージョンだけを返し、D3DX 9、D3DX 10、XACT、XINPUT、XAUDIO2、X3DAUDIO などのオプションのサイドバイサイド コンポーネントを無視するので、このフラグは使用しないでください。このため、このバージョン番号は基本的に意味のないものになっています。DirectX コンポーネントのインストールの詳細については、「ゲーム開発者のための DirectX のインストール」を参照してください。
構文
INT DirectXSetupGetVersion( DWORD * pdwVersion, DWORD * pdwRevision)
パラメーター
- pdwVersion
バージョン番号を受け取る変数のアドレスへのポインターです。バージョン番号が必要ない場合は、このパラメーターを NULL にできます。 - pdwRevision
リビジョン番号を受け取る変数のアドレスへのポインターです。リビジョン番号が必要ない場合は、このパラメーターを NULL にできます。
戻り値
関数が成功した場合は 0 以外の値を返し、成功しなかった場合は 0 を返します。
解説
DirectXSetupGetVersion 関数は、DirectXSetup 関数の呼び出し前または呼び出し後に、バージョン番号とリビジョン番号を取得するために使用できます。DirectXSetup を呼び出す前にこの関数を呼び出すと、現在インストールされている DirectX コア ランタイム コンポーネントのバージョン番号とリビジョン番号が返されます。DirectXSetup を呼び出した後にこの関数を呼び出すと、コンピューターを再起動していなくても、コンピューターを再起動してから反映される DirectX コンポーネントのバージョン番号とリビジョン番号が返されます。
pdwVersion パラメーターのバージョン番号は、メジャー バージョン番号とマイナー バージョン番号で構成されます。メジャー バージョン番号は、この関数が返った時点の DWORD の上位 16 ビットにあります。マイナー バージョン番号は、この関数が返った時点の DWORD の下位 16 ビットにあります。このバージョン番号は、次のように解釈できます。
DirectX のバージョン | pdwVersion が指す値 |
---|---|
DirectX 5 | 0x00040005 |
DirectX 6 | 0x00040006 |
DirectX 7 | 0x00040007 |
DirectX 8 | 0x00040008 |
DirectX 9 | 0x00040009 |
DirectX 9 では、Windows 98 以降のオペレーティングシステムと DirectX 5 以降の DirectX バージョンのみをサポートします。このメソッドは、pdwVersion で 0x00040005 より小さい値を返しません。
pdwRevision パラメーターのバージョン番号は、リリース番号とビルド番号で構成されます。リリース番号は、この関数が返った時点の DWORD の上位 16 ビットにあります。ビルド番号は、この関数が返った時点の DWORD の下位 16 ビットにあります。
すべての DirectX 8 リリースの pdwVersion 値は、同一です。pdwRevision パラメーターでは、異なる値が返されます。DirectX 8 バージョンは、Windows XP にはインストールできません。Windows XP には DirectX 8.1 が付属し、DirectX 8.1a 更新パッケージと DirectX 8.1b 更新パッケージは、Windows XP Service Pack 1 に含まれています。DirectX 8 の pdwRevision 値は、次の表のとおりです。
DirectX リリース | pdwRevision | 備考 |
---|---|---|
DirectX 8 | ||
DirectX 8.1 | 0x0001032A | 4.08.01.0810. Windows XP のバージョン。 |
DirectX 8.1 | 0x00010371 | 4.08.01.0881. 下位レベルのオペレーティング システム向け DirectX 8.1 バージョンです。0371 は、0881 の 10 進リビジョン値を 16 進値にしたものです。 |
DirectX 8.1a | 0x00010385 | 4.08.01.0901. このリリースには、Direct3D (D3d8.dll) の更新プログラムが含まれています。 |
DirectX 8.1b | 0x00010385 | 4.08.01.0901. この更新パッケージには、DirectShow on Windows 2000 (Quartz.dll) の修正が含まれています。 |
DirectX 8.2 | 0x00020386 | 4.08.02.0134. |
すべての DirectX 9 リリースの pdwVersion 値は、同一です。pdwRevision パラメーターでは、異なる値が返されます。DirectX 9 リリースの pdwRevision 値は、次の表のとおりです。
DirectX リリース | pdwRevision | メモ |
---|---|---|
DirectX 9 | 0x00000384 | 4.09.00.0900. このリリースには、すべての DirectX コンポーネントに対する数多くの更新プログラムが含まれています。 |
DirectX 9a | 0x00000385 | 4.09.00.0901. DirectX 9 の増分更新です。マネージ コード、グラフィック、および DirectSetup コンポーネントに対する、DirectX の更新プログラムが含まれています。 |
DirectX 9b | 0x00000386 | 4.09.00.0902. DirectX 9a の更新プログラムを含む、増分更新です。DirectShow コンポーネントおよび Direct3D コンポーネントの更新プログラムも追加されています。 |
DirectX 9c | 0x00000387 | 4.09.00.0903. DirectX 9b の更新プログラムを含む、増分更新です。Windows XP Service Pack 2 (SP2) の更新プログラムも追加されています。SP2 の場合には、こちらが既定のバージョンになります。 |
DirectX 9c および DirectX 10 | 0x00000388 | 4.09.00.0904. 下位レベル プラットフォーム向け SP2 リリースです。 |
注意
pdwVersion 値と pdwRevision 値を見ただけでは、DirectX 8.1a と DirectX 8.1b の違いは識別できません。DirectX 8.1a は、D3d8.dll を更新しただけのものです。DirectX 8.1b には、DirectX 8.1a の変更と、その他ファイルの更新プログラムが含まれています。以下のファイルのバージョン情報を取得するには、GetFileVersionInfo を使用します。
Windows 2000 の場合 :
Quartz.dll | 6.03.01.0885 |
Stream.sys | 5.01.2600.0885 |
Mpg2splt.ax | 6.03.01.0885 |
D3d8.dll | 5.01.2600.0901 |
D3d8d.dll | 5.01.2600.0901 |
Windows 95 以降の場合 :
Mpg2splt.ax | 6.03.01.0885 |
D3d8.dll | 4.08.01.0901 |
D3d8d.dll | 4.08.01.0901 |
次のサンプル コードは、DirectXSetupGetVersion により返された情報の抽出方法と使用方法を示しています。
DWORD dwVersion;DWORD dwRevision;if (DirectXSetupGetVersion(&dwVersion, &dwRevision)){ printf("DirectX version is %d.%d.%d.%d\n", HIWORD(dwVersion), LOWORD(dwVersion), HIWORD(dwRevision), LOWORD(dwRevision));}
バージョン番号とリビジョン番号は、64 ビットの数値として結合して比較できます。バージョン番号は上位 32 ビットにあり、リビジョン番号は下位 32 ビットにあります。
DSetup.dll、および DSetup32.dll は redist フォルダーにあります。これらは、SDK と共にインストールされるとは限りません。
要件
ヘッダー: DSetup.h で宣言されています。
ライブラリ: DSetup.lib を使用します。