sti: Use an iface instead of a vtbl pointer in sti_cf.
This commit is contained in:
parent
3dd2c0d832
commit
bae6528247
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue