次の方法で共有


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.dll6.03.01.0885
Stream.sys5.01.2600.0885
Mpg2splt.ax6.03.01.0885
D3d8.dll5.01.2600.0901
D3d8d.dll5.01.2600.0901

Windows 95 以降の場合 :

Mpg2splt.ax6.03.01.0885
D3d8.dll4.08.01.0901
D3d8d.dll4.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 を使用します。

関連項目

DirectXSetup