/************************************************************************ * IEIPersistFile_AddRef (IUnknown) */ static ULONG WINAPI IEIPersistFile_fnAddRef( IPersistFile *iface) { IExtractIconW *This = impl_from_IPersistFile(iface); return IExtractIconW_AddRef(This); }
/************************************************************************** * IExtractIconW_QueryInterface */ static HRESULT WINAPI IExtractIconW_fnQueryInterface(IExtractIconW *iface, REFIID riid, LPVOID *ppvObj) { IExtractIconWImpl *This = (IExtractIconWImpl *)iface; TRACE("(%p)->(\n\tIID:\t%s,%p)\n", This, debugstr_guid(riid), ppvObj); *ppvObj = NULL; if (IsEqualIID(riid, &IID_IUnknown)) /*IUnknown*/ { *ppvObj = This; } else if (IsEqualIID(riid, &IID_IPersistFile)) /*IExtractIcon*/ { *ppvObj = (IPersistFile*)&(This->lpvtblPersistFile); } else if (IsEqualIID(riid, &IID_IExtractIconA)) /*IExtractIcon*/ { *ppvObj = (IExtractIconA*)&(This->lpvtblExtractIconA); } else if (IsEqualIID(riid, &IID_IExtractIconW)) /*IExtractIcon*/ { *ppvObj = (IExtractIconW*)This; } if(*ppvObj) { IExtractIconW_AddRef((IExtractIconW*) *ppvObj); TRACE("-- Interface: (%p)->(%p)\n",ppvObj,*ppvObj); return S_OK; } TRACE("-- Interface: E_NOINTERFACE\n"); return E_NOINTERFACE; }
/************************************************************************** * IExtractIconA::AddRef */ static ULONG WINAPI IExtractIconA_fnAddRef(IExtractIconA * iface) { IExtractIconWImpl *This = impl_from_IExtractIconA(iface); return IExtractIconW_AddRef(&This->IExtractIconW_iface); }
/************************************************************************** * IExtractIconA_Release */ static ULONG WINAPI IExtractIconA_fnRelease(IExtractIconA * iface) { IExtractIconW *This = impl_from_IExtractIconA(iface); return IExtractIconW_AddRef(This); }