msxml3: Use an iface instead of a vtbl pointer in domimpl.

This commit is contained in:
Michael Stefaniuc 2010-12-16 01:04:11 +01:00 committed by Alexandre Julliard
parent 45f1825e72
commit 0be2929b03
1 changed files with 6 additions and 6 deletions

View File

@ -39,13 +39,13 @@ WINE_DEFAULT_DEBUG_CHANNEL(msxml);
typedef struct _domimpl
{
const struct IXMLDOMImplementationVtbl *lpVtbl;
IXMLDOMImplementation IXMLDOMImplementation_iface;
LONG ref;
} domimpl;
static inline domimpl *impl_from_IXMLDOMImplementation( IXMLDOMImplementation *iface )
{
return (domimpl *)((char*)iface - FIELD_OFFSET(domimpl, lpVtbl));
return CONTAINING_RECORD(iface, domimpl, IXMLDOMImplementation_iface);
}
static HRESULT WINAPI dimimpl_QueryInterface(
@ -164,8 +164,8 @@ static HRESULT WINAPI dimimpl_Invoke(
hr = get_typeinfo(IXMLDOMImplementation_tid, &typeinfo);
if(SUCCEEDED(hr))
{
hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams,
pVarResult, pExcepInfo, puArgErr);
hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMImplementation_iface, dispIdMember, wFlags,
pDispParams, pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo);
}
@ -220,10 +220,10 @@ IUnknown* create_doc_Implementation(void)
if ( !This )
return NULL;
This->lpVtbl = &dimimpl_vtbl;
This->IXMLDOMImplementation_iface.lpVtbl = &dimimpl_vtbl;
This->ref = 1;
return (IUnknown*) &This->lpVtbl;
return (IUnknown*)&This->IXMLDOMImplementation_iface;
}
#endif