Thanks to Dimitry I have changed the test. Maybe someone could check if the attached one works in native while it fails in my Wine environment.
Thanks a lot in advance. Markus
diff --git a/dlls/ddraw/tests/visual.c b/dlls/ddraw/tests/visual.c index 450d231..650f4ba 100644 --- a/dlls/ddraw/tests/visual.c +++ b/dlls/ddraw/tests/visual.c @@ -47,7 +47,8 @@ static BOOL createObjects(void) HMODULE hmod = GetModuleHandleA("ddraw.dll"); WNDCLASS wc = {0}; DDSURFACEDESC2 ddsd; - + DWORD DDDI2[0x110]; + DDDEVICEIDENTIFIER2 *PDDDI2; if(!hmod) return FALSE; pDirectDrawCreateEx = (void*)GetProcAddress(hmod, "DirectDrawCreateEx"); @@ -57,6 +58,12 @@ static BOOL createObjects(void) ok(hr==DD_OK || hr==DDERR_NODIRECTDRAWSUPPORT, "DirectDrawCreateEx returned: %x\n", hr); if(!DirectDraw) goto err; + PDDDI2=(DDDEVICEIDENTIFIER2 *)DDDI2; + DDDI2[0x10b] = 0xdeadbeef; + hr = IDirectDraw7_GetDeviceIdentifier(DirectDraw, PDDDI2, 0); + ok(hr==DD_OK, "get device identifier failed with %08x\n", hr); + ok(DDDI2[0x10b]==0xdeadbeef, "memory beyond DDDEVICEIDENTIFIER2 overwritten\n"); + wc.lpfnWndProc = DefWindowProc; wc.lpszClassName = "d3d7_test_wc"; RegisterClass(&wc);