msxml3: Use an iface instead of a vtbl pointer in domimpl.
This commit is contained in:
parent
45f1825e72
commit
0be2929b03
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue