bool hsG3DDeviceSelector::IGetD3DCardInfo( hsG3DDeviceRecord &record, // In void *driverInfo, void *deviceInfo, DWORD *vendorID, DWORD *deviceID, // Out char **driverString, char **descString ) { D3DEnum_DriverInfo *driverD3DInfo = (D3DEnum_DriverInfo *)driverInfo; D3DEnum_DeviceInfo *deviceD3DInfo = (D3DEnum_DeviceInfo *)deviceInfo; D3DADAPTER_IDENTIFIER9 *adapterInfo; adapterInfo = &driverD3DInfo->fAdapterInfo; /// Print out to our demo data file plDemoDebugFile::Write( "DeviceSelector detected DX Direct3D device. Info:" ); plDemoDebugFile::Write( " Driver Description", (char *)adapterInfo->Description ); plDemoDebugFile::Write( " Driver Name", (char *)adapterInfo->Driver ); plDemoDebugFile::Write( " Vendor ID", (int32_t)adapterInfo->VendorId ); plDemoDebugFile::Write( " Device ID", (int32_t)adapterInfo->DeviceId ); plDemoDebugFile::Write( " Version", (char *)record.GetDriverVersion() ); plDemoDebugFile::Write( " Memory size (in MB)", record.GetMemoryBytes() / ( 1024 * 1024 ) ); plDemoDebugFile::Write( " Memory size (in bytes)", record.GetMemoryBytes() ); *vendorID = adapterInfo->VendorId; *deviceID = adapterInfo->DeviceId; *driverString = adapterInfo->Driver; *descString = adapterInfo->Description; return true; }