Microsoft DirectX 8.1 (C++)

D3DADAPTER_IDENTIFIER8

Contains information identifying the adapter.

typedef struct _D3DADAPTER_IDENTIFIER8 {
    char            Driver[MAX_DEVICE_IDENTIFIER_STRING];
    char            Description[MAX_DEVICE_IDENTIFIER_STRING];

#ifdef _WIN32
    LARGE_INTEGER   DriverVersion;            /* Defined for 32-bit components */
#else
    DWORD           DriverVersionLowPart;     /* Defined for 16-bit driver components */
    DWORD           DriverVersionHighPart;
#endif

    DWORD           VendorId;
    DWORD           DeviceId;
    DWORD           SubSysId;
    DWORD           Revision;

    GUID            DeviceIdentifier;

    DWORD           WHQLLevel;
} D3DADAPTER_IDENTIFIER8;

Members

Driver and Description
Used for presentation to the user. They should not be used to identify particular drivers, since many different strings may be associated with the same device and driver from different vendors.
DriverVersion, DriverVersionLowPart, and DriverVersionHighPart
Identify the version of the Microsoft® Direct3D® driver. It is legal to do < and > comparisons on the 64-bit signed integer value. However, exercise caution if you use this element to identify problematic drivers. Instead, you should use DeviceIdentifier.

The following pseudocode example illustrates the version format encoded in this member.

Product = HIWORD(DriverVersion.HighPart)
Version = LOWORD(DriverVersion.HighPart)
SubVersion = HIWORD(DriverVersion.LowPart)
Build = LOWORD(DriverVersion.LowPart)

See the Microsoft Platform Software Development Kit (SDK) for more information on the HIWORD macro, the LOWORD macro, and the LARGE_INTEGER structure.

VendorId
Can be used to help identify a particular chip set. Query this member to identify the manufacturer. The value may be zero if unknown.
DeviceId
Can be used to help identify a particular chip set. Query this member to identify the type of chip set. The value may be zero if unknown.
SubSysId
Can be used to help identify a particular chip set. Query this member to identify the subsystem, typically the particular board. The value may be zero if unknown.
Revision
Can be used to help identify a particular chip set. Query this member to identify the revision level of the chip set. The value may be zero if unknown.
DeviceIdentifier
Can be queried to check changes in the driver and chip set. This GUID is a unique identifier for the driver and chip set pair. Query this member to track changes to the driver and chip set in order to generate a new profile for the graphics subsystem. DeviceIdentifier can also be used to identify particular problematic drivers.
WHQLLevel
Used to determine the Windows Hardware Quality Lab (WHQL) digital signature level for this driver and device pair. The DWORD is a packed date structure defining the date of the release of the most recent WHQL test passed by the driver. It is legal to perform < and > operations on this value. The following illustrates the date format.
Bits
31-16:    The year, a decimal number from 1999 upwards.
15-8:     The month, a decimal number from 1 to 12.
7-0:      The day, a decimal number from 1 to 31.

The following values are also used.

0
Not digitally-signed.
1
WHQL digitally-signed, but no date information is available.

Remarks

MAX_DEVICE_IDENTIFIER_STRING is a constant with the following definition.

#define MAX_DEVICE_IDENTIFIER_STRING        512

The VendorId, DeviceId, SubSysId, and Revision members can be used in tandem to identify particular chip sets. However, use these members with caution.

Requirements

  Header: Declared in D3d8types.h.