From 9756cbf70f2a04f97a261425c1a1c1777ea26dfe Mon Sep 17 00:00:00 2001 From: Nikolay Sivov Date: Sat, 28 Apr 2012 11:38:03 +0400 Subject: [PATCH] msxml3: Use dispex support for IDispatch implementation of process instruction node. --- dlls/msxml3/pi.c | 49 +++++++------------------------------------------ 1 file changed, 7 insertions(+), 42 deletions(-) diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c index 36ff5636f38..a6034bba39d 100644 --- a/dlls/msxml3/pi.c +++ b/dlls/msxml3/pi.c @@ -126,12 +126,7 @@ static HRESULT WINAPI dom_pi_GetTypeInfoCount( UINT* pctinfo ) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); - - TRACE("(%p)->(%p)\n", This, pctinfo); - - *pctinfo = 1; - - return S_OK; + return IDispatchEx_GetTypeInfoCount(&This->node.dispex.IDispatchEx_iface, pctinfo); } static HRESULT WINAPI dom_pi_GetTypeInfo( @@ -140,10 +135,8 @@ static HRESULT WINAPI dom_pi_GetTypeInfo( ITypeInfo** ppTInfo ) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); - - TRACE("(%p)->(%u %u %p)\n", This, iTInfo, lcid, ppTInfo); - - return get_typeinfo(IXMLDOMProcessingInstruction_tid, ppTInfo); + return IDispatchEx_GetTypeInfo(&This->node.dispex.IDispatchEx_iface, + iTInfo, lcid, ppTInfo); } static HRESULT WINAPI dom_pi_GetIDsOfNames( @@ -152,23 +145,8 @@ static HRESULT WINAPI dom_pi_GetIDsOfNames( UINT cNames, LCID lcid, DISPID* rgDispId ) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); - ITypeInfo *typeinfo; - HRESULT hr; - - TRACE("(%p)->(%s %p %u %u %p)\n", This, debugstr_guid(riid), rgszNames, cNames, - lcid, rgDispId); - - if(!rgszNames || cNames == 0 || !rgDispId) - return E_INVALIDARG; - - hr = get_typeinfo(IXMLDOMProcessingInstruction_tid, &typeinfo); - if(SUCCEEDED(hr)) - { - hr = ITypeInfo_GetIDsOfNames(typeinfo, rgszNames, cNames, rgDispId); - ITypeInfo_Release(typeinfo); - } - - return hr; + return IDispatchEx_GetIDsOfNames(&This->node.dispex.IDispatchEx_iface, + riid, rgszNames, cNames, lcid, rgDispId); } static HRESULT WINAPI dom_pi_Invoke( @@ -178,21 +156,8 @@ static HRESULT WINAPI dom_pi_Invoke( EXCEPINFO* pExcepInfo, UINT* puArgErr ) { dom_pi *This = impl_from_IXMLDOMProcessingInstruction( iface ); - ITypeInfo *typeinfo; - HRESULT hr; - - TRACE("(%p)->(%d %s %d %d %p %p %p %p)\n", This, dispIdMember, debugstr_guid(riid), - lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); - - hr = get_typeinfo(IXMLDOMProcessingInstruction_tid, &typeinfo); - if(SUCCEEDED(hr)) - { - hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMProcessingInstruction_iface, dispIdMember, - wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); - ITypeInfo_Release(typeinfo); - } - - return hr; + return IDispatchEx_Invoke(&This->node.dispex.IDispatchEx_iface, + dispIdMember, riid, lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr); } static HRESULT WINAPI dom_pi_get_nodeName( -- 2.11.4.GIT