Commit bae65282 authored by Michael Stefaniuc's avatar Michael Stefaniuc Committed by Alexandre Julliard

sti: Use an iface instead of a vtbl pointer in sti_cf.

parent 3dd2c0d8
......@@ -43,13 +43,13 @@ typedef HRESULT (*fnCreateInstance)(REFIID riid, IUnknown *pUnkOuter, LPVOID *pp
typedef struct
{
const struct IClassFactoryVtbl *vtbl;
IClassFactory IClassFactory_iface;
fnCreateInstance pfnCreateInstance;
} sti_cf;
static inline sti_cf *impl_from_IClassFactory( IClassFactory *iface )
{
return (sti_cf *)((char *)iface - FIELD_OFFSET( sti_cf, vtbl ));
return CONTAINING_RECORD(iface, sti_cf, IClassFactory_iface);
}
static HRESULT sti_create( REFIID riid, IUnknown *pUnkOuter, LPVOID *ppObj )
......@@ -131,7 +131,7 @@ static const struct IClassFactoryVtbl sti_cf_vtbl =
sti_cf_LockServer
};
static sti_cf the_sti_cf = { &sti_cf_vtbl, sti_create };
static sti_cf the_sti_cf = { { &sti_cf_vtbl }, sti_create };
BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
......@@ -153,7 +153,7 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv )
if (IsEqualGUID( rclsid, &CLSID_Sti ))
{
cf = (IClassFactory *)&the_sti_cf.vtbl;
cf = &the_sti_cf.IClassFactory_iface;
}
if (cf)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment