From 0e8c7bece60d4c1ea51ebdab81de309851f13f6b Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 25 Jan 2017 11:56:40 +0100 Subject: [PATCH] mshtml: Added MHTMLDocument object class factory stub implementation. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/mshtml/htmldoc.c | 6 ++++++ dlls/mshtml/main.c | 4 +++- dlls/mshtml/mshtml_private.h | 1 + include/mshtml.idl | 2 ++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index cf9344f7f3e..b409e7dad28 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -5105,3 +5105,9 @@ HRESULT HTMLDocument_Create(IUnknown *pUnkOuter, REFIID riid, void** ppvObject) return S_OK; } + +HRESULT MHTMLDocument_Create(IUnknown *outer, REFIID riid, void **ppv) +{ + FIXME("(%p %s %p)\n", outer, debugstr_mshtml_guid(riid), ppv); + return E_NOTIMPL; +} diff --git a/dlls/mshtml/main.c b/dlls/mshtml/main.c index 2a00aeefa91..ad6bb2bcc6d 100644 --- a/dlls/mshtml/main.c +++ b/dlls/mshtml/main.c @@ -339,6 +339,9 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv) if(IsEqualGUID(&CLSID_HTMLDocument, rclsid)) { TRACE("(CLSID_HTMLDocument %s %p)\n", debugstr_mshtml_guid(riid), ppv); return ClassFactory_Create(riid, ppv, HTMLDocument_Create); + }else if(IsEqualGUID(&CLSID_MHTMLDocument, rclsid)) { + TRACE("(CLSID_MHTMLDocument %s %p)\n", debugstr_mshtml_guid(riid), ppv); + return ClassFactory_Create(riid, ppv, MHTMLDocument_Create); }else if(IsEqualGUID(&CLSID_AboutProtocol, rclsid)) { TRACE("(CLSID_AboutProtocol %s %p)\n", debugstr_mshtml_guid(riid), ppv); return ProtocolFactory_Create(rclsid, riid, ppv); @@ -441,7 +444,6 @@ DEFINE_GUID(CLSID_HTMLServerDoc, 0x3050F4E7, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xA DEFINE_GUID(CLSID_IImageDecodeFilter, 0x607FD4E8, 0x0A03, 0x11D1, 0xAB,0x1D, 0x00,0xC0,0x4F,0xC9,0xB3,0x04); DEFINE_GUID(CLSID_IImgCtx, 0x3050F3D6, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); DEFINE_GUID(CLSID_IntDitherer, 0x05F6FE1A, 0xECEF, 0x11D0, 0xAA,0xE7, 0x00,0xC0,0x4F,0xC9,0xB3,0x04); -DEFINE_GUID(CLSID_MHTMLDocument, 0x3050F3D9, 0x98B5, 0x11CF, 0xBB,0x82, 0x00,0xAA,0x00,0xBD,0xCE,0x0B); DEFINE_GUID(CLSID_TridentAPI, 0x429AF92C, 0xA51F, 0x11D2, 0x86,0x1E, 0x00,0xC0,0x4F,0xA3,0x5C,0x89); #define INF_SET_ID(id) \ diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 1d4dcc5e0c8..5a559ea62c1 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -823,6 +823,7 @@ struct HTMLDocumentNode { }; HRESULT HTMLDocument_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN; +HRESULT MHTMLDocument_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN; HRESULT HTMLLoadOptions_Create(IUnknown*,REFIID,void**) DECLSPEC_HIDDEN; HRESULT create_doc_from_nsdoc(nsIDOMHTMLDocument*,HTMLDocumentObj*,HTMLInnerWindow*,HTMLDocumentNode**) DECLSPEC_HIDDEN; diff --git a/include/mshtml.idl b/include/mshtml.idl index f004f394fe8..cbcb44f21db 100644 --- a/include/mshtml.idl +++ b/include/mshtml.idl @@ -33,6 +33,8 @@ import "dispex.idl"; cpp_quote("#include ") +cpp_quote("DEFINE_GUID(CLSID_MHTMLDocument, 0x3050f3d9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);") + cpp_quote("DEFINE_GUID(SID_SEditCommandTarget, 0x3050f4b5,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);") cpp_quote("DEFINE_GUID(SID_SHTMLEditHost, 0x3050f6a0,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);") cpp_quote("DEFINE_GUID(SID_SHTMLEditServices, 0x3050f7f9,0x98b5,0x11cf,0xbb,0x82,0x00,0xaa,0x00,0xbd,0xce,0x0b);")