msxml3: Use dispex support for IDispatch implementation of process instruction node
Nikolay Sivov
nsivov at codeweavers.com
Sat Apr 28 04:20:45 CDT 2012
Use dispex support for IDispatch implementation of process instruction node
-------------- next part --------------
>From 14ccdf5d56a2fde48fac49351131880c03172a08 Mon Sep 17 00:00:00 2001
From: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sat, 28 Apr 2012 11:38:03 +0400
Subject: [PATCH 1/2] 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(
--
1.5.6.5
More information about the wine-patches
mailing list