simplefly the math for calc out the guiddeviceidentify

svn path=/trunk/; revision=27102
This commit is contained in:
Magnus Olsen 2007-06-10 04:36:19 +00:00
parent 2d86b0c8ad
commit 53c602d78e

View file

@ -545,18 +545,16 @@ Main_DirectDraw_GetDeviceIdentifier7(LPDIRECTDRAW7 iface,
/* Count out the guidDeviceIdentifier */
memcpy(&pDDDI->guidDeviceIdentifier, &CLSID_DirectDraw,sizeof(GUID));
pDDDI->guidDeviceIdentifier.Data1 = pDDDI->guidDeviceIdentifier.Data1 ^ pDDDI->dwVendorId;
pDDDI->guidDeviceIdentifier.Data1 ^= pDDDI->dwVendorId;
lpdata = (long *)&pDDDI->guidDeviceIdentifier.Data2;
*lpdata = *lpdata ^ pDDDI->dwDeviceId;
*lpdata ^= pDDDI->dwDeviceId;
lpdata = (long *)&pDDDI->guidDeviceIdentifier.Data4;
*lpdata = *lpdata ^ pDDDI->dwSubSysId;
*lpdata = *lpdata ^ pDDDI->liDriverVersion.LowPart;
*lpdata = (*lpdata ^ pDDDI->dwSubSysId) ^ pDDDI->liDriverVersion.LowPart;
lpdata = (long *)&pDDDI->guidDeviceIdentifier.Data4[4];
*lpdata = *lpdata ^ pDDDI->dwRevision;
*lpdata = *lpdata ^ pDDDI->liDriverVersion.HighPart;
*lpdata = (*lpdata ^ pDDDI->dwRevision) ^ pDDDI->liDriverVersion.HighPart;
/* FIXME pDDDI->dwWHQLLevel
* we leave this with no informations, I do not known