Nikolay Sivov : msxml3: Use dispex support for IDispatch implementation of process instruction node .

Alexandre Julliard julliard at winehq.org
Mon Apr 30 14:13:07 CDT 2012


Module: wine
Branch: master
Commit: 9756cbf70f2a04f97a261425c1a1c1777ea26dfe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9756cbf70f2a04f97a261425c1a1c1777ea26dfe

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Sat Apr 28 11:38:03 2012 +0400

msxml3: Use dispex support for IDispatch implementation of process instruction node.

---

 dlls/msxml3/pi.c |   49 +++++++------------------------------------------
 1 files changed, 7 insertions(+), 42 deletions(-)

diff --git a/dlls/msxml3/pi.c b/dlls/msxml3/pi.c
index 36ff563..a6034bb 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(




More information about the wine-cvs mailing list