typedef struct
{
- const struct IXMLDOMParseErrorVtbl *lpVtbl;
+ IXMLDOMParseError IXMLDOMParseError_iface;
LONG ref;
LONG code, line, linepos, filepos;
BSTR url, reason, srcText;
static inline parse_error_t *impl_from_IXMLDOMParseError( IXMLDOMParseError *iface )
{
- return (parse_error_t *)((char*)iface - FIELD_OFFSET(parse_error_t, lpVtbl));
+ return CONTAINING_RECORD(iface, parse_error_t, IXMLDOMParseError_iface);
}
static HRESULT WINAPI parseError_QueryInterface(
hr = get_typeinfo(IXMLDOMParseError_tid, &typeinfo);
if(SUCCEEDED(hr))
{
- hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams,
- pVarResult, pExcepInfo, puArgErr);
+ hr = ITypeInfo_Invoke(typeinfo, &This->IXMLDOMParseError_iface, dispIdMember, wFlags,
+ pDispParams, pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo);
}
if ( !This )
return NULL;
- This->lpVtbl = &parseError_vtbl;
+ This->IXMLDOMParseError_iface.lpVtbl = &parseError_vtbl;
This->ref = 1;
This->code = code;
This->linepos = linepos;
This->filepos = filepos;
- return (IXMLDOMParseError*) &This->lpVtbl;
+ return &This->IXMLDOMParseError_iface;
}