+static HRESULT WINAPI editsvcs_QueryInterface(IHTMLEditServices *iface, REFIID riid, void **ppv) +{ + editsvcs *This = impl_from_IHTMLEditServices(iface); + + if(IsEqualGUID(riid, &IID_IUnknown)) { + TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv); + *ppv = &This->IHTMLEditServices_iface; + } else if(IsEqualGUID(riid, &IID_IHTMLEditServices)) { + TRACE("(%p)->(IID_IHTMLEditServices %p)\n", This, ppv); + *ppv = &This->IHTMLEditServices_iface; + } else { + *ppv = NULL; + FIXME("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); + return E_NOINTERFACE; + }
+ +static IHTMLEditServices *create_editsvcs(void) +{ + editsvcs *ret = heap_alloc(sizeof(*ret));
+ + ret->IHTMLEditServices_iface.lpVtbl = &editsvcsVtbl; + ret->ref = 1; + + return &ret->IHTMLEditServices_iface; +} + /********************************************************** * IServiceProvider implementation */ @@ -259,6 +381,15 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG return IWindowForBindingUI_QueryInterface(&This->doc_obj->IWindowForBindingUI_iface, riid, ppv); } + if(IsEqualGUID(&SID_SHTMLEditServices, guidService)) { + FIXME("SID_SHTMLEditServices\n");