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);