From 20c169e0a44b917790fa7a65a199874d8b9cf1c1 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Tue, 9 Sep 2003 19:39:31 +0000
Subject: [PATCH] Fixed a few more headers dependency issues.

---
 dlls/avicap32/avicap32_main.c        |  1 +
 dlls/avifil32/extrachunk.c           |  1 +
 dlls/avifil32/factory.c              |  1 +
 dlls/avifil32/getframe.c             |  1 +
 dlls/dplayx/dplay.c                  |  1 -
 dlls/dplayx/dplaysp.h                |  1 +
 dlls/dplayx/dplayx_global.h          |  1 +
 dlls/dplayx/dplobby.c                |  4 ++--
 dlls/dplayx/lobbysp.h                |  1 +
 dlls/mshtml/main.c                   |  1 +
 dlls/msvideo/msrle32/msrle_private.h |  1 +
 dlls/ole32/compositemoniker.c        |  1 +
 dlls/ole32/defaulthandler.c          |  1 +
 dlls/ole32/git.c                     |  1 +
 dlls/ole32/hglobalstream.c           |  1 +
 dlls/ole32/ifs.c                     |  1 +
 dlls/ole32/itemmoniker.c             |  1 +
 dlls/ole32/marshal.c                 |  1 +
 dlls/ole32/memlockbytes.c            |  1 +
 dlls/ole32/memlockbytes16.c          |  1 +
 dlls/ole32/moniker.c                 |  1 +
 dlls/ole32/ole16.c                   |  1 +
 dlls/ole32/oleobj.c                  |  2 +-
 dlls/ole32/oleproxy.c                |  1 +
 dlls/ole32/rpc.c                     |  1 +
 dlls/ole32/stg_bigblockfile.c        |  1 +
 dlls/oleaut32/ole2disp.c             |  4 ++--
 dlls/olepro32/olepro32stubs.c        |  1 +
 dlls/quartz/enummoniker.c            |  1 +
 dlls/rpcrt4/rpcrt4_main.c            |  1 +
 dlls/shdocvw/Makefile.in             |  1 +
 dlls/shdocvw/events.c                |  3 +++
 dlls/shdocvw/shdocvw.h               |  6 ------
 dlls/shdocvw/shdocvw_main.c          |  2 +-
 dlls/shell32/dragdrophelper.c        |  4 ++--
 dlls/shell32/shfldr_desktop.c        |  1 +
 dlls/shell32/shfldr_fs.c             |  1 +
 dlls/shell32/shlfolder.c             |  1 +
 include/oleidl.h                     | 32 +++++++++++-----------------
 include/oleidl.idl                   |  8 +++----
 40 files changed, 56 insertions(+), 40 deletions(-)

diff --git a/dlls/avicap32/avicap32_main.c b/dlls/avicap32/avicap32_main.c
index 322ba86c0e0..781a5e4df17 100644
--- a/dlls/avicap32/avicap32_main.c
+++ b/dlls/avicap32/avicap32_main.c
@@ -22,6 +22,7 @@
 #include "windef.h"
 #include "winbase.h"
 #include "wingdi.h"
+#include "winuser.h"
 #include "vfw.h"
 #include "winreg.h"
 #include "winternl.h"
diff --git a/dlls/avifil32/extrachunk.c b/dlls/avifil32/extrachunk.c
index 937787fa357..0a4b8914c4b 100644
--- a/dlls/avifil32/extrachunk.c
+++ b/dlls/avifil32/extrachunk.c
@@ -22,6 +22,7 @@
 #include "extrachunk.h"
 #include "winbase.h"
 #include "wingdi.h"
+#include "winuser.h"
 #include "windowsx.h"
 #include "vfw.h"
 
diff --git a/dlls/avifil32/factory.c b/dlls/avifil32/factory.c
index fe27f4f35d8..c983953dc24 100644
--- a/dlls/avifil32/factory.c
+++ b/dlls/avifil32/factory.c
@@ -23,6 +23,7 @@
 #include "windef.h"
 #include "winbase.h"
 #include "wingdi.h"
