diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c
index 3bef7a59851..ae883a0846a 100644
--- a/dlls/mshtml/persist.c
+++ b/dlls/mshtml/persist.c
@@ -301,10 +301,6 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
if(pibc) {
IUnknown *unk = NULL;
- static WCHAR wszClientSiteParam[] = {'{','d','4','d','b','6','8','5','0','-',
- '5','3','8','5','-','1','1','d','0','-','8','9','e','9','-','0','0','a',
- '0','c','9','0','a','9','0','a','c','}',0};
-
/* FIXME:
* Use params:
* "__PrecreatedObject"
@@ -317,7 +313,7 @@ static HRESULT WINAPI PersistMoniker_Load(IPersistMoniker *iface, BOOL fFullyAva
* "_EnumFORMATETC_"
*/
- IBindCtx_GetObjectParam(pibc, wszClientSiteParam, &unk);
+ IBindCtx_GetObjectParam(pibc, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM, &unk);
if(unk) {
IOleClientSite *client = NULL;
diff --git a/dlls/mshtml/tests/htmldoc.c b/dlls/mshtml/tests/htmldoc.c
index e4c638b9234..fee6565554f 100644
--- a/dlls/mshtml/tests/htmldoc.c
+++ b/dlls/mshtml/tests/htmldoc.c
@@ -34,7 +34,6 @@
#include "initguid.h"
DEFINE_SHLGUID(CGID_Undocumented, 0x000214D4L, 0, 0);
-DEFINE_GUID(CGID_MSHTML, 0xDE4BA900,0x59CA,0x11CF,0x95,0x92, 0x44,0x45,0x53,0x54,0x00,0x00);
#define DEFINE_EXPECT(func) \
static BOOL expect_ ## func = FALSE, called_ ## func = FALSE
@@ -1262,9 +1261,6 @@ static void test_Load(IPersistMoniker *persist)
IBindCtx *bind;
HRESULT hres;
- static WCHAR wszClientSiteParam[] = {'{','d','4','d','b','6','8','5','0','-',
- '5','3','8','5','-','1','1','d','0','-','8','9','e','9','-','0','0','a',
- '0','c','9','0','a','9','0','a','c','}',0};
static const WCHAR wszWineHQ[] =
{'h','t','t','p',':','/','/','w','w','w','.','w','i','n','e','h','q','.','o','r','g','/',0};
@@ -1274,7 +1270,8 @@ static void test_Load(IPersistMoniker *persist)
return;
CreateBindCtx(0, &bind);
- IBindCtx_RegisterObjectParam(bind, wszClientSiteParam, (IUnknown*)&ClientSite);
+ IBindCtx_RegisterObjectParam(bind, (LPOLESTR)SZ_HTML_CLIENTSITE_OBJECTPARAM,
+ (IUnknown*)&ClientSite);
SET_EXPECT(GetHostInfo);
SET_EXPECT(GetOptionKeyPath);
diff --git a/include/mshtmhst.idl b/include/mshtmhst.idl
index 1ed8b90b02d..41c3ed0b0a9 100644
--- a/include/mshtmhst.idl
+++ b/include/mshtmhst.idl
@@ -48,6 +48,17 @@ cpp_quote("#define HTMLDLG_VERIFY 0x0100")
cpp_quote("#define PRINT_DONTBOTHERUSER 0x0001")
cpp_quote("#define PRINT_WAITFORCOMPLETION 0x0002")
+cpp_quote("DEFINE_GUID(CGID_MSHTML, 0xde4ba900,0x59ca,0x11cf,0x95,0x92,0x44,0x45,0x53,0x54,0x00,0x00);")
+cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML")
+
+cpp_quote("#if defined(__GNUC__)")
+cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM (const WCHAR[]) {'{','d','4','d','b','6','8','5','0','-','5','3','8','5','-','1','1','d','0','-','8','9','e','9','-','0','0','a','0','c','9','0','a','9','0','a','c','}',0}")
+cpp_quote("#elif defined(_MSC_VER)")
+cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"")
+cpp_quote("#else")
+cpp_quote("static const WCHAR SZ_HTML_CLIENTSITE_OBJECTPARAM[] = {'{','d','4','d','b','6','8','5','0','-','5','3','8','5','-','1','1','d','0','-','8','9','e','9','-','0','0','a','0','c','9','0','a','9','0','a','c','}',0};")
+cpp_quote("#endif")
+
cpp_quote("#ifndef __IHTMLWindow2_FWD_DEFINED__")
cpp_quote("#define __IHTMLWindow2_FWD_DEFINED__")
cpp_quote("typedef interface IHTMLWindow2 IHTMLWindow2;")
@@ -195,6 +206,8 @@ interface IDocHostUIHandler : IUnknown
[out] IDataObject **ppDORet);
}
+cpp_quote("DEFINE_GUID(CGID_DocHostCommandHandler,0xf38bc242,0xb950,0x11d1,0x89,0x18,0x00,0xc0,0x4f,0xc2,0xc8,0x36);")
+
[
object,
uuid(3050F6D0-98b5-11CF-BB82-00AA00BDCE0B),