mshtml: Silence common invalid QueryInterface FIXME.
This commit is contained in:
parent
af3d19fa04
commit
fe863e0326
|
@ -623,12 +623,18 @@ static IDispatchExVtbl DispatchExVtbl = {
|
||||||
|
|
||||||
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
|
BOOL dispex_query_interface(DispatchEx *This, REFIID riid, void **ppv)
|
||||||
{
|
{
|
||||||
|
static const IID IID_UndocumentedScriptIface =
|
||||||
|
{0x719c3050,0xf9d3,0x11cf,{0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa0}};
|
||||||
|
|
||||||
if(IsEqualGUID(&IID_IDispatch, riid)) {
|
if(IsEqualGUID(&IID_IDispatch, riid)) {
|
||||||
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
||||||
*ppv = DISPATCHEX(This);
|
*ppv = DISPATCHEX(This);
|
||||||
}else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
|
}else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
|
||||||
TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
|
||||||
*ppv = DISPATCHEX(This);
|
*ppv = DISPATCHEX(This);
|
||||||
|
}else if(IsEqualGUID(&IID_UndocumentedScriptIface, riid)) {
|
||||||
|
TRACE("(%p)->(IID_UndocumentedScriptIface %p) returning NULL\n", This, ppv);
|
||||||
|
*ppv = NULL;
|
||||||
}else {
|
}else {
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -134,6 +134,8 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
|
||||||
}else if(IsEqualGUID(&IID_IRunnableObject, riid)) {
|
}else if(IsEqualGUID(&IID_IRunnableObject, riid)) {
|
||||||
TRACE("(%p)->(IID_IRunnableObject %p) returning NULL\n", This, ppvObject);
|
TRACE("(%p)->(IID_IRunnableObject %p) returning NULL\n", This, ppvObject);
|
||||||
return E_NOINTERFACE;
|
return E_NOINTERFACE;
|
||||||
|
}else if(dispex_query_interface(&This->dispex, riid, ppvObject)) {
|
||||||
|
return *ppvObject ? S_OK : E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*ppvObject) {
|
if(*ppvObject) {
|
||||||
|
|
|
@ -61,6 +61,8 @@ static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID rii
|
||||||
}else if(IsEqualGUID(&IID_IHTMLWindow3, riid)) {
|
}else if(IsEqualGUID(&IID_IHTMLWindow3, riid)) {
|
||||||
TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IHTMLWindow2 %p)\n", This, ppv);
|
||||||
*ppv = HTMLWINDOW3(This);
|
*ppv = HTMLWINDOW3(This);
|
||||||
|
}else if(dispex_query_interface(&This->dispex, riid, ppv)) {
|
||||||
|
return *ppv ? S_OK : E_NOINTERFACE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*ppv) {
|
if(*ppv) {
|
||||||
|
|
|
@ -3701,20 +3701,28 @@ static void test_QueryInterface(IUnknown *unk)
|
||||||
IUnknown *qi;
|
IUnknown *qi;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
|
static const IID IID_UndocumentedScriptIface =
|
||||||
|
{0x719c3050,0xf9d3,0x11cf,{0xa4,0x93,0x00,0x40,0x05,0x23,0xa8,0xa0}};
|
||||||
|
|
||||||
qi = (void*)0xdeadbeef;
|
qi = (void*)0xdeadbeef;
|
||||||
hres = IUnknown_QueryInterface(unk, &IID_IRunnableObject, (void**)&qi);
|
hres = IUnknown_QueryInterface(unk, &IID_IRunnableObject, (void**)&qi);
|
||||||
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
||||||
ok(qi == NULL, "runnable=%p, ezpected NULL\n", qi);
|
ok(qi == NULL, "qirunnable=%p, ezpected NULL\n", qi);
|
||||||
|
|
||||||
qi = (void*)0xdeadbeef;
|
qi = (void*)0xdeadbeef;
|
||||||
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode, (void**)&qi);
|
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode, (void**)&qi);
|
||||||
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
||||||
ok(qi == NULL, "runnable=%p, ezpected NULL\n", qi);
|
ok(qi == NULL, "qi=%p, ezpected NULL\n", qi);
|
||||||
|
|
||||||
qi = (void*)0xdeadbeef;
|
qi = (void*)0xdeadbeef;
|
||||||
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode2, (void**)&qi);
|
hres = IUnknown_QueryInterface(unk, &IID_IHTMLDOMNode2, (void**)&qi);
|
||||||
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
||||||
ok(qi == NULL, "runnable=%p, ezpected NULL\n", qi);
|
ok(qi == NULL, "qi=%p, ezpected NULL\n", qi);
|
||||||
|
|
||||||
|
qi = (void*)0xdeadbeef;
|
||||||
|
hres = IUnknown_QueryInterface(unk, &IID_UndocumentedScriptIface, (void**)&qi);
|
||||||
|
ok(hres == E_NOINTERFACE, "QueryInterface returned %08x, expected E_NOINTERFACE\n", hres);
|
||||||
|
ok(qi == NULL, "qi=%p, ezpected NULL\n", qi);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void init_test(enum load_state_t ls) {
|
static void init_test(enum load_state_t ls) {
|
||||||
|
|
Loading…
Reference in New Issue