+#include "winuser.h"
 #include "winnls.h"
 #include "winerror.h"
 
diff --git a/dlls/avifil32/getframe.c b/dlls/avifil32/getframe.c
index b911c35cab4..9552e3127b2 100644
--- a/dlls/avifil32/getframe.c
+++ b/dlls/avifil32/getframe.c
@@ -25,6 +25,7 @@
 #include "winnls.h"
 #include "windowsx.h"
 #include "wingdi.h"
+#include "winuser.h"
 #include "vfw.h"
 
 #include "avifile_private.h"
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 4245978f0e3..a67616e3b5d 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -34,7 +34,6 @@
 #include "winreg.h"
 #include "winnls.h"
 #include "wine/unicode.h"
-#include "dplay.h"
 #include "wine/debug.h"
 
 #include "dpinit.h"
diff --git a/dlls/dplayx/dplaysp.h b/dlls/dplayx/dplaysp.h
index 43c0dbb477b..9e4ec4f72b1 100644
--- a/dlls/dplayx/dplaysp.h
+++ b/dlls/dplayx/dplaysp.h
@@ -23,6 +23,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "dplay.h"
 #include "dplobby.h"
 
diff --git a/dlls/dplayx/dplayx_global.h b/dlls/dplayx/dplayx_global.h
index 88443553bdd..9f518a850f0 100644
--- a/dlls/dplayx/dplayx_global.h
+++ b/dlls/dplayx/dplayx_global.h
@@ -23,6 +23,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "dplay.h"
 
 BOOL DPLAYX_ConstructData(void);
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index 318d2380c33..a48a3ebf65d 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -30,11 +30,11 @@
 #include "winnls.h"
 #include "wine/debug.h"
 
-#include "dplobby.h"
-#include "dpinit.h"
 #include "dplayx_global.h"
 #include "dplayx_messages.h"
 #include "dplayx_queue.h"
+#include "dplobby.h"
+#include "dpinit.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(dplay);
 
diff --git a/dlls/dplayx/lobbysp.h b/dlls/dplayx/lobbysp.h
index 20d96bb88df..40b276656ff 100644
--- a/dlls/dplayx/lobbysp.h
+++ b/dlls/dplayx/lobbysp.h
@@ -23,6 +23,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "dplobby.h"
 
 /* GUID for IDPLobbySP {5A4E5A20-2CED-11d0-A889-00A0C905433C} */
diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c
index 6dad70b91cf..f60d6907809 100644
--- a/dlls/mshtml/main.c
+++ b/dlls/mshtml/main.c
@@ -25,6 +25,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "ole2.h"
 
 #include "uuids.h"
diff --git a/dlls/msvideo/msrle32/msrle_private.h b/dlls/msvideo/msrle32/msrle_private.h
index 8b4cdf34f7a..eab0e948cbb 100644
--- a/dlls/msvideo/msrle32/msrle_private.h
+++ b/dlls/msvideo/msrle32/msrle_private.h
@@ -28,6 +28,7 @@
 #include "winbase.h"
 #include "mmsystem.h"
 #include "wingdi.h"
+#include "winuser.h"
 #include "vfw.h"
 
 #define IDS_NAME        100
diff --git a/dlls/ole32/compositemoniker.c b/dlls/ole32/compositemoniker.c
index 91080c0e86b..d92796ab477 100644
--- a/dlls/ole32/compositemoniker.c
+++ b/dlls/ole32/compositemoniker.c
@@ -26,6 +26,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "winerror.h"
 #include "wine/debug.h"
 #include "wine/unicode.h"
diff --git a/dlls/ole32/defaulthandler.c b/dlls/ole32/defaulthandler.c
index 820b3812abc..b38f26d8b7a 100644
--- a/dlls/ole32/defaulthandler.c
+++ b/dlls/ole32/defaulthandler.c
@@ -51,6 +51,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "winerror.h"
 #include "wine/unicode.h"
 #include "ole2.h"
diff --git a/dlls/ole32/git.c b/dlls/ole32/git.c
index 17edb6069bc..4f614699f7a 100644
--- a/dlls/ole32/git.c
+++ b/dlls/ole32/git.c
@@ -36,6 +36,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "winerror.h"
diff --git a/dlls/ole32/hglobalstream.c b/dlls/ole32/hglobalstream.c
index 617af6a1be4..eb539bab67d 100644
--- a/dlls/ole32/hglobalstream.c
+++ b/dlls/ole32/hglobalstream.c
@@ -33,6 +33,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "winerror.h"
diff --git a/dlls/ole32/ifs.c b/dlls/ole32/ifs.c
index 5eb5d80c7d9..49366cf9c1e 100644
--- a/dlls/ole32/ifs.c
+++ b/dlls/ole32/ifs.c
@@ -28,6 +28,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "ole2.h"
 #include "winerror.h"
 
diff --git a/dlls/ole32/itemmoniker.c b/dlls/ole32/itemmoniker.c
index 34d4f2d1094..493b15b3527 100644
--- a/dlls/ole32/itemmoniker.c
+++ b/dlls/ole32/itemmoniker.c
@@ -27,6 +27,7 @@
 #include "winerror.h"
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "winnls.h"
 #include "wine/debug.h"
 #include "ole2.h"
diff --git a/dlls/ole32/marshal.c b/dlls/ole32/marshal.c
index 5af93f2d6a7..f26707d76fb 100644
--- a/dlls/ole32/marshal.c
+++ b/dlls/ole32/marshal.c
@@ -28,6 +28,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "ole2ver.h"
diff --git a/dlls/ole32/memlockbytes.c b/dlls/ole32/memlockbytes.c
index 6c1feaeb3b6..5c155e34f37 100644
--- a/dlls/ole32/memlockbytes.c
+++ b/dlls/ole32/memlockbytes.c
@@ -29,6 +29,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "wine/winbase16.h"
 #include "objbase.h"
 #include "ole2.h"
diff --git a/dlls/ole32/memlockbytes16.c b/dlls/ole32/memlockbytes16.c
index f1eb7481758..c48fb63dcf2 100644
--- a/dlls/ole32/memlockbytes16.c
+++ b/dlls/ole32/memlockbytes16.c
@@ -29,6 +29,7 @@
 #include "windef.h"
 #include "winbase.h"
 #include "wine/winbase16.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "winerror.h"
diff --git a/dlls/ole32/moniker.c b/dlls/ole32/moniker.c
index 5163321a7b7..0ea688ecda1 100644
--- a/dlls/ole32/moniker.c
+++ b/dlls/ole32/moniker.c
@@ -26,6 +26,7 @@
 #include "winerror.h"
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "wtypes.h"
 #include "wine/debug.h"
 #include "ole2.h"
diff --git a/dlls/ole32/ole16.c b/dlls/ole32/ole16.c
index 5dcbb5eb82a..e69e8357da4 100644
--- a/dlls/ole32/ole16.c
+++ b/dlls/ole32/ole16.c
@@ -32,6 +32,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "ole2ver.h"
diff --git a/dlls/ole32/oleobj.c b/dlls/ole32/oleobj.c
index 8a9d2760fd5..f79ecc2dd2f 100644
--- a/dlls/ole32/oleobj.c
+++ b/dlls/ole32/oleobj.c
@@ -24,6 +24,7 @@
 #include <string.h>
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "winerror.h"
 #include "wine/debug.h"
 #include "ole2.h"
@@ -758,4 +759,3 @@ HRESULT WINAPI CreateDataAdviseHolder(
 
   return E_OUTOFMEMORY;
 }
-
diff --git a/dlls/ole32/oleproxy.c b/dlls/ole32/oleproxy.c
index 02198bd1a62..5c2210d36c5 100644
--- a/dlls/ole32/oleproxy.c
+++ b/dlls/ole32/oleproxy.c
@@ -42,6 +42,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "rpc.h"
diff --git a/dlls/ole32/rpc.c b/dlls/ole32/rpc.c
index aa476c9eac6..fed58aabcf9 100644
--- a/dlls/ole32/rpc.c
+++ b/dlls/ole32/rpc.c
@@ -30,6 +30,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "objbase.h"
 #include "ole2.h"
 #include "ole2ver.h"
diff --git a/dlls/ole32/stg_bigblockfile.c b/dlls/ole32/stg_bigblockfile.c
index 22e5d7b564e..d76602926d2 100644
--- a/dlls/ole32/stg_bigblockfile.c
+++ b/dlls/ole32/stg_bigblockfile.c
@@ -42,6 +42,7 @@
 #define NONAMELESSSTRUCT
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "winerror.h"
 #include "objbase.h"
 #include "ole2.h"
diff --git a/dlls/oleaut32/ole2disp.c b/dlls/oleaut32/ole2disp.c
index 692c6d745e4..7d9cf571f93 100644
--- a/dlls/oleaut32/ole2disp.c
+++ b/dlls/oleaut32/ole2disp.c
@@ -26,11 +26,11 @@
 #include "wine/windef16.h"
 #include "windef.h"
 #include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
 #include "ole2.h"
 #include "oleauto.h"
 #include "winerror.h"
-#include "wingdi.h"
-#include "winuser.h"
 
 #include "ole2disp.h"
 #include "olectl.h"
diff --git a/dlls/olepro32/olepro32stubs.c b/dlls/olepro32/olepro32stubs.c
index 8bd26899f1a..762839bc5d8 100644
--- a/dlls/olepro32/olepro32stubs.c
+++ b/dlls/olepro32/olepro32stubs.c
@@ -26,6 +26,7 @@
 #include "wine/debug.h"
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "ole2.h"
 
 WINE_DEFAULT_DEBUG_CHANNEL(ole);
diff --git a/dlls/quartz/enummoniker.c b/dlls/quartz/enummoniker.c
index 4c917673596..80f26cd7912 100644
--- a/dlls/quartz/enummoniker.c
+++ b/dlls/quartz/enummoniker.c
@@ -26,6 +26,7 @@
 
 #include "windef.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "ole2.h"
 #include "strmif.h"
 
diff --git a/dlls/rpcrt4/rpcrt4_main.c b/dlls/rpcrt4/rpcrt4_main.c
index 768e405d65d..58c722104b4 100644
--- a/dlls/rpcrt4/rpcrt4_main.c
+++ b/dlls/rpcrt4/rpcrt4_main.c
@@ -110,6 +110,7 @@
 #include "windef.h"
 #include "winerror.h"
 #include "winbase.h"
+#include "winuser.h"
 #include "wine/unicode.h"
 #include "rpc.h"
 
diff --git a/dlls/shdocvw/Makefile.in b/dlls/shdocvw/Makefile.in
index a7db8cc26b8..cb619f381f9 100644
--- a/dlls/shdocvw/Makefile.in
+++ b/dlls/shdocvw/Makefile.in
@@ -5,6 +5,7 @@ SRCDIR    = @srcdir@
 VPATH     = @srcdir@
 MODULE    = shdocvw.dll
 IMPORTS   = ole32 user32 advapi32 kernel32
+EXTRALIBS = $(LIBUUID)
 
 LDDLLFLAGS = @LDDLLFLAGS@
 SYMBOLFILE = $(MODULE).tmp.o
diff --git a/dlls/shdocvw/events.c b/dlls/shdocvw/events.c
index 08b1544cedc..760c7ed4788 100644
--- a/dlls/shdocvw/events.c
+++ b/dlls/shdocvw/events.c
@@ -28,6 +28,9 @@
 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
 
 
+static const GUID IID_INotifyDBEvents =
+    { 0xdb526cc0, 0xd188, 0x11cd, { 0xad, 0x48, 0x00, 0xaa, 0x00, 0x3c, 0x9c, 0xb6 } };
+
 /**********************************************************************
  * Implement the IConnectionPointContainer interface
  */
diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h
index 6c5d07d6d56..82133f5c583 100644
--- a/dlls/shdocvw/shdocvw.h
+++ b/dlls/shdocvw/shdocvw.h
@@ -190,10 +190,4 @@ typedef struct
 
 extern IConnectionPointImpl SHDOCVW_ConnectionPoint;
 
-
-/* Other stuff.. */
-
-DEFINE_GUID(IID_INotifyDBEvents,
-0xdb526cc0, 0xd188, 0x11cd, 0xad, 0x48, 0x0, 0xaa, 0x0, 0x3c, 0x9c, 0xb6);
-
 #endif /* __WINE_SHDOCVW_H */
diff --git a/dlls/shdocvw/shdocvw_main.c b/dlls/shdocvw/shdocvw_main.c
index 4c81be1fba5..2f20890f3dc 100644
--- a/dlls/shdocvw/shdocvw_main.c
+++ b/dlls/shdocvw/shdocvw_main.c
@@ -24,7 +24,7 @@
 #include "windef.h"
 #include "winbase.h"
 #include "winreg.h"
-#include "initguid.h"
+#include "winuser.h"
 #include "ole2.h"
 #include "shlwapi.h"
 
diff --git a/dlls/shell32/dragdrophelper.c b/dlls/shell32/dragdrophelper.c
index 68c362171d7..7e4753510aa 100644
--- a/dlls/shell32/dragdrophelper.c
+++ b/dlls/shell32/dragdrophelper.c
@@ -28,12 +28,12 @@
 #include "windef.h"
 #include "winbase.h"
 #include "winreg.h"
+#include "wingdi.h"
+#include "winuser.h"
 
 #include "objbase.h"
 #include "ole2.h"
 #include "shlguid.h"
-#include "wingdi.h"
-#include "winuser.h"
 #include "shlobj.h"
 
 #include "wine/debug.h"
diff --git a/dlls/shell32/shfldr_desktop.c b/dlls/shell32/shfldr_desktop.c
index 5fbd311b43c..efafc9bfeb5 100644
--- a/dlls/shell32/shfldr_desktop.c
+++ b/dlls/shell32/shfldr_desktop.c
@@ -35,6 +35,7 @@
 #include "winbase.h"
 #include "winreg.h"
 #include "wingdi.h"
+#include "winuser.h"
 
 #include "ole2.h"
 #include "shlguid.h"
diff --git a/dlls/shell32/shfldr_fs.c b/dlls/shell32/shfldr_fs.c
index e15f8690474..8ba9072687c 100644
--- a/dlls/shell32/shfldr_fs.c
+++ b/dlls/shell32/shfldr_fs.c
@@ -35,6 +35,7 @@
 #include "winbase.h"
 #include "winreg.h"
 #include "wingdi.h"
+#include "winuser.h"
 
 #include "ole2.h"
 #include "shlguid.h"
diff --git a/dlls/shell32/shlfolder.c b/dlls/shell32/shlfolder.c
index 750659845dc..0d2c325f199 100644
--- a/dlls/shell32/shlfolder.c
+++ b/dlls/shell32/shlfolder.c
@@ -35,6 +35,7 @@
 #include "winbase.h"
 #include "winreg.h"
 #include "wingdi.h"
+#include "winuser.h"
 
 #include "ole2.h"
 #include "shlguid.h"
diff --git a/include/oleidl.h b/include/oleidl.h
index 11015bfef35..6b76ba2c4f4 100644
--- a/include/oleidl.h
+++ b/include/oleidl.h
@@ -272,7 +272,6 @@ typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject;
 
 typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
 
-struct tagMSG;
 /*****************************************************************************
  * IOleInPlaceActiveObject interface
  */
@@ -284,14 +283,7 @@ DEFINE_GUID(IID_IOleInPlaceActiveObject, 0x00000117, 0x0000, 0x0000, 0xc0,0x00,
 struct IOleInPlaceActiveObject : public IOleWindow
 {
     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
-        struct tagMSG {
-            HWND hwnd;
-            UINT message;
-            WPARAM wParam;
-            LPARAM lParam;
-            DWORD time;
-            POINT pt;
-        }* lpmsg) = 0;
+        LPMSG lpmsg) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE OnFrameWindowActivate(
         BOOL fActivate) = 0;
@@ -340,7 +332,7 @@ struct IOleInPlaceActiveObjectVtbl {
     /*** IOleInPlaceActiveObject methods ***/
     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
         IOleInPlaceActiveObject* This,
-        struct tagMSG* lpmsg);
+        LPMSG lpmsg);
 
     HRESULT (STDMETHODCALLTYPE *OnFrameWindowActivate)(
         IOleInPlaceActiveObject* This,
@@ -388,7 +380,7 @@ struct IOleInPlaceActiveObjectVtbl {
     STDMETHOD_(HRESULT,GetWindow)(THIS_ HWND* phwnd) PURE; \
     STDMETHOD_(HRESULT,ContextSensitiveHelp)(THIS_ BOOL fEnterMode) PURE; \
     /*** IOleInPlaceActiveObject methods ***/ \
-    STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ struct tagMSG* lpmsg) PURE; \
+    STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg) PURE; \
     STDMETHOD_(HRESULT,OnFrameWindowActivate)(THIS_ BOOL fActivate) PURE; \
     STDMETHOD_(HRESULT,OnDocWindowActivate)(THIS_ BOOL fActivate) PURE; \
     STDMETHOD_(HRESULT,ResizeBorder)(THIS_ LPCRECT prcBorder, IOleInPlaceUIWindow* pUIWindow, BOOL fFrameWindow) PURE; \
@@ -403,7 +395,7 @@ void __RPC_STUB IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IOleInPlaceActiveObject_TranslateAccelerator_Proxy(
     IOleInPlaceActiveObject* This,
-    struct tagMSG* lpmsg);
+    LPMSG lpmsg);
 HRESULT __RPC_STUB IOleInPlaceActiveObject_TranslateAccelerator_Stub(
     IOleInPlaceActiveObject* This);
 HRESULT CALLBACK IOleInPlaceActiveObject_OnFrameWindowActivate_Proxy(
@@ -652,7 +644,7 @@ struct IOleInPlaceFrame : public IOleInPlaceUIWindow
         BOOL fEnable) = 0;
 
     virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
-        struct tagMSG* lpmsg,
+        LPMSG lpmsg,
         WORD wID) = 0;
 
 };
@@ -729,7 +721,7 @@ struct IOleInPlaceFrameVtbl {
 
     HRESULT (STDMETHODCALLTYPE *TranslateAccelerator)(
         IOleInPlaceFrame* This,
-        struct tagMSG* lpmsg,
+        LPMSG lpmsg,
         WORD wID);
 
 };
