?/TD>
Microsoft DirectX 9.0

DirectXSetupGetVersion Function


Retrieves the version number of the Microsoft?DirectX?components that are currently installed.

Syntax

INT DirectXSetupGetVersion(      

    DWORD *pdwVersion,     DWORD *pdwRevision );

Parameters

pdwVersion
Pointer to the address of a variable to receive the version number. This parameter can be NULL if the version number is not wanted.
pdwRevision
Pointer to the address of a variable to receive the revision number. This parameter can be NULL if the revision number is not wanted.

Return Value

If the function succeeds, it returns nonzero.

If it fails, it returns 0.



Remarks

The DirectXSetupGetVersion function can be used to retrieve the version and revision numbers before or after the DirectXSetup function is called. If it is called before DirectXSetup is invoked, it gives the version and revision numbers of the DirectX components that are currently installed. If it is called after DirectXSetup is called, but before the computer is restarted, it gives the version and revision numbers of the DirectX components that take effect after the computer is restarted.

The version number in the pdwVersion parameter is composed of the major version number and the minor version number. The major version number is in the 16 most significant bits of the DWORD when this function returns. The minor version number is in the 16 least significant bits of the DWORD when this function returns. The version numbers can be interpreted as follows:

DirectX versionValue pointed to by pdwVersion
DirectX 5.00x00040005
DirectX 6.00x00040006
DirectX 7.00x00040007
DirectX 8.x0x00040008
DirectX 9.00x00040009

DirectX 9.0 supports only operating systems and DirectX versions later than Microsoft Windows?98 and DirectX 5.0. This method will not return a value less than 0x00040005 for pdwVersion.

The version number in the pdwRevision parameter is composed of the release number and the build number. The release number is in the 16 most significant bits of the DWORD when this function returns. The build number is in the 16 least significant bits of the DWORD when this function returns.

All DirectX 8.x releases have the same pdwVersion value. The pdwRevision parameter differentiates them. DirectX 8.x versions do not install on Windows XP. Windows XP shipped with DirectX 8.1 and the DirectX 8.1a and DirectX 8.1b updates were included in Windows XP Service Pack 1. The following table lists the pdwRevision values for DirectX 8.x.
DirectX releasepdwRevisionNotes
DirectX 8.0
DirectX 8.10x0001032A4.08.01.0810. Windows XP version
DirectX 8.10x000103714.08.01.0881. This is the DirectX 8.1 version for the down level operating systems. 0371 is the hex version for 0881 decimal revision value
DirectX 8.1a0x000103854.08.01.0901. This release includes an update to Microsoft Direct3D?(d3d8.dll).
DirectX 8.1b0x000103854.08.01.0901. This update includes a fix to Microsoft DirectShow?on Windows 2000 (quartz.dll)
DirectX 8.20x000203864.08.02.0134. This version includes Microsoft DirectPlay?updates for both Windows XP and downlevel operating systems.

Note  There is no way to tell the difference between DirectX 8.1a and DirectX 8.1b with the pdwVersion and pdwRevision values. DirectX 8.1a updates only D3d8.dll. DirectX 8.1b includes the changes in DirectX 8.1a as well as updates to other files. Use GetFileVersionInfo to get version information for the following files.

On 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

On Windows 95 or later:

Mpg2splt.ax6.03.01.0885
D3d8.dll4.08.01.0901
D3d8d.dll4.08.01.0901

The following sample code fragment demonstrates how the information returned by DirectXSetupGetVersion can be extracted and used.

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

Version and revision numbers can be concatenated into a 64-bit quantity for comparison. The version number is in the 32 most significant bits and the revision number is in the 32 least significant bits.

Function Information

Headerdsetup.h
Import librarydsetup.lib
Minimum operating systems Windows 98

See Also

DirectXSetup


© 2002 Microsoft Corporation. All rights reserved.