static HRESULT WINAPI ContextMenu_QueryInterface(IContextMenu3 *iface, REFIID riid, LPVOID *ppvObj) { ContextMenu *This = impl_from_IContextMenu3(iface); TRACE("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppvObj); *ppvObj = NULL; if (IsEqualIID(riid, &IID_IUnknown) || IsEqualIID(riid, &IID_IContextMenu) || IsEqualIID(riid, &IID_IContextMenu2) || IsEqualIID(riid, &IID_IContextMenu3)) { *ppvObj = &This->IContextMenu3_iface; } else if (IsEqualIID(riid, &IID_IShellExtInit)) /*IShellExtInit*/ { FIXME("-- LPSHELLEXTINIT pointer requested\n"); } if(*ppvObj) { IContextMenu3_AddRef(iface); return S_OK; } TRACE("-- Interface: E_NOINTERFACE\n"); return E_NOINTERFACE; }
static HRESULT WINAPI CompositeCMenu_QueryInterface(IContextMenu3 *iface, REFIID riid, void **ppv) { TRACE("(%p)->(%s,%p)\n",iface,shdebugstr_guid(riid),ppv); if(!ppv) return E_INVALIDARG; if(IsEqualIID(riid,&IID_IUnknown) || IsEqualIID(riid,&IID_IContextMenu) || IsEqualIID(riid,&IID_IContextMenu2) || IsEqualIID(riid,&IID_IContextMenu3)) *ppv=iface; else return E_NOINTERFACE; IContextMenu3_AddRef(iface); return S_OK; }