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

This commit is contained in:
Michael Stefaniuc 2010-12-29 02:52:14 +01:00 committed by Alexandre Julliard
parent 7af2899aeb
commit 2a2bc6a98d

View File

@ -60,7 +60,7 @@ struct reqheader
typedef struct typedef struct
{ {
const struct IXMLHTTPRequestVtbl *lpVtbl; IXMLHTTPRequest IXMLHTTPRequest_iface;
LONG ref; LONG ref;
READYSTATE state; READYSTATE state;
@ -85,7 +85,7 @@ typedef struct
static inline httprequest *impl_from_IXMLHTTPRequest( IXMLHTTPRequest *iface ) static inline httprequest *impl_from_IXMLHTTPRequest( IXMLHTTPRequest *iface )
{ {
return (httprequest *)((char*)iface - FIELD_OFFSET(httprequest, lpVtbl)); return CONTAINING_RECORD(iface, httprequest, IXMLHTTPRequest_iface);
} }
static void httprequest_setreadystate(httprequest *This, READYSTATE state) static void httprequest_setreadystate(httprequest *This, READYSTATE state)
@ -617,8 +617,8 @@ static HRESULT WINAPI httprequest_Invoke(IXMLHTTPRequest *iface, DISPID dispIdMe
hr = get_typeinfo(IXMLHTTPRequest_tid, &typeinfo); hr = get_typeinfo(IXMLHTTPRequest_tid, &typeinfo);
if(SUCCEEDED(hr)) if(SUCCEEDED(hr))
{ {
hr = ITypeInfo_Invoke(typeinfo, &(This->lpVtbl), dispIdMember, wFlags, pDispParams, hr = ITypeInfo_Invoke(typeinfo, &This->IXMLHTTPRequest_iface, dispIdMember, wFlags,
pVarResult, pExcepInfo, puArgErr); pDispParams, pVarResult, pExcepInfo, puArgErr);
ITypeInfo_Release(typeinfo); ITypeInfo_Release(typeinfo);
} }
@ -1001,7 +1001,7 @@ HRESULT XMLHTTPRequest_create(IUnknown *pUnkOuter, void **ppObj)
if( !req ) if( !req )
return E_OUTOFMEMORY; return E_OUTOFMEMORY;
req->lpVtbl = &dimimpl_vtbl; req->IXMLHTTPRequest_iface.lpVtbl = &dimimpl_vtbl;
req->ref = 1; req->ref = 1;
req->async = FALSE; req->async = FALSE;
@ -1016,7 +1016,7 @@ HRESULT XMLHTTPRequest_create(IUnknown *pUnkOuter, void **ppObj)
req->reqheader_size = 0; req->reqheader_size = 0;
list_init(&req->reqheaders); list_init(&req->reqheaders);
*ppObj = &req->lpVtbl; *ppObj = &req->IXMLHTTPRequest_iface;
TRACE("returning iface %p\n", *ppObj); TRACE("returning iface %p\n", *ppObj);