Am 20.06.2011 17:50, schrieb Henri Verbeet:
2011/6/18 André Hentschel nerv@dawncrow.de:
-static HRESULT STDMETHODCALLTYPE taskbar_list_QueryInterface(ITaskbarList *iface, REFIID riid, void **object) +static HRESULT STDMETHODCALLTYPE taskbar_list_QueryInterface(ITaskbarList2 *iface, REFIID riid, LPVOID *ppv) {
- TRACE("iface %p, riid %s, object %p\n", iface, debugstr_guid(riid), object);
- struct taskbar_list *This = impl_from_ITaskbarList2(iface);
- *ppv = NULL;
- if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = &This->ITaskbarList2_iface;
- }else if(IsEqualGUID(&IID_ITaskbarList, riid)) {
TRACE("(%p)->(IID_ITaskbarList %p)\n", This, ppv);
*ppv = &This->ITaskbarList2_iface;
- }else if(IsEqualGUID(&IID_ITaskbarList2, riid)) {
TRACE("(%p)->(IID_ITaskbarList2 %p)\n", This, ppv);
*ppv = &This->ITaskbarList2_iface;
- }
- if (IsEqualGUID(riid, &IID_ITaskbarList)
|| IsEqualGUID(riid, &IID_IUnknown))
- {
IUnknown_AddRef(iface);
*object = iface;
- if(*ppv) {
}IUnknown_AddRef((IUnknown*)*ppv); return S_OK;
- WARN("%s not implemented, returning E_NOINTERFACE\n", debugstr_guid(riid));
- *object = NULL;
- WARN("(%p)->(%s %p) interface not supported\n", This, debugstr_guid(riid), ppv); return E_NOINTERFACE;
}
I'm not sure that's really an improvement.
I thought i use the way the webbrowser queryinterface in the same dll is implemented. Of course i can change less here.