Commit 957cfa68 authored by Michael Stefaniuc's avatar Michael Stefaniuc Committed by Alexandre Julliard

wmiutils: Use an iface instead of a vtbl pointer in wmiutils_cf.

parent a36f51f3
...@@ -39,13 +39,13 @@ typedef HRESULT (*fnCreateInstance)( IUnknown *pUnkOuter, LPVOID *ppObj ); ...@@ -39,13 +39,13 @@ typedef HRESULT (*fnCreateInstance)( IUnknown *pUnkOuter, LPVOID *ppObj );
typedef struct typedef struct
{ {
const struct IClassFactoryVtbl *vtbl; IClassFactory IClassFactory_iface;
fnCreateInstance pfnCreateInstance; fnCreateInstance pfnCreateInstance;
} wmiutils_cf; } wmiutils_cf;
static inline wmiutils_cf *impl_from_IClassFactory( IClassFactory *iface ) static inline wmiutils_cf *impl_from_IClassFactory( IClassFactory *iface )
{ {
return (wmiutils_cf *)((char *)iface - FIELD_OFFSET( wmiutils_cf, vtbl )); return CONTAINING_RECORD(iface, wmiutils_cf, IClassFactory_iface);
} }
static HRESULT WINAPI wmiutils_cf_QueryInterface( IClassFactory *iface, REFIID riid, LPVOID *ppobj ) static HRESULT WINAPI wmiutils_cf_QueryInterface( IClassFactory *iface, REFIID riid, LPVOID *ppobj )
...@@ -112,7 +112,7 @@ static const struct IClassFactoryVtbl wmiutils_cf_vtbl = ...@@ -112,7 +112,7 @@ static const struct IClassFactoryVtbl wmiutils_cf_vtbl =
wmiutils_cf_LockServer wmiutils_cf_LockServer
}; };
static wmiutils_cf status_code_cf = { &wmiutils_cf_vtbl, WbemStatusCodeText_create }; static wmiutils_cf status_code_cf = { { &wmiutils_cf_vtbl }, WbemStatusCodeText_create };
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID lpv ) BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID lpv )
{ {
...@@ -138,7 +138,7 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv ) ...@@ -138,7 +138,7 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID iid, LPVOID *ppv )
if (IsEqualGUID( rclsid, &CLSID_WbemStatusCode )) if (IsEqualGUID( rclsid, &CLSID_WbemStatusCode ))
{ {
cf = (IClassFactory *)&status_code_cf.vtbl; cf = &status_code_cf.IClassFactory_iface;
} }
if (!cf) return CLASS_E_CLASSNOTAVAILABLE; if (!cf) return CLASS_E_CLASSNOTAVAILABLE;
return IClassFactory_QueryInterface( cf, iid, ppv ); return IClassFactory_QueryInterface( cf, iid, ppv );
......
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