start implement of GetDeviceIdentifier we are filling one more member right. this time we getting the driver name

svn path=/trunk/; revision=27093
This commit is contained in:
Magnus Olsen 2007-06-09 20:22:09 +00:00
parent c5cf277736
commit e19e754ce3

View file

@ -458,6 +458,9 @@ Main_DirectDraw_GetDeviceIdentifier7(LPDIRECTDRAW7 iface,
BOOL found = FALSE;
DWORD iDevNum = 0;
DISPLAY_DEVICEA DisplayDeviceA;
HKEY hKey;
DWORD lpType = 0;
DWORD strSize = MAX_DDDEVICEID_STRING;
LPDDRAWI_DIRECTDRAW_INT This = (LPDDRAWI_DIRECTDRAW_INT) iface;
@ -506,10 +509,36 @@ Main_DirectDraw_GetDeviceIdentifier7(LPDIRECTDRAW7 iface,
/* we found our driver now we start setup it */
strcpy( pDDDI->szDescription, DisplayDeviceA.DeviceString);
if (!_strnicmp(DisplayDeviceA.DeviceKey,"\\REGISTRY\\Machine\\",18))
{
if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, &DisplayDeviceA.DeviceKey[18], 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS )
{
if (RegQueryValueExA(hKey, "InstalledDisplayDrivers",0, &lpType, (LPBYTE)pDDDI->szDriver, &strSize) == ERROR_SUCCESS)
{
char *pdest;
/* FIXME if the file is name
ati2dvag.dll.dll then we are doom
a better code should be use to strip away .dll
*/
pdest = strstr(pDDDI->szDriver,".dll");
memset(pdest,0,3);
}
RegCloseKey(hKey);
}
retVal = DD_OK;
}
//else
//{
// /* FIXME ?? */
// DX_STUB_str("Error did not manger cut reg key\n"
// DX_STUB_str(DisplayDeviceA.DeviceKey);
//}
/* This api still under devloping now we can get desc of the
primary drv
*/
retVal = DD_OK;
break;
}