wined3d: Implement GetHWND and SetHWND.
diff --git a/dlls/wined3d/device.c b/dlls/wined3d/device.c
index dd2805c..93acc84 100644
--- a/dlls/wined3d/device.c
+++ b/dlls/wined3d/device.c
@@ -4992,15 +4992,19 @@
 }
 
 HRESULT WINAPI IWineD3DDeviceImpl_SetHWND(IWineD3DDevice *iface, HWND hWnd) {
-    FIXME("This is unimplemented for now(d3d7 merge)\n");
+    IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
+    TRACE("(%p)->(%p)\n", This, hWnd);
 
-    return WINED3DERR_INVALIDCALL;
+    This->ddraw_window = hWnd;
+    return WINED3D_OK;
 }
 
 HRESULT WINAPI IWineD3DDeviceImpl_GetHWND(IWineD3DDevice *iface, HWND *hWnd) {
-    FIXME("This is unimplemented for now(d3d7 merge)\n");
+    IWineD3DDeviceImpl *This = (IWineD3DDeviceImpl *)iface;
+    TRACE("(%p)->(%p)\n", This, hWnd);
 
-    return WINED3DERR_INVALIDCALL;
+    *hWnd = This->ddraw_window;
+    return WINED3D_OK;
 }
 
 /*****
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index afb769c..55a92f7 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -583,7 +583,10 @@
 
     /* process vertex shaders using software or hardware */
     BOOL softwareVertexProcessing;
-    
+
+    /* DirectDraw stuff */
+    HWND ddraw_window;
+
 } IWineD3DDeviceImpl;
 
 extern const IWineD3DDeviceVtbl IWineD3DDevice_Vtbl;