?/TD> |
Microsoft DirectX 9.0 |
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 version Value pointed to by pdwVersion DirectX 5.0 0x00040005 DirectX 6.0 0x00040006 DirectX 7.0 0x00040007 DirectX 8.x 0x00040008 DirectX 9.0 0x00040009 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 release pdwRevision Notes DirectX 8.0 DirectX 8.1 0x0001032A 4.08.01.0810. Windows XP version DirectX 8.1 0x00010371 4.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.1a 0x00010385 4.08.01.0901. This release includes an update to Microsoft Direct3D?(d3d8.dll). DirectX 8.1b 0x00010385 4.08.01.0901. This update includes a fix to Microsoft DirectShow?on Windows 2000 (quartz.dll) DirectX 8.2 0x00020386 4.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.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 On Windows 95 or later:
Mpg2splt.ax 6.03.01.0885 D3d8.dll 4.08.01.0901 D3d8d.dll 4.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
Header dsetup.h Import library dsetup.lib Minimum operating systems Windows 98
See Also
DirectXSetup