Alistair Leslie-Hughes : msxml3: Correct unsupported functions in IDispatchEx.
Alexandre Julliard
julliard at winehq.org
Wed Aug 27 08:24:49 CDT 2008
Module: wine
Branch: master
Commit: ac29a3d838ed122af1d8cd9c447e55966a0cfdc7
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ac29a3d838ed122af1d8cd9c447e55966a0cfdc7
Author: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Wed Aug 27 16:33:40 2008 +1000
msxml3: Correct unsupported functions in IDispatchEx.
---
dlls/msxml3/dispex.c | 14 +++++++-------
dlls/msxml3/tests/domdoc.c | 33 +++++++++++++++++++++++++++++++++
2 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/dlls/msxml3/dispex.c b/dlls/msxml3/dispex.c
index 4156c78..438cf48 100644
--- a/dlls/msxml3/dispex.c
+++ b/dlls/msxml3/dispex.c
@@ -542,42 +542,42 @@ static HRESULT WINAPI DispatchEx_InvokeEx(IDispatchEx *iface, DISPID id, LCID lc
static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
- return S_OK;
+ TRACE("Not implemented in native msxml3 (%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
+ return E_NOTIMPL;
}
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%x)\n", This, id);
+ TRACE("Not implemented in native msxml3 (%p)->(%x)\n", This, id);
return E_NOTIMPL;
}
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%x %x %p)\n", This, id, grfdexFetch, pgrfdex);
+ TRACE("Not implemented in native msxml3 (%p)->(%x %x %p)\n", This, id, grfdexFetch, pgrfdex);
return E_NOTIMPL;
}
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%x %p)\n", This, id, pbstrName);
+ TRACE("Not implemented in native msxml3 (%p)->(%x %p)\n", This, id, pbstrName);
return E_NOTIMPL;
}
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%x %x %p)\n", This, grfdex, id, pid);
+ TRACE(" Not implemented in native msxml3 (%p)->(%x %x %p)\n", This, grfdex, id, pid);
return E_NOTIMPL;
}
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
{
DispatchEx *This = impl_from_IDispatchEx(iface);
- FIXME("(%p)->(%p)\n", This, ppunk);
+ TRACE("Not implemented in native msxml3 (%p)->(%p)\n", This, ppunk);
return E_NOTIMPL;
}
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index 8a48882..8af6b02 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -26,6 +26,7 @@
#include "ole2.h"
#include "xmldom.h"
#include "msxml2.h"
+#include "msxml2did.h"
#include "dispex.h"
#include <stdio.h>
#include <assert.h>
@@ -1544,7 +1545,39 @@ static void test_getElementsByTagName(void)
r = IXMLDOMNodeList_QueryInterface( node_list, &IID_IDispatchEx, (void**)&dispex );
ok( r == S_OK, "rets %08x\n", r);
if( r == S_OK )
+ {
+ DISPID dispid = DISPID_XMLDOM_NODELIST_RESET;
+ DWORD dwProps = 0;
+ BSTR sName;
+ IUnknown *pUnk;
+
+ sName = SysAllocString( szstar );
+ r = IDispatchEx_DeleteMemberByName(dispex, sName, fdexNameCaseSensitive);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+ SysFreeString( sName );
+
+ r = IDispatchEx_DeleteMemberByDispID(dispex, dispid);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+
+ r = IDispatchEx_GetMemberProperties(dispex, dispid, grfdexPropCanAll, &dwProps);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+ ok(dwProps == 0, "expected 0 got %d\n", dwProps);
+
+ r = IDispatchEx_GetMemberName(dispex, dispid, &sName);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+ if(sName)
+ SysFreeString(sName);
+
+ r = IDispatchEx_GetNextDispID(dispex, fdexEnumDefault, DISPID_XMLDOM_NODELIST_RESET, &dispid);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+
+ r = IDispatchEx_GetNameSpaceParent(dispex, &pUnk);
+ ok(r == E_NOTIMPL, "expected E_NOTIMPL got %08x\n", r);
+ if(r == S_OK)
+ IUnknown_Release(pUnk);
+
IDispatchEx_Release( dispex );
+ }
IXMLDOMNodeList_Release( node_list );
More information about the wine-cvs
mailing list