static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv) { InstallEngine *engine; HRESULT hres; TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv); engine = heap_alloc(sizeof(*engine)); if(!engine) return E_OUTOFMEMORY; engine->IInstallEngine2_iface.lpVtbl = &InstallEngine2Vtbl; engine->ref = 1; hres = IInstallEngine2_QueryInterface(&engine->IInstallEngine2_iface, riid, ppv); IInstallEngine2_Release(&engine->IInstallEngine2_iface); return hres; }
static HRESULT WINAPI InstallEngineTiming_QueryInterface(IInstallEngineTiming *iface, REFIID riid, void **ppv) { InstallEngine *This = impl_from_IInstallEngineTiming(iface); return IInstallEngine2_QueryInterface(&This->IInstallEngine2_iface, riid, ppv); }