DirectXSetupGetVersion

現在インストールされている DirectX コア ランタイム コンポーネントのバージョン番号を取得します。

この関数はコア コンポーネント (Direct3D、DirectSound、DirectInput など) のバージョンだけを返し、D3DX 9、D3DX 10、XACT、XINPUT、XAUDIO2、X3DAUDIO などのオプションのサイドバイサイド コンポーネントを無視するので、このフラグは使用しないでください。このため、このバージョン番号は基本的に意味のないものになっています。DirectX コンポーネントのインストールの詳細については、「DirectX Installation for Game Developers」を参照してください。

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 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.h 宣言

関連項目

DirectXSetup