@@ -776,7 +768,7 @@ struct IOleInPlaceFrameVtbl {
     STDMETHOD_(HRESULT,RemoveMenus)(THIS_ HMENU hmenuShared) PURE; \
     STDMETHOD_(HRESULT,SetStatusText)(THIS_ LPCOLESTR pszStatusText) PURE; \
     STDMETHOD_(HRESULT,EnableModeless)(THIS_ BOOL fEnable) PURE; \
-    STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ struct tagMSG* lpmsg, WORD wID) PURE;
+    STDMETHOD_(HRESULT,TranslateAccelerator)(THIS_ LPMSG lpmsg, WORD wID) PURE;
 
 HRESULT CALLBACK IOleInPlaceFrame_InsertMenus_Proxy(
     IOleInPlaceFrame* This,
@@ -823,7 +815,7 @@ void __RPC_STUB IOleInPlaceFrame_EnableModeless_Stub(
     DWORD* pdwStubPhase);
 HRESULT CALLBACK IOleInPlaceFrame_TranslateAccelerator_Proxy(
     IOleInPlaceFrame* This,
-    struct tagMSG* lpmsg,
+    LPMSG lpmsg,
     WORD wID);
 void __RPC_STUB IOleInPlaceFrame_TranslateAccelerator_Stub(
     struct IRpcStubBuffer* This,
@@ -2543,7 +2535,7 @@ struct IOleObject : public IUnknown
 
     virtual HRESULT STDMETHODCALLTYPE DoVerb(
         LONG iVerb,
-        struct tagMSG* lpmsg,
+        LPMSG lpmsg,
         IOleClientSite* pActiveSite,
         LONG lindex,
         HWND hwndParent,
@@ -2654,7 +2646,7 @@ struct IOleObjectVtbl {
     HRESULT (STDMETHODCALLTYPE *DoVerb)(
         IOleObject* This,
         LONG iVerb,
-        struct tagMSG* lpmsg,
+        LPMSG lpmsg,
         IOleClientSite* pActiveSite,
         LONG lindex,
         HWND hwndParent,
@@ -2757,7 +2749,7 @@ struct IOleObjectVtbl {
     STDMETHOD_(HRESULT,GetMoniker)(THIS_ DWORD dwAssign, DWORD dwWhichMoniker, IMoniker** ppmk) PURE; \
     STDMETHOD_(HRESULT,InitFromData)(THIS_ IDataObject* pDataObject, BOOL fCreation, DWORD dwReserved) PURE; \
     STDMETHOD_(HRESULT,GetClipboardData)(THIS_ DWORD dwReserved, IDataObject** ppDataObject) PURE; \
-    STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, struct tagMSG* lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
+    STDMETHOD_(HRESULT,DoVerb)(THIS_ LONG iVerb, LPMSG lpmsg, IOleClientSite* pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) PURE; \
     STDMETHOD_(HRESULT,EnumVerbs)(THIS_ IEnumOLEVERB** ppEnumOleVerb) PURE; \
     STDMETHOD_(HRESULT,Update)(THIS) PURE; \
     STDMETHOD_(HRESULT,IsUpToDate)(THIS) PURE; \
@@ -2845,7 +2837,7 @@ void __RPC_STUB IOleObject_GetClipboardData_Stub(
 HRESULT CALLBACK IOleObject_DoVerb_Proxy(
     IOleObject* This,
     LONG iVerb,
-    struct tagMSG* lpmsg,
+    LPMSG lpmsg,
     IOleClientSite* pActiveSite,
     LONG lindex,
     HWND hwndParent,
diff --git a/include/oleidl.idl b/include/oleidl.idl
index cac48e8f8b5..df6eb9ca711 100644
--- a/include/oleidl.idl
+++ b/include/oleidl.idl
@@ -108,11 +108,9 @@ interface IOleInPlaceActiveObject : IOleWindow
 {
     typedef [unique] IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
 
-cpp_quote("struct tagMSG;")  /* FIXME */
-
     [local]
     HRESULT TranslateAccelerator(
-        [in] struct tagMSG *lpmsg);
+        [in] LPMSG lpmsg);
 
     [call_as(TranslateAccelerator)]
     HRESULT RemoteTranslateAccelerator();
@@ -220,7 +218,7 @@ interface IOleInPlaceFrame : IOleInPlaceUIWindow
         [in] BOOL fEnable);
 
     HRESULT TranslateAccelerator(
-        [in] struct tagMSG *lpmsg,
+        [in] LPMSG lpmsg,
         [in] WORD wID);
 }
 
@@ -686,7 +684,7 @@ interface IOleObject : IUnknown
 
     HRESULT DoVerb(
         [in] LONG iVerb,
-        [in, unique] struct tagMSG *lpmsg,
+        [in, unique] LPMSG lpmsg,
         [in, unique] IOleClientSite *pActiveSite,
         [in] LONG lindex,
         [in] HWND hwndParent,
-- 
GitLab