msxml3: Correct unsupported functions in IDispatchEx.

This commit is contained in:
Alistair Leslie-Hughes 2008-08-27 16:33:40 +10:00 committed by Alexandre Julliard
parent 462ddaa254
commit ac29a3d838
2 changed files with 40 additions and 7 deletions

View File

@ -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) static HRESULT WINAPI DispatchEx_DeleteMemberByName(IDispatchEx *iface, BSTR bstrName, DWORD grfdex)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); DispatchEx *This = impl_from_IDispatchEx(iface);
FIXME("(%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex); TRACE("Not implemented in native msxml3 (%p)->(%s %x)\n", This, debugstr_w(bstrName), grfdex);
return S_OK; return E_NOTIMPL;
} }
static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id) static HRESULT WINAPI DispatchEx_DeleteMemberByDispID(IDispatchEx *iface, DISPID id)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); 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; return E_NOTIMPL;
} }
static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex) static HRESULT WINAPI DispatchEx_GetMemberProperties(IDispatchEx *iface, DISPID id, DWORD grfdexFetch, DWORD *pgrfdex)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); 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; return E_NOTIMPL;
} }
static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName) static HRESULT WINAPI DispatchEx_GetMemberName(IDispatchEx *iface, DISPID id, BSTR *pbstrName)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); 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; return E_NOTIMPL;
} }
static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid) static HRESULT WINAPI DispatchEx_GetNextDispID(IDispatchEx *iface, DWORD grfdex, DISPID id, DISPID *pid)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); 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; return E_NOTIMPL;
} }
static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk) static HRESULT WINAPI DispatchEx_GetNameSpaceParent(IDispatchEx *iface, IUnknown **ppunk)
{ {
DispatchEx *This = impl_from_IDispatchEx(iface); 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; return E_NOTIMPL;
} }

View File

@ -26,6 +26,7 @@
#include "ole2.h" #include "ole2.h"
#include "xmldom.h" #include "xmldom.h"
#include "msxml2.h" #include "msxml2.h"
#include "msxml2did.h"
#include "dispex.h" #include "dispex.h"
#include <stdio.h> #include <stdio.h>
#include <assert.h> #include <assert.h>
@ -1544,7 +1545,39 @@ static void test_getElementsByTagName(void)
r = IXMLDOMNodeList_QueryInterface( node_list, &IID_IDispatchEx, (void**)&dispex ); r = IXMLDOMNodeList_QueryInterface( node_list, &IID_IDispatchEx, (void**)&dispex );
ok( r == S_OK, "rets %08x\n", r); ok( r == S_OK, "rets %08x\n", r);
if( r == S_OK ) 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 ); IDispatchEx_Release( dispex );
}
IXMLDOMNodeList_Release( node_list ); IXMLDOMNodeList_Release( node_list );