Commit 26d42b9d authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

msxml3: Added ISupportErrorInfo support for schema cache.

parent 20ce6bd1
......@@ -116,6 +116,12 @@ typedef struct
LONG ref;
} cache_entry;
static const tid_t schema_cache_se_tids[] = {
IXMLDOMSchemaCollection_tid,
IXMLDOMSchemaCollection2_tid,
NULL_tid
};
/* datatypes lookup stuff
* generated with help from gperf */
#define DT_MIN_STR_LEN 2
......@@ -1105,6 +1111,10 @@ static HRESULT WINAPI schema_cache_QueryInterface(IXMLDOMSchemaCollection2* ifac
{
return *ppvObject ? S_OK : E_NOINTERFACE;
}
else if(IsEqualGUID( riid, &IID_ISupportErrorInfo ))
{
return node_create_supporterrorinfo(schema_cache_se_tids, ppvObject);
}
else
{
FIXME("interface %s not implemented\n", debugstr_guid(riid));
......
......@@ -10712,6 +10712,7 @@ static void test_supporterrorinfo(void)
&IID_IXMLDOMDocument2, &IID_IXMLDOMDocument3 };
const supporterror_t *ptr = supporterror_test;
ISupportErrorInfo *errorinfo, *info2;
IXMLDOMSchemaCollection *schemacache;
IXMLDOMNamedNodeMap *map, *map2;
IXMLDOMDocument *doc;
IXMLDOMElement *elem;
......@@ -10838,6 +10839,20 @@ static void test_supporterrorinfo(void)
IXMLDOMElement_Release(elem);
IXMLDOMDocument_Release(doc);
/* IXMLDOMSchemaCollection */
hr = CoCreateInstance(&CLSID_XMLSchemaCache, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMSchemaCollection, (void**)&schemacache);
ok(hr == S_OK, "failed to create schema collection, 0x%08x\n", hr);
hr = IXMLDOMSchemaCollection_QueryInterface(schemacache, &IID_ISupportErrorInfo, (void**)&errorinfo);
ok(hr == S_OK, "got 0x%08x\n", hr);
hr = ISupportErrorInfo_InterfaceSupportsErrorInfo(errorinfo, &IID_IXMLDOMSchemaCollection);
ok(hr == S_OK, "got 0x%08x\n", hr);
ISupportErrorInfo_Release(errorinfo);
IXMLDOMSchemaCollection_Release(schemacache);
free_bstrs();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment