DDDEVICEIDENTIFIER

The DDDEVICEIDENTIFIER structure is passed to the IDirectDraw4::GetDeviceIdentifier method to obtain information about a device.

typedef struct tagDDDEVICEIDENTIFIER {
    char    szDriver[MAX_DDDEVICEID_STRING];
    char    szDescription[MAX_DDDEVICEID_STRING];
    LARGE_INTEGER  liDriverVersion;
    DWORD   dwVendorId;
    DWORD   dwDeviceId;
    DWORD   dwSubSysId;
    DWORD   dwRevision;
    GUID    guidDeviceIdentifier;
} DDDEVICEIDENTIFIER, * LPDDDEVICEIDENTIFIER;
 

Members

szDriver
Name of the driver.
szDescription
Description of the driver.
liDriverVersion
Version of the driver. It is legal to do less than and greater than comparisons on the whole 64 bits. Caution should be exercised if you use this element to identify problematic drivers. It is recommended that guidDeviceIdentifier be used for this purpose.

The data takes the following form:

wProduct = HIWORD(liDriverVersion.HighPart)
wVersion = LOWORD(liDriverVersion.HighPart)
wSubVersion = HIWORD(liDriverVersion.LowPart)
wBuild = LOWORD(liDriverVersion.LowPart)
 
dwVendorId
Identifier of the manufacturer. Can be 0 if unknown.
dwDeviceId
Identifier of the type of chipset. Can be 0 if unknown.
dwSubSysId
Identifier of the subsystem. Typically this means the particular board. Can be 0 if unknown.
dwRevision
Identifier of the revision level of the chipset. Can be 0 if unknown.
guidDeviceIdentifier
Unique identifier for the driver/chipset pair. Use this value if you wish to track changes to the driver/chipset in order to reprofile the graphics subsystem. It can also be used to identify particular problematic drivers.

Remarks

The values in szDriver and szDescription are for presentation to the user only. They should not be used to identify particular drivers, because different strings might be associated with the same device, or the same driver from different vendors might be described differently.

The dwVendorId, dwDeviceId, dwSubSysId, and dwRevision members can be used to identify particular chipsets, but use extreme caution.

QuickInfo

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.