[v2 PATCH] msxml3/tests: Build without -DWINE_NO_LONG_TYPES.

Nikolay Sivov nsivov at codeweavers.com
Wed Feb 23 00:46:35 CST 2022


Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
---

v2: rebased

 dlls/msxml3/tests/Makefile.in |    1 -
 dlls/msxml3/tests/domdoc.c    | 4870 +++++++++++++++++----------------
 dlls/msxml3/tests/httpreq.c   |  173 +-
 dlls/msxml3/tests/saxreader.c | 1181 ++++----
 dlls/msxml3/tests/schema.c    |  718 +++--
 dlls/msxml3/tests/xmldoc.c    |  408 ++-
 dlls/msxml3/tests/xmlparser.c |   24 +-
 dlls/msxml3/tests/xmlview.c   |   36 +-
 8 files changed, 3845 insertions(+), 3566 deletions(-)

diff --git a/dlls/msxml3/tests/Makefile.in b/dlls/msxml3/tests/Makefile.in
index 821a4cd62db..bc1f051b091 100644
--- a/dlls/msxml3/tests/Makefile.in
+++ b/dlls/msxml3/tests/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
 TESTDLL   = msxml3.dll
 IMPORTS   = oleaut32 ole32 user32 shlwapi
 
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c
index ac68071ed04..c6eeb012b68 100644
--- a/dlls/msxml3/tests/domdoc.c
+++ b/dlls/msxml3/tests/domdoc.c
@@ -64,7 +64,7 @@ static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOO
     expected_hr = supported ? S_OK : E_NOINTERFACE;
 
     hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
-    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#x, expected %#x.\n", hr, expected_hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#lx, expected %#lx.\n", hr, expected_hr);
     if (SUCCEEDED(hr))
         IUnknown_Release(unk);
 }
@@ -223,8 +223,8 @@ static HRESULT WINAPI dispevent_Invoke(IDispatch *iface, DISPID member, REFIID r
         LCID lcid, WORD flags, DISPPARAMS *params, VARIANT *result,
         EXCEPINFO *excepInfo, UINT *argErr)
 {
-    ok(member == 0, "expected 0 member, got %d\n", member);
-    ok(lcid == LOCALE_SYSTEM_DEFAULT, "expected LOCALE_SYSTEM_DEFAULT, got lcid %x\n", lcid);
+    ok(member == 0, "expected 0 member, got %ld\n", member);
+    ok(lcid == LOCALE_SYSTEM_DEFAULT, "expected LOCALE_SYSTEM_DEFAULT, got lcid %lx\n", lcid);
     ok(flags == DISPATCH_METHOD, "expected DISPATCH_METHOD, got %d\n", flags);
 
     ok(params->cArgs == 0, "got %d\n", params->cArgs);
@@ -521,13 +521,13 @@ static HRESULT WINAPI response_BinaryWrite(IResponse *iface, VARIANT input)
 
     bound = 1;
     hr = SafeArrayGetLBound(V_ARRAY(&input), 1, &bound);
-    ok(hr == S_OK, "got %#x\n", hr);
-    ok(bound == 0, "wrong array low bound %d\n", bound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(bound == 0, "wrong array low bound %ld\n", bound);
 
     bound = 0;
     hr = SafeArrayGetUBound(V_ARRAY(&input), 1, &bound);
-    ok(hr == S_OK, "got %#x\n", hr);
-    ok(bound > 0, "wrong array high bound %d\n", bound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(bound > 0, "wrong array high bound %ld\n", bound);
 
     return E_NOTIMPL;
 }
@@ -680,7 +680,7 @@ static void _expect_children(IXMLDOMNode *node, int line)
 
     b = VARIANT_FALSE;
     hr = IXMLDOMNode_hasChildNodes(node, &b);
-    ok_(__FILE__,line)(hr == S_OK, "hasChildNodes() failed, 0x%08x\n", hr);
+    ok_(__FILE__,line)(hr == S_OK, "hasChildNodes() failed, %#lx.\n", hr);
     ok_(__FILE__,line)(b == VARIANT_TRUE, "no children, %d\n", b);
 }
 
@@ -692,7 +692,7 @@ static void _expect_no_children(IXMLDOMNode *node, int line)
 
     b = VARIANT_TRUE;
     hr = IXMLDOMNode_hasChildNodes(node, &b);
-    ok_(__FILE__,line)(hr == S_FALSE, "hasChildNodes() failed, 0x%08x\n", hr);
+    ok_(__FILE__,line)(hr == S_FALSE, "hasChildNodes() failed, %#lx.\n", hr);
     ok_(__FILE__,line)(b == VARIANT_FALSE, "no children, %d\n", b);
 }
 
@@ -702,7 +702,7 @@ static void _expect_ref(IUnknown* obj, ULONG ref, int line)
     ULONG rc;
     IUnknown_AddRef(obj);
     rc = IUnknown_Release(obj);
-    ok_(__FILE__,line)(rc == ref, "expected refcount %d, got %d\n", ref, rc);
+    ok_(__FILE__,line)(rc == ref, "expected refcount %ld, got %ld\n", ref, rc);
 }
 
 #define EXPECT_LIST_LEN(list,len) _expect_list_len(list, len, __LINE__)
@@ -713,13 +713,10 @@ static void _expect_list_len(IXMLDOMNodeList *list, LONG len, int line)
 
     length = 0;
     hr = IXMLDOMNodeList_get_length(list, &length);
-    ok_(__FILE__,line)(hr == S_OK, "got 0x%08x\n", hr);
-    ok_(__FILE__,line)(length == len, "got %d, expected %d\n", length, len);
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok_(__FILE__,line)(length == len, "got %ld, expected %ld\n", length, len);
 }
 
-#define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
-
 #define EXPECT_PARSE_ERROR(doc, hr_exp, hr_todo) _expect_parse_error(doc, hr_exp, hr_todo, __LINE__)
 static void _expect_parse_error(IXMLDOMDocument *doc, HRESULT hr_exp, BOOL hr_todo, int line)
 {
@@ -729,21 +726,21 @@ static void _expect_parse_error(IXMLDOMDocument *doc, HRESULT hr_exp, BOOL hr_to
 
     error = NULL;
     hr = IXMLDOMDocument_get_parseError(doc, &error);
-    ok_(__FILE__,line)(hr == S_OK, "got 0x%08x\n", hr);
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__,line)(!!error, "got NULL parseError\n");
 
     code = 0xdeadbeef;
     hr = IXMLDOMParseError_get_errorCode(error, &code);
     if (FAILED(hr_exp))
     {
-        ok_(__FILE__,line)(hr == S_OK, "got 0x%08x\n", hr);
+        ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_(__FILE__,line)(FAILED(code), "expected failure HRESULT\n");
         todo_wine_if(hr_todo)
-        ok_(__FILE__,line)(hr_exp == code, "expected 0x%08x, got 0x%08x\n", hr_exp, code);
+        ok_(__FILE__,line)(hr_exp == code, "expected %#lx, unexpected hr %#lx.\n", hr_exp, code);
     }
     else
     {
-        ok_(__FILE__,line)(hr == S_FALSE, "got 0x%08x\n", hr);
+        ok_(__FILE__,line)(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok_(__FILE__,line)(SUCCEEDED(code), "expected successful HRESULT\n");
     }
 
@@ -1186,11 +1183,6 @@ static const WCHAR szStrangeChars[] = L"&x \x2103";
 
 #define expect_eq(expr, value, type, format) { type ret = (expr); ok((value) == ret, #expr " expected " format " got " format "\n", value, ret); }
 
-#define ole_check(expr) { \
-    HRESULT r = expr; \
-    ok(r == S_OK, #expr " returned %x\n", r); \
-}
-
 #define ole_expect(expr, expect) { \
     HRESULT r = expr; \
     ok(r == (expect), #expr " returned %x, expected %x\n", r, expect); \
@@ -1204,7 +1196,7 @@ static void* _create_object(const GUID *clsid, const char *name, const IID *iid,
     HRESULT hr;
 
     hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, iid, &obj);
-    ok(hr == S_OK, "failed to create %s instance: 0x%08x\n", name, hr);
+    ok(hr == S_OK, "failed to create %s instance: hr %#lx.\n", name, hr);
 
     return obj;
 }
@@ -1311,7 +1303,7 @@ static int get_node_position(IXMLDOMNode *node)
 
 static void node_to_string(IXMLDOMNode *node, char *buf)
 {
-    HRESULT r = S_OK;
+    HRESULT hr = S_OK;
     DOMNodeType type;
 
     if (node == NULL)
@@ -1321,37 +1313,39 @@ static void node_to_string(IXMLDOMNode *node, char *buf)
     }
 
     IXMLDOMNode_AddRef(node);
-    while (r == S_OK)
+    while (hr == S_OK)
     {
         IXMLDOMNode *new_node;
 
-        ole_check(IXMLDOMNode_get_nodeType(node, &type));
+        hr = IXMLDOMNode_get_nodeType(node, &type);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         get_str_for_type(type, buf);
         buf+=strlen(buf);
 
         if (type == NODE_ATTRIBUTE)
         {
             BSTR bstr;
-            ole_check(IXMLDOMNode_get_nodeName(node, &bstr));
+            hr = IXMLDOMNode_get_nodeName(node, &bstr);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             *(buf++) = '\'';
             wsprintfA(buf, "%ws", bstr);
             buf += strlen(buf);
             *(buf++) = '\'';
             SysFreeString(bstr);
 
-            r = IXMLDOMNode_selectSingleNode(node, _bstr_(".."), &new_node);
+            hr = IXMLDOMNode_selectSingleNode(node, _bstr_(".."), &new_node);
         }
         else
         {
-            r = IXMLDOMNode_get_parentNode(node, &new_node);
+            hr = IXMLDOMNode_get_parentNode(node, &new_node);
             sprintf(buf, "%d", get_node_position(node));
             buf += strlen(buf);
         }
 
-        ok(SUCCEEDED(r), "get_parentNode failed (%08x)\n", r);
+        ok(SUCCEEDED(hr), "Unexpected hr %#lx.\n", hr);
         IXMLDOMNode_Release(node);
         node = new_node;
-        if (r == S_OK)
+        if (hr == S_OK)
             *(buf++) = '.';
     }
 
@@ -1372,13 +1366,14 @@ static char *list_to_string(IXMLDOMNodeList *list)
         return buf;
     }
     hr = IXMLDOMNodeList_get_length(list, &len);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     for (i = 0; i < len; i++)
     {
         IXMLDOMNode *node;
         if (i > 0)
             *(pos++) = ' ';
-        ole_check(IXMLDOMNodeList_nextNode(list, &node));
+        hr = IXMLDOMNodeList_nextNode(list, &node);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         node_to_string(node, pos);
         pos += strlen(pos);
         IXMLDOMNode_Release(node);
@@ -1424,7 +1419,6 @@ static const char* leading_spaces_xmldata[] = {
 
 static void test_domdoc( void )
 {
-    HRESULT r, hr;
     IXMLDOMDocument *doc;
     IXMLDOMParseError *error;
     IXMLDOMElement *element = NULL;
@@ -1443,6 +1437,7 @@ static void test_domdoc( void )
     LONG nLength = 0;
     WCHAR buff[100];
     char path[MAX_PATH];
+    HRESULT hr;
     int index;
 
     GetTempPathA(MAX_PATH, path);
@@ -1478,7 +1473,7 @@ static void test_domdoc( void )
             HANDLE file;
 
             file = CreateFileA(path, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
-            ok(file != INVALID_HANDLE_VALUE, "can't create file %s: %u\n", path, GetLastError());
+            ok(file != INVALID_HANDLE_VALUE, "can't create file %s: %lu\n", path, GetLastError());
 
             WriteFile(file, data, lstrlenW(data)*sizeof(WCHAR), &written, NULL);
             CloseHandle(file);
@@ -1487,14 +1482,14 @@ static void test_domdoc( void )
             V_VT(&var) = VT_BSTR;
             V_BSTR(&var) = _bstr_(path);
             hr = IXMLDOMDocument_load(doc, var, &b);
-            EXPECT_HR(hr, class_ptr->ret[0].hr);
+            ok(hr == class_ptr->ret[0].hr, "Unexpected hr %#lx.\n", hr);
             ok(b == class_ptr->ret[0].b, "%d:%d, got %d, expected %d\n", index, i, b, class_ptr->ret[0].b);
 
             DeleteFileA(path);
 
             b = 0xc;
             hr = IXMLDOMDocument_loadXML(doc, data, &b);
-            EXPECT_HR(hr, class_ptr->ret[1].hr);
+            ok(hr == class_ptr->ret[1].hr, "Unexpected hr %#lx.\n", hr);
             ok(b == class_ptr->ret[1].b, "%d:%d, got %d, expected %d\n", index, i, b, class_ptr->ret[1].b);
 
             data_ptr++;
@@ -1525,11 +1520,11 @@ if (0)
 
     /* try some stupid things */
     hr = IXMLDOMDocument_loadXML( doc, NULL, NULL );
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_loadXML( doc, NULL, &b );
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_FALSE, "failed to load XML string\n");
 
     /* try to load a document from a nonexistent file */
@@ -1539,51 +1534,51 @@ if (0)
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = str;
 
-    r = IXMLDOMDocument_load( doc, var, &b);
-    ok( r == S_FALSE, "loadXML succeeded\n");
+    hr = IXMLDOMDocument_load( doc, var, &b);
+    ok(hr == S_FALSE, "loadXML succeeded\n");
     ok( b == VARIANT_FALSE, "succeeded in loading XML string\n");
     SysFreeString( str );
 
     str = (void *)0xdeadbeef;
     hr = IXMLDOMDocument_get_url(doc, &str);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(str == NULL, "got %p\n", str);
 
     /* try load an empty document */
     b = VARIANT_TRUE;
     str = SysAllocString( L"" );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_FALSE, "loadXML succeeded\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_FALSE, "loadXML succeeded\n");
     ok( b == VARIANT_FALSE, "succeeded in loading XML string\n");
     SysFreeString( str );
 
-    r = IXMLDOMDocument_get_async( doc, &b );
-    ok( r == S_OK, "get_async failed (%08x)\n", r);
+    hr = IXMLDOMDocument_get_async( doc, &b );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "Wrong default value\n");
 
     /* check that there's no document element */
     element = NULL;
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_FALSE, "should be no document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_FALSE, "should be no document element\n");
 
     /* try finding a node */
     node = NULL;
     str = SysAllocString( L"str1" );
-    r = IXMLDOMDocument_selectSingleNode( doc, str, &node );
-    ok( r == S_FALSE, "ret %08x\n", r );
+    hr = IXMLDOMDocument_selectSingleNode( doc, str, &node );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     SysFreeString( str );
 
     b = VARIANT_TRUE;
     str = SysAllocString( L"<?xml version='1.0'?>\n" );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_FALSE, "loadXML succeeded\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_FALSE, "loadXML succeeded\n");
     ok( b == VARIANT_FALSE, "succeeded in loading XML string\n");
     SysFreeString( str );
 
     /* check that there's no document element */
     element = (IXMLDOMElement*)1;
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_FALSE, "should be no document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_FALSE, "should be no document element\n");
     ok( element == NULL, "Element should be NULL\n");
 
     /* test for BSTR handling, pass broken BSTR */
@@ -1591,65 +1586,65 @@ if (0)
     /* just a big length */
     *(DWORD*)buff = 0xf0f0;
     b = VARIANT_FALSE;
-    r = IXMLDOMDocument_loadXML( doc, &buff[2], &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, &buff[2], &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* loadXML ignores the encoding attribute and always expects Unicode */
     b = VARIANT_FALSE;
     str = SysAllocString( L"<?xml version='1.0' encoding='Windows-1252'?>\n<open></open>\n" );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     SysFreeString( str );
 
     /* try a BSTR containing a Windows-1252 document */
     b = VARIANT_TRUE;
     str = SysAllocStringByteLen( win1252xml, strlen(win1252xml) );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_FALSE, "loadXML succeeded\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_FALSE, "loadXML succeeded\n");
     ok( b == VARIANT_FALSE, "succeeded in loading XML string\n");
     SysFreeString( str );
 
     /* try to load something valid */
     b = VARIANT_FALSE;
     str = SysAllocString( szComplete1 );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     SysFreeString( str );
 
     /* check if nodename is correct */
-    r = IXMLDOMDocument_get_nodeName( doc, NULL );
-    ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code\n");
+    hr = IXMLDOMDocument_get_nodeName( doc, NULL );
+    ok ( hr == E_INVALIDARG, "get_nodeName (NULL) wrong code\n");
 
     str = (void *)0xdeadbeef;
-    r = IXMLDOMDocument_get_baseName( doc, &str );
-    ok ( r == S_FALSE, "got 0x%08x\n", r);
+    hr = IXMLDOMDocument_get_baseName( doc, &str );
+    ok ( hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok (str == NULL, "got %p\n", str);
 
     /* content doesn't matter here */
     str = NULL;
-    r = IXMLDOMDocument_get_nodeName( doc, &str );
-    ok ( r == S_OK, "get_nodeName wrong code\n");
+    hr = IXMLDOMDocument_get_nodeName( doc, &str );
+    ok ( hr == S_OK, "get_nodeName wrong code\n");
     ok ( str != NULL, "str is null\n");
     ok( !lstrcmpW( str, L"#document" ), "incorrect nodeName\n");
     SysFreeString( str );
 
     /* test put_text */
-    r = IXMLDOMDocument_put_text( doc, _bstr_("Should fail") );
-    ok( r == E_FAIL, "ret %08x\n", r );
+    hr = IXMLDOMDocument_put_text( doc, _bstr_("Should fail") );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* check that there's a document element */
     element = NULL;
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "should be a document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "should be a document element\n");
     if( element )
     {
         IObjectIdentity *ident;
 
-        r = IXMLDOMElement_QueryInterface( element, &IID_IObjectIdentity, (void**)&ident );
-        ok( r == E_NOINTERFACE, "ret %08x\n", r);
+        hr = IXMLDOMElement_QueryInterface( element, &IID_IObjectIdentity, (void**)&ident );
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         IXMLDOMElement_Release( element );
         element = NULL;
@@ -1657,353 +1652,353 @@ if (0)
 
     /* as soon as we call loadXML again, the document element will disappear */
     b = 2;
-    r = IXMLDOMDocument_loadXML( doc, NULL, NULL );
-    ok( r == S_FALSE, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, NULL, NULL );
+    ok(hr == S_FALSE, "loadXML failed\n");
     ok( b == 2, "variant modified\n");
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_FALSE, "should be no document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_FALSE, "should be no document element\n");
 
     /* try to load something else simple and valid */
     b = VARIANT_FALSE;
     str = SysAllocString( L"<?xml version='1.0'?>\n<a></a>\n" );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     SysFreeString( str );
 
     /* try something a little more complicated */
     b = FALSE;
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_parseError( doc, &error );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_get_parseError( doc, &error );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMParseError_get_errorCode( error, &code );
-    ok( r == S_FALSE, "returns %08x\n", r );
-    ok( code == 0, "code %d\n", code );
+    hr = IXMLDOMParseError_get_errorCode( error, &code );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok( code == 0, "code %ld\n", code );
     IXMLDOMParseError_Release( error );
 
     /* test createTextNode */
-    r = IXMLDOMDocument_createTextNode(doc, _bstr_(""), &nodetext);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createTextNode(doc, _bstr_(""), &nodetext);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMText_Release(nodetext);
 
     str = SysAllocString( L"open" );
-    r = IXMLDOMDocument_createTextNode(doc, str, NULL);
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
-    r = IXMLDOMDocument_createTextNode(doc, str, &nodetext);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createTextNode(doc, str, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument_createTextNode(doc, str, &nodetext);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString( str );
     if(nodetext)
     {
-        r = IXMLDOMText_QueryInterface(nodetext, &IID_IXMLDOMElement, (void**)&element);
-        ok(r == E_NOINTERFACE, "ret %08x\n", r );
+        hr = IXMLDOMText_QueryInterface(nodetext, &IID_IXMLDOMElement, (void**)&element);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         /* Text Last Child Checks */
-        r = IXMLDOMText_get_lastChild(nodetext, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_get_lastChild(nodetext, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         nodeChild = (IXMLDOMNode*)0x1;
-        r = IXMLDOMText_get_lastChild(nodetext, &nodeChild);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMText_get_lastChild(nodetext, &nodeChild);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok(nodeChild == NULL, "nodeChild not NULL\n");
 
         /* test length property */
-        r = IXMLDOMText_get_length(nodetext, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_get_length(nodetext, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
-        ok(nLength == 4, "expected 4 got %d\n", nLength);
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(nLength == 4, "expected 4 got %ld\n", nLength);
 
         /* put data Tests */
-        r = IXMLDOMText_put_data(nodetext, _bstr_("This &is a ; test <>\\"));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_put_data(nodetext, _bstr_("This &is a ; test <>\\"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* get data Tests */
-        r = IXMLDOMText_get_data(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_data(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect put_data string\n");
         SysFreeString(str);
 
         /* Confirm XML text is good */
-        r = IXMLDOMText_get_xml(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_xml(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect xml string\n");
         SysFreeString(str);
 
         /* Confirm we get the put_data Text back */
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect xml string\n");
         SysFreeString(str);
 
         /* test substringData */
-        r = IXMLDOMText_substringData(nodetext, 0, 4, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 0, 4, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         /* test substringData - Invalid offset */
         str = (void *)0xdeadbeef;
-        r = IXMLDOMText_substringData(nodetext, -1, 4, &str);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, -1, 4, &str);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         ok( str == NULL, "incorrect string\n");
 
         /* test substringData - Invalid offset */
         str = (void *)0xdeadbeef;
-        r = IXMLDOMText_substringData(nodetext, 30, 0, &str);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 30, 0, &str);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok( str == NULL, "incorrect string\n");
 
         /* test substringData - Invalid size */
         str = (void *)0xdeadbeef;
-        r = IXMLDOMText_substringData(nodetext, 0, -1, &str);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 0, -1, &str);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         ok( str == NULL, "incorrect string\n");
 
         /* test substringData - Invalid size */
         str = (void *)0xdeadbeef;
-        r = IXMLDOMText_substringData(nodetext, 2, 0, &str);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 2, 0, &str);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok( str == NULL, "incorrect string\n");
 
         /* test substringData - Start of string */
-        r = IXMLDOMText_substringData(nodetext, 0, 4, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 0, 4, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This"), "incorrect substringData string\n");
         SysFreeString(str);
 
         /* test substringData - Middle of string */
-        r = IXMLDOMText_substringData(nodetext, 13, 4, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 13, 4, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"test"), "incorrect substringData string\n");
         SysFreeString(str);
 
         /* test substringData - End of string */
-        r = IXMLDOMText_substringData(nodetext, 20, 4, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_substringData(nodetext, 20, 4, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"\\"), "incorrect substringData string\n");
         SysFreeString(str);
 
         /* test appendData */
-        r = IXMLDOMText_appendData(nodetext, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_appendData(nodetext, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_appendData(nodetext, _bstr_(""));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_appendData(nodetext, _bstr_(""));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_appendData(nodetext, _bstr_("Append"));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_appendData(nodetext, _bstr_("Append"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a ; test <>\\Append"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* test insertData */
         str = SysAllocStringLen(NULL, 0);
-        r = IXMLDOMText_insertData(nodetext, -1, str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, -1, str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, -1, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, -1, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 1000, str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 1000, str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 1000, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 1000, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 0, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 0, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 0, str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 0, str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         SysFreeString(str);
 
-        r = IXMLDOMText_insertData(nodetext, -1, _bstr_("Inserting"));
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, -1, _bstr_("Inserting"));
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 1000, _bstr_("Inserting"));
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 1000, _bstr_("Inserting"));
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 0, _bstr_("Begin "));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 0, _bstr_("Begin "));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 17, _bstr_("Middle"));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 17, _bstr_("Middle"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 39, _bstr_(" End"));
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 39, _bstr_(" End"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"Begin This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* delete data */
         /* invalid arguments */
-        r = IXMLDOMText_deleteData(nodetext, -1, 1);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, -1, 1);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_deleteData(nodetext, 0, 0);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 0, 0);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_deleteData(nodetext, 0, -1);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 0, -1);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
-        ok(nLength == 43, "expected 43 got %d\n", nLength);
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(nLength == 43, "expected 43 got %ld\n", nLength);
 
-        r = IXMLDOMText_deleteData(nodetext, nLength, 1);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, nLength, 1);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_deleteData(nodetext, nLength+1, 1);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, nLength+1, 1);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         /* delete from start */
-        r = IXMLDOMText_deleteData(nodetext, 0, 5);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 0, 5);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
-        ok(nLength == 38, "expected 38 got %d\n", nLength);
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(nLength == 38, "expected 38 got %ld\n", nLength);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* delete from end */
-        r = IXMLDOMText_deleteData(nodetext, 35, 3);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 35, 3);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
-        ok(nLength == 35, "expected 35 got %d\n", nLength);
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(nLength == 35, "expected 35 got %ld\n", nLength);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"This &is a Middle; test <>\\Append"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* delete from inside */
-        r = IXMLDOMText_deleteData(nodetext, 1, 33);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 1, 33);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
-        ok(nLength == 2, "expected 2 got %d\n", nLength);
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(nLength == 2, "expected 2 got %ld\n", nLength);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L""), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* delete whole data ... */
-        r = IXMLDOMText_get_length(nodetext, &nLength);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_length(nodetext, &nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_deleteData(nodetext, 0, nLength);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 0, nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* ... and try again with empty string */
-        r = IXMLDOMText_deleteData(nodetext, 0, nLength);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_deleteData(nodetext, 0, nLength);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* test put_data */
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = SysAllocString(L"str1");
-        r = IXMLDOMText_put_nodeValue(nodetext, var);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_put_nodeValue(nodetext, var);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         VariantClear(&var);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok( !lstrcmpW( str, L"str1" ), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str) );
         SysFreeString(str);
 
         /* test put_data */
         V_VT(&var) = VT_I4;
         V_I4(&var) = 99;
-        r = IXMLDOMText_put_nodeValue(nodetext, var);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_put_nodeValue(nodetext, var);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         VariantClear(&var);
 
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"99"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* ::replaceData() */
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = SysAllocString(L"str1");
-        r = IXMLDOMText_put_nodeValue(nodetext, var);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_put_nodeValue(nodetext, var);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         VariantClear(&var);
 
-        r = IXMLDOMText_replaceData(nodetext, 6, 0, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 6, 0, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
-        r = IXMLDOMText_replaceData(nodetext, 0, 0, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 0, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* NULL pointer means delete */
-        r = IXMLDOMText_replaceData(nodetext, 0, 1, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 1, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"tr1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* empty string means delete */
-        r = IXMLDOMText_replaceData(nodetext, 0, 1, _bstr_(""));
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 1, _bstr_(""));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"r1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* zero count means insert */
-        r = IXMLDOMText_replaceData(nodetext, 0, 0, _bstr_("a"));
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 0, _bstr_("a"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"ar1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
-        r = IXMLDOMText_replaceData(nodetext, 0, 2, NULL);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 2, NULL);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMText_insertData(nodetext, 0, _bstr_("m"));
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_insertData(nodetext, 0, _bstr_("m"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"m1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* nonempty string, count greater than its length */
-        r = IXMLDOMText_replaceData(nodetext, 0, 2, _bstr_("a1.2"));
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 2, _bstr_("a1.2"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"a1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* nonempty string, count less than its length */
-        r = IXMLDOMText_replaceData(nodetext, 0, 1, _bstr_("wine"));
-        ok(r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMText_get_text(nodetext, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMText_replaceData(nodetext, 0, 1, _bstr_("wine"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMText_get_text(nodetext, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"wine1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
@@ -2011,48 +2006,48 @@ if (0)
     }
 
     /* test Create Comment */
-    r = IXMLDOMDocument_createComment(doc, NULL, NULL);
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createComment(doc, NULL, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     node_comment = (IXMLDOMComment*)0x1;
 
     /* empty comment */
-    r = IXMLDOMDocument_createComment(doc, _bstr_(""), &node_comment);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createComment(doc, _bstr_(""), &node_comment);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     str = NULL;
-    r = IXMLDOMComment_get_data(node_comment, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMComment_get_data(node_comment, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty string data\n");
     IXMLDOMComment_Release(node_comment);
     SysFreeString(str);
 
-    r = IXMLDOMDocument_createComment(doc, NULL, &node_comment);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createComment(doc, NULL, &node_comment);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     str = NULL;
-    r = IXMLDOMComment_get_data(node_comment, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMComment_get_data(node_comment, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && (SysStringLen(str) == 0), "expected empty string data\n");
     IXMLDOMComment_Release(node_comment);
     SysFreeString(str);
 
     str = SysAllocString(L"A Comment");
-    r = IXMLDOMDocument_createComment(doc, str, &node_comment);
+    hr = IXMLDOMDocument_createComment(doc, str, &node_comment);
     SysFreeString(str);
-    ok( r == S_OK, "returns %08x\n", r );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if(node_comment)
     {
         /* Last Child Checks */
-        r = IXMLDOMComment_get_lastChild(node_comment, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMComment_get_lastChild(node_comment, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         nodeChild = (IXMLDOMNode*)0x1;
-        r = IXMLDOMComment_get_lastChild(node_comment, &nodeChild);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMComment_get_lastChild(node_comment, &nodeChild);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok(nodeChild == NULL, "pLastChild not NULL\n");
 
         /* baseName */
         str = (void *)0xdeadbeef;
-        r = IXMLDOMComment_get_baseName(node_comment, &str);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMComment_get_baseName(node_comment, &str);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok(str == NULL, "Expected NULL\n");
 
         IXMLDOMComment_Release( node_comment );
@@ -2060,83 +2055,83 @@ if (0)
 
     /* test Create Attribute */
     str = SysAllocString(L"Attr");
-    r = IXMLDOMDocument_createAttribute(doc, NULL, NULL);
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
-    r = IXMLDOMDocument_createAttribute(doc, str, &node_attr);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createAttribute(doc, NULL, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument_createAttribute(doc, str, &node_attr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release( node_attr);
     SysFreeString(str);
 
     /* test Processing Instruction */
     str = SysAllocStringLen(NULL, 0);
-    r = IXMLDOMDocument_createProcessingInstruction(doc, str, str, NULL);
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
-    r = IXMLDOMDocument_createProcessingInstruction(doc, NULL, str, &nodePI);
-    ok( r == E_FAIL, "returns %08x\n", r );
-    r = IXMLDOMDocument_createProcessingInstruction(doc, str, str, &nodePI);
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createProcessingInstruction(doc, str, str, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument_createProcessingInstruction(doc, NULL, str, &nodePI);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument_createProcessingInstruction(doc, str, str, &nodePI);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
-    r = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\""), &nodePI);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\""), &nodePI);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if(nodePI)
     {
         /* Last Child Checks */
-        r = IXMLDOMProcessingInstruction_get_lastChild(nodePI, NULL);
-        ok(r == E_INVALIDARG, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_lastChild(nodePI, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         nodeChild = (IXMLDOMNode*)0x1;
-        r = IXMLDOMProcessingInstruction_get_lastChild(nodePI, &nodeChild);
-        ok(r == S_FALSE, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_lastChild(nodePI, &nodeChild);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok(nodeChild == NULL, "nodeChild not NULL\n");
 
         /* test nodeName */
-        r = IXMLDOMProcessingInstruction_get_nodeName(nodePI, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_nodeName(nodePI, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"xml"), "incorrect nodeName string\n");
         SysFreeString(str);
 
         /* test baseName */
         str = NULL;
-        r = IXMLDOMProcessingInstruction_get_baseName(nodePI, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_baseName(nodePI, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"xml"), "incorrect nodeName string\n");
         SysFreeString(str);
 
         /* test Target */
-        r = IXMLDOMProcessingInstruction_get_target(nodePI, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_target(nodePI, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"xml"), "incorrect target string\n");
         SysFreeString(str);
 
         /* test get_data */
-        r = IXMLDOMProcessingInstruction_get_data(nodePI, &str);
-        ok(r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_get_data(nodePI, &str);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"version=\"1.0\""), "incorrect data string\n");
         SysFreeString(str);
 
         /* test put_data */
-        r = IXMLDOMProcessingInstruction_put_data(nodePI, _bstr_("version=\"1.0\" encoding=\"UTF-8\""));
-        ok(r == E_FAIL, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_put_data(nodePI, _bstr_("version=\"1.0\" encoding=\"UTF-8\""));
+        ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
         /* test put_data */
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = SysAllocString(L"open");  /* Doesn't matter what the string is, cannot set an xml node. */
-        r = IXMLDOMProcessingInstruction_put_nodeValue(nodePI, var);
-        ok(r == E_FAIL, "ret %08x\n", r );
+        hr = IXMLDOMProcessingInstruction_put_nodeValue(nodePI, var);
+        ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
         VariantClear(&var);
 
         /* test get nodeName */
-        r = IXMLDOMProcessingInstruction_get_nodeName(nodePI, &str);
+        hr = IXMLDOMProcessingInstruction_get_nodeName(nodePI, &str);
         ok(!lstrcmpW(str, L"xml"), "incorrect nodeName string\n");
-        ok(r == S_OK, "ret %08x\n", r );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         SysFreeString(str);
 
         IXMLDOMProcessingInstruction_Release(nodePI);
     }
 
     ref = IXMLDOMDocument_Release( doc );
-    ok( ref == 0, "got %d\n", ref);
+    ok( ref == 0, "got %ld\n", ref);
 
     free_bstrs();
 }
@@ -2154,27 +2149,27 @@ static void test_persiststream(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IPersistStreamInit, (void**)&streaminit);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_InitNew(streaminit);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_GetSizeMax(streaminit, &size);
-    ok(hr == E_NOTIMPL, "got 0x%08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IPersistStream, (void **)&stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok((IUnknown *)stream == (IUnknown *)streaminit, "got %p, %p\n", stream, streaminit);
 
     check_interface(stream, &IID_IPersist, FALSE);
     check_interface(doc, &IID_IPersist, FALSE);
 
     hr = IPersistStreamInit_GetClassID(streaminit, NULL);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     memset(&clsid, 0, sizeof(clsid));
     hr = IPersistStreamInit_GetClassID(streaminit, &clsid);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(IsEqualGUID(&clsid, &CLSID_DOMDocument2), "wrong clsid %s\n", wine_dbgstr_guid(&clsid));
 
     IPersistStream_Release(stream);
@@ -2182,13 +2177,13 @@ static void test_persiststream(void)
     /* test Load */
     istream = SHCreateMemStream((const BYTE*)complete4A, strlen(complete4A));
     hr = IPersistStreamInit_Load(streaminit, istream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IStream_Release(istream);
     EXPECT_PARSE_ERROR(doc, S_OK, FALSE);
 
     istream = SHCreateMemStream((const BYTE*)"", 0);
     hr = IPersistStreamInit_Load(streaminit, istream);
-    todo_wine ok(hr == XML_E_MISSINGROOT, "got 0x%08x\n", hr);
+    todo_wine ok(hr == XML_E_MISSINGROOT, "Unexpected hr %#lx.\n", hr);
     ok(FAILED(hr), "got success\n");
     IStream_Release(istream);
     EXPECT_PARSE_ERROR(doc, XML_E_MISSINGROOT, TRUE);
@@ -2199,7 +2194,6 @@ static void test_persiststream(void)
 
 static void test_domnode( void )
 {
-    HRESULT r;
     IXMLDOMDocument *doc, *owner = NULL;
     IXMLDOMElement *element = NULL;
     IXMLDOMNamedNodeMap *map = NULL;
@@ -2208,6 +2202,7 @@ static void test_domnode( void )
     IXMLDOMAttribute *attr = NULL;
     DOMNodeType type = NODE_INVALID;
     VARIANT_BOOL b;
+    HRESULT hr;
     BSTR str;
     VARIANT var;
     LONG count;
@@ -2215,24 +2210,24 @@ static void test_domnode( void )
     doc = create_document(&IID_IXMLDOMDocument);
 
     b = FALSE;
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     EXPECT_CHILDREN(doc);
 
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "should be a document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "should be a document element\n");
     ok( element != NULL, "should be an element\n");
 
     VariantInit(&var);
     ok( V_VT(&var) == VT_EMPTY, "variant init failed\n");
 
-    r = IXMLDOMDocument_get_nodeValue( doc, NULL );
-    ok(r == E_INVALIDARG, "get_nodeValue ret %08x\n", r );
+    hr = IXMLDOMDocument_get_nodeValue( doc, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMDocument_get_nodeValue( doc, &var );
-    ok( r == S_FALSE, "get_nodeValue returned wrong code\n");
+    hr = IXMLDOMDocument_get_nodeValue( doc, &var );
+    ok(hr == S_FALSE, "get_nodeValue returned wrong code\n");
     ok( V_VT(&var) == VT_NULL, "variant wasn't empty\n");
     ok( V_BSTR(&var) == NULL, "variant value wasn't null\n");
 
@@ -2241,30 +2236,30 @@ static void test_domnode( void )
         IXMLDOMNamedNodeMap *attributes;
 
         owner = NULL;
-        r = IXMLDOMElement_get_ownerDocument( element, &owner );
-        ok( r == S_OK, "get_ownerDocument return code\n");
+        hr = IXMLDOMElement_get_ownerDocument( element, &owner );
+        ok(hr == S_OK, "get_ownerDocument return code\n");
         ok( owner != doc, "get_ownerDocument return\n");
         IXMLDOMDocument_Release(owner);
 
         type = NODE_INVALID;
-        r = IXMLDOMElement_get_nodeType( element, &type);
-        ok( r == S_OK, "got %08x\n", r);
+        hr = IXMLDOMElement_get_nodeType( element, &type);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok( type == NODE_ELEMENT, "node not an element\n");
 
         str = NULL;
-        r = IXMLDOMElement_get_baseName( element, &str );
-        ok( r == S_OK, "get_baseName returned wrong code\n");
+        hr = IXMLDOMElement_get_baseName( element, &str );
+        ok(hr == S_OK, "get_baseName returned wrong code\n");
         ok( !lstrcmpW(str, L"lc"), "Unexpected basename.\n");
         SysFreeString(str);
 
         /* check if nodename is correct */
-        r = IXMLDOMElement_get_nodeName( element, NULL );
-        ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code\n");
+        hr = IXMLDOMElement_get_nodeName( element, NULL );
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         /* content doesn't matter here */
         str = NULL;
-        r = IXMLDOMElement_get_nodeName( element, &str );
-        ok ( r == S_OK, "get_nodeName wrong code\n");
+        hr = IXMLDOMElement_get_nodeName( element, &str );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok ( str != NULL, "str is null\n");
         ok( !lstrcmpW( str, L"lc" ), "Unexpected nodeName\n");
         SysFreeString( str );
@@ -2272,8 +2267,8 @@ static void test_domnode( void )
         str = SysAllocString( nonexistent_fileW );
         V_VT(&var) = VT_I4;
         V_I4(&var) = 0x1234;
-        r = IXMLDOMElement_getAttribute( element, str, &var );
-        ok( r == E_FAIL, "getAttribute ret %08x\n", r );
+        hr = IXMLDOMElement_getAttribute( element, str, &var );
+        ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
         ok( V_VT(&var) == VT_NULL || V_VT(&var) == VT_EMPTY, "vt = %x\n", V_VT(&var));
         VariantClear(&var);
         SysFreeString(str);
@@ -2281,31 +2276,31 @@ static void test_domnode( void )
         str = SysAllocString( L"dl" );
         V_VT(&var) = VT_I4;
         V_I4(&var) = 0x1234;
-        r = IXMLDOMElement_getAttribute( element, str, &var );
-        ok( r == S_OK, "getAttribute ret %08x\n", r );
+        hr = IXMLDOMElement_getAttribute( element, str, &var );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok( V_VT(&var) == VT_BSTR, "vt = %x\n", V_VT(&var));
         ok( !lstrcmpW(V_BSTR(&var), L"str1"), "wrong attr value\n");
         VariantClear( &var );
 
-        r = IXMLDOMElement_getAttribute( element, NULL, &var );
-        ok( r == E_INVALIDARG, "getAttribute ret %08x\n", r );
+        hr = IXMLDOMElement_getAttribute( element, NULL, &var );
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMElement_getAttribute( element, str, NULL );
-        ok( r == E_INVALIDARG, "getAttribute ret %08x\n", r );
+        hr = IXMLDOMElement_getAttribute( element, str, NULL );
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         attr = NULL;
-        r = IXMLDOMElement_getAttributeNode( element, str, &attr);
-        ok( r == S_OK, "GetAttributeNode ret %08x\n", r );
+        hr = IXMLDOMElement_getAttributeNode( element, str, &attr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok( attr != NULL, "getAttributeNode returned NULL\n" );
         if (attr)
         {
-            r = IXMLDOMAttribute_get_parentNode( attr, NULL );
-            ok( r == E_INVALIDARG, "Expected E_INVALIDARG, ret %08x\n", r );
+            hr = IXMLDOMAttribute_get_parentNode( attr, NULL );
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             /* attribute doesn't have a parent in msxml interpretation */
             node = (IXMLDOMNode*)0xdeadbeef;
-            r = IXMLDOMAttribute_get_parentNode( attr, &node );
-            ok( r == S_FALSE, "Expected S_FALSE, ret %08x\n", r );
+            hr = IXMLDOMAttribute_get_parentNode( attr, &node );
+            ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
             ok( node == NULL, "Expected NULL, got %p\n", node );
 
             IXMLDOMAttribute_Release(attr);
@@ -2313,27 +2308,27 @@ static void test_domnode( void )
 
         SysFreeString( str );
 
-        r = IXMLDOMElement_get_attributes( element, &map );
-        ok( r == S_OK, "get_attributes returned wrong code\n");
+        hr = IXMLDOMElement_get_attributes( element, &map );
+        ok(hr == S_OK, "get_attributes returned wrong code\n");
         ok( map != NULL, "should be attributes\n");
 
         EXPECT_CHILDREN(element);
 
-        r = IXMLDOMElement_get_childNodes( element, &list );
-        ok( r == S_OK, "Expected S_OK, ret %08x\n", r );
-        r = IXMLDOMNodeList_nextNode( list, &node ); /* <bs> */
-        ok( r == S_OK, "Expected S_OK, ret %08x\n", r );
+        hr = IXMLDOMElement_get_childNodes( element, &list );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMNodeList_nextNode( list, &node ); /* <bs> */
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         IXMLDOMNode_Release( node );
-        r = IXMLDOMNodeList_nextNode( list, &node ); /* <pr> */
-        ok( r == S_OK, "Expected S_OK, ret %08x\n", r );
+        hr = IXMLDOMNodeList_nextNode( list, &node ); /* <pr> */
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         IXMLDOMNode_Release( node );
-        r = IXMLDOMNodeList_nextNode( list, &node ); /* <empty> */
-        ok( r == S_OK, "Expected S_OK, ret %08x\n", r );
-        r = IXMLDOMNode_get_attributes( node, &attributes );
-        ok( r == S_OK, "Expected S_OK, ret %08x\n", r );
+        hr = IXMLDOMNodeList_nextNode( list, &node ); /* <empty> */
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMNode_get_attributes( node, &attributes );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         next = (IXMLDOMNode*)0xdeadbeef;
-        r = IXMLDOMNamedNodeMap_nextNode( attributes, &next );
-        ok( r == S_FALSE, "Expected S_FALSE, ret %08x\n", r );
+        hr = IXMLDOMNamedNodeMap_nextNode( attributes, &next );
+        ok(hr == S_FALSE, "Unexpected %#lx.\n", hr);
         ok( next == NULL, "Expected NULL, ret %p\n", next );
         IXMLDOMNamedNodeMap_Release( attributes );
         IXMLDOMNode_Release( node );
@@ -2348,55 +2343,55 @@ static void test_domnode( void )
     if (map)
     {
         str = SysAllocString( L"dl" );
-        r = IXMLDOMNamedNodeMap_getNamedItem( map, str, &node );
-        ok( r == S_OK, "getNamedItem returned wrong code\n");
+        hr = IXMLDOMNamedNodeMap_getNamedItem( map, str, &node );
+        ok(hr == S_OK, "getNamedItem returned wrong code\n");
         ok( node != NULL, "should be attributes\n");
         IXMLDOMNode_Release(node);
         SysFreeString( str );
 
         str = SysAllocString( L"dl" );
-        r = IXMLDOMNamedNodeMap_getNamedItem( map, str, NULL );
-        ok( r == E_INVALIDARG, "getNamedItem should return E_INVALIDARG\n");
+        hr = IXMLDOMNamedNodeMap_getNamedItem( map, str, NULL );
+        ok(hr == E_INVALIDARG, "getNamedItem should return E_INVALIDARG\n");
         SysFreeString( str );
 
         /* something that isn't in complete4A */
         str = SysAllocString( L"open" );
         node = (IXMLDOMNode *) 1;
-        r = IXMLDOMNamedNodeMap_getNamedItem( map, str, &node );
-        ok( r == S_FALSE, "getNamedItem found a node that wasn't there\n");
+        hr = IXMLDOMNamedNodeMap_getNamedItem( map, str, &node );
+        ok(hr == S_FALSE, "getNamedItem found a node that wasn't there\n");
         ok( node == NULL, "getNamedItem should have returned NULL\n");
         SysFreeString( str );
 
 	/* test indexed access of attributes */
-        r = IXMLDOMNamedNodeMap_get_length( map, NULL );
-        ok ( r == E_INVALIDARG, "get_length should return E_INVALIDARG\n");
+        hr = IXMLDOMNamedNodeMap_get_length( map, NULL );
+        ok ( hr == E_INVALIDARG, "get_length should return E_INVALIDARG\n");
 
-        r = IXMLDOMNamedNodeMap_get_length( map, &count );
-        ok ( r == S_OK, "get_length wrong code\n");
+        hr = IXMLDOMNamedNodeMap_get_length( map, &count );
+        ok ( hr == S_OK, "get_length wrong code\n");
         ok ( count == 1, "get_length != 1\n");
 
         node = NULL;
-        r = IXMLDOMNamedNodeMap_get_item( map, -1, &node);
-        ok ( r == S_FALSE, "get_item (-1) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_get_item( map, -1, &node);
+        ok ( hr == S_FALSE, "get_item (-1) wrong code\n");
         ok ( node == NULL, "there is no node\n");
 
         node = NULL;
-        r = IXMLDOMNamedNodeMap_get_item( map, 1, &node);
-        ok ( r == S_FALSE, "get_item (1) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_get_item( map, 1, &node);
+        ok ( hr == S_FALSE, "get_item (1) wrong code\n");
         ok ( node == NULL, "there is no attribute\n");
 
         node = NULL;
-        r = IXMLDOMNamedNodeMap_get_item( map, 0, &node);
-        ok ( r == S_OK, "get_item (0) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_get_item( map, 0, &node);
+        ok ( hr == S_OK, "get_item (0) wrong code\n");
         ok ( node != NULL, "should be attribute\n");
 
-        r = IXMLDOMNode_get_nodeName( node, NULL );
-        ok ( r == E_INVALIDARG, "get_nodeName (NULL) wrong code\n");
+        hr = IXMLDOMNode_get_nodeName( node, NULL );
+        ok ( hr == E_INVALIDARG, "get_nodeName (NULL) wrong code\n");
 
         /* content doesn't matter here */
         str = NULL;
-        r = IXMLDOMNode_get_nodeName( node, &str );
-        ok ( r == S_OK, "get_nodeName wrong code\n");
+        hr = IXMLDOMNode_get_nodeName( node, &str );
+        ok ( hr == S_OK, "get_nodeName wrong code\n");
         ok ( str != NULL, "str is null\n");
         ok( !lstrcmpW( str, L"dl" ), "incorrect node name\n");
         SysFreeString( str );
@@ -2404,20 +2399,20 @@ static void test_domnode( void )
 
         /* test sequential access of attributes */
         node = NULL;
-        r = IXMLDOMNamedNodeMap_nextNode( map, &node );
-        ok ( r == S_OK, "nextNode (first time) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_nextNode( map, &node );
+        ok ( hr == S_OK, "nextNode (first time) wrong code\n");
         ok ( node != NULL, "nextNode, should be attribute\n");
         IXMLDOMNode_Release( node );
 
-        r = IXMLDOMNamedNodeMap_nextNode( map, &node );
-        ok ( r != S_OK, "nextNode (second time) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_nextNode( map, &node );
+        ok ( hr != S_OK, "nextNode (second time) wrong code\n");
         ok ( node == NULL, "nextNode, there is no attribute\n");
 
-        r = IXMLDOMNamedNodeMap_reset( map );
-        ok ( r == S_OK, "reset should return S_OK\n");
+        hr = IXMLDOMNamedNodeMap_reset( map );
+        ok ( hr == S_OK, "reset should return S_OK\n");
 
-        r = IXMLDOMNamedNodeMap_nextNode( map, &node );
-        ok ( r == S_OK, "nextNode (third time) wrong code\n");
+        hr = IXMLDOMNamedNodeMap_nextNode( map, &node );
+        ok ( hr == S_OK, "nextNode (third time) wrong code\n");
         ok ( node != NULL, "nextNode, should be attribute\n");
     }
     else
@@ -2426,30 +2421,30 @@ static void test_domnode( void )
     if (node)
     {
         type = NODE_INVALID;
-        r = IXMLDOMNode_get_nodeType( node, &type);
-        ok( r == S_OK, "get_nodeType returned wrong code\n");
+        hr = IXMLDOMNode_get_nodeType( node, &type);
+        ok(hr == S_OK, "get_nodeType returned wrong code\n");
         ok( type == NODE_ATTRIBUTE, "node not an attribute\n");
 
         str = NULL;
-        r = IXMLDOMNode_get_baseName( node, NULL );
-        ok( r == E_INVALIDARG, "get_baseName returned wrong code\n");
+        hr = IXMLDOMNode_get_baseName( node, NULL );
+        ok(hr == E_INVALIDARG, "get_baseName returned wrong code\n");
 
         str = NULL;
-        r = IXMLDOMNode_get_baseName( node, &str );
-        ok( r == S_OK, "get_baseName returned wrong code\n");
+        hr = IXMLDOMNode_get_baseName( node, &str );
+        ok(hr == S_OK, "get_baseName returned wrong code\n");
         ok( !lstrcmpW(str, L"dl"), "Unexpected basename.\n");
         SysFreeString( str );
 
-        r = IXMLDOMNode_get_childNodes( node, NULL );
-        ok( r == E_INVALIDARG, "get_childNodes returned wrong code\n");
+        hr = IXMLDOMNode_get_childNodes( node, NULL );
+        ok(hr == E_INVALIDARG, "get_childNodes returned wrong code\n");
 
-        r = IXMLDOMNode_get_childNodes( node, &list );
-        ok( r == S_OK, "get_childNodes returned wrong code\n");
+        hr = IXMLDOMNode_get_childNodes( node, &list );
+        ok(hr == S_OK, "get_childNodes returned wrong code\n");
 
         if (list)
         {
-            r = IXMLDOMNodeList_nextNode( list, &next );
-            ok( r == S_OK, "nextNode returned wrong code\n");
+            hr = IXMLDOMNodeList_nextNode( list, &next );
+            ok(hr == S_OK, "nextNode returned wrong code\n");
         }
         else
             ok( FALSE, "no childlist\n");
@@ -2459,13 +2454,13 @@ static void test_domnode( void )
             EXPECT_NO_CHILDREN(next);
 
             type = NODE_INVALID;
-            r = IXMLDOMNode_get_nodeType( next, &type);
-            ok( r == S_OK, "get_nodeType returned wrong code\n");
+            hr = IXMLDOMNode_get_nodeType( next, &type);
+            ok(hr == S_OK, "get_nodeType returned wrong code\n");
             ok( type == NODE_TEXT, "node not text\n");
 
             str = (void *)0xdeadbeef;
-            r = IXMLDOMNode_get_baseName( next, &str );
-            ok( r == S_FALSE, "get_baseName returned wrong code\n");
+            hr = IXMLDOMNode_get_baseName( next, &str );
+            ok(hr == S_FALSE, "get_baseName returned wrong code\n");
             ok( str == NULL, "basename was wrong\n");
             SysFreeString(str);
         }
@@ -2491,56 +2486,59 @@ static void test_domnode( void )
     /* now traverse the tree from the root element */
     if (element)
     {
-        r = IXMLDOMElement_get_childNodes( element, &list );
-        ok( r == S_OK, "get_childNodes returned wrong code\n");
+        hr = IXMLDOMElement_get_childNodes( element, &list );
+        ok(hr == S_OK, "get_childNodes returned wrong code\n");
 
         /* using get_item for child list doesn't advance the position */
-        ole_check(IXMLDOMNodeList_get_item(list, 1, &node));
+        hr = IXMLDOMNodeList_get_item(list, 1, &node);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         expect_node(node, "E2.E2.D1");
         IXMLDOMNode_Release(node);
-        ole_check(IXMLDOMNodeList_nextNode(list, &node));
+        hr = IXMLDOMNodeList_nextNode(list, &node);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         expect_node(node, "E1.E2.D1");
         IXMLDOMNode_Release(node);
-        ole_check(IXMLDOMNodeList_reset(list));
+        hr = IXMLDOMNodeList_reset(list);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         IXMLDOMNodeList_AddRef(list);
         expect_list_and_release(list, "E1.E2.D1 E2.E2.D1 E3.E2.D1 E4.E2.D1");
-        ole_check(IXMLDOMNodeList_reset(list));
+        hr = IXMLDOMNodeList_reset(list);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         node = (void*)0xdeadbeef;
         str = SysAllocString(L"dl");
-        r = IXMLDOMElement_selectSingleNode( element, str, &node );
+        hr = IXMLDOMElement_selectSingleNode( element, str, &node );
         SysFreeString(str);
-        ok( r == S_FALSE, "ret %08x\n", r );
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok( node == NULL, "node %p\n", node );
 
         str = SysAllocString(L"bs");
-        r = IXMLDOMElement_selectSingleNode( element, str, &node );
+        hr = IXMLDOMElement_selectSingleNode( element, str, &node );
         SysFreeString(str);
-        ok( r == S_OK, "ret %08x\n", r );
-        r = IXMLDOMNode_Release( node );
-        ok( r == 0, "ret %08x\n", r );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        IXMLDOMNode_Release( node );
     }
     else
         ok( FALSE, "no element\n");
 
     if (list)
     {
-        r = IXMLDOMNodeList_get_item(list, 0, NULL);
-        ok(r == E_INVALIDARG, "Expected E_INVALIDARG got %08x\n", r);
+        hr = IXMLDOMNodeList_get_item(list, 0, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMNodeList_get_length(list, NULL);
-        ok(r == E_INVALIDARG, "Expected E_INVALIDARG got %08x\n", r);
+        hr = IXMLDOMNodeList_get_length(list, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMNodeList_get_length( list, &count );
-        ok( r == S_OK, "get_length returns %08x\n", r );
-        ok( count == 4, "get_length got %d\n", count );
+        hr = IXMLDOMNodeList_get_length( list, &count );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok( count == 4, "get_length got %ld\n", count );
 
-        r = IXMLDOMNodeList_nextNode(list, NULL);
-        ok(r == E_INVALIDARG, "Expected E_INVALIDARG got %08x\n", r);
+        hr = IXMLDOMNodeList_nextNode(list, NULL);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-        r = IXMLDOMNodeList_nextNode( list, &node );
-        ok( r == S_OK, "nextNode returned wrong code\n");
+        hr = IXMLDOMNodeList_nextNode( list, &node );
+        ok(hr == S_OK, "nextNode returned wrong code\n");
     }
     else
         ok( FALSE, "no list\n");
@@ -2548,18 +2546,18 @@ static void test_domnode( void )
     if (node)
     {
         type = NODE_INVALID;
-        r = IXMLDOMNode_get_nodeType( node, &type);
-        ok( r == S_OK, "get_nodeType returned wrong code\n");
+        hr = IXMLDOMNode_get_nodeType( node, &type);
+        ok(hr == S_OK, "get_nodeType returned wrong code\n");
         ok( type == NODE_ELEMENT, "node not text\n");
 
-        r = IXMLDOMNode_hasChildNodes( node, NULL );
-        ok( r == E_INVALIDARG, "hasChildNodes bad return\n");
+        hr = IXMLDOMNode_hasChildNodes( node, NULL );
+        ok(hr == E_INVALIDARG, "hasChildNodes bad return\n");
 
         EXPECT_CHILDREN(node);
 
         str = NULL;
-        r = IXMLDOMNode_get_baseName( node, &str );
-        ok( r == S_OK, "get_baseName returned wrong code\n");
+        hr = IXMLDOMNode_get_baseName( node, &str );
+        ok(hr == S_OK, "get_baseName returned wrong code\n");
         ok( !lstrcmpW(str, L"bs"), "Unexpected basename.\n");
         SysFreeString(str);
     }
@@ -2575,15 +2573,15 @@ static void test_domnode( void )
 
     b = FALSE;
     str = SysAllocString( szComplete5 );
-    r = IXMLDOMDocument_loadXML( doc, str, &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, str, &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     SysFreeString( str );
 
     EXPECT_CHILDREN(doc);
 
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "should be a document element\n");
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "should be a document element\n");
     ok( element != NULL, "should be an element\n");
 
     if (element)
@@ -2591,8 +2589,8 @@ static void test_domnode( void )
         BSTR tag = NULL;
 
         /* check if the tag is correct */
-        r = IXMLDOMElement_get_tagName( element, &tag );
-        ok( r == S_OK, "couldn't get tag name\n");
+        hr = IXMLDOMElement_get_tagName( element, &tag );
+        ok(hr == S_OK, "couldn't get tag name\n");
         ok( tag != NULL, "tag was null\n");
         ok( !lstrcmpW( tag, L"S:search" ), "incorrect tag name\n");
         SysFreeString( tag );
@@ -2649,13 +2647,13 @@ static void test_refs(void)
 
         EXPECT_REF(doc, 1);
         hr = IXMLDOMDocument_createNode(doc, type, _bstr_("name"), NULL, &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(doc, 1);
         EXPECT_REF(node, 1);
 
         /* try IDispatch and IUnknown from IXMLDOMNode */
         hr = IXMLDOMNode_QueryInterface(node, &IID_IUnknown, (void**)&unk);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(unk, 2);
 todo_wine {
         EXPECT_REF(node, 1);
@@ -2663,14 +2661,14 @@ todo_wine {
 }
         EXPECT_REF(unk, 2);
         hr = IUnknown_QueryInterface(unk, &IID_IDispatch, (void**)&disp);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         todo_wine ok(unk != (IUnknown*)disp, "%d: got %p and %p\n", ptr->type, unk, disp);
         EXPECT_REF(unk, 3);
         todo_wine EXPECT_REF(disp, 1);
 
         EXPECT_REF(unk, 3);
         hr = IUnknown_QueryInterface(unk, &IID_IDispatch, (void**)&disp2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         todo_wine ok(disp != disp2, "%d: got %p and %p\n", ptr->type, disp, disp2);
         EXPECT_REF(unk, 4);
         todo_wine EXPECT_REF(disp2, 1);
@@ -2681,14 +2679,14 @@ todo_wine {
         /* get IXMLDOMNode from this IUnknown */
         EXPECT_REF(unk, 2);
         hr = IUnknown_QueryInterface(unk, &IID_IXMLDOMNode, (void**)&node2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         todo_wine ok(unk != (IUnknown*)node2, "%d: got %p and %p\n", ptr->type, unk, node2);
         EXPECT_REF(unk, 3);
         todo_wine EXPECT_REF(node2, 1);
 
         EXPECT_REF(unk, 3);
         hr = IUnknown_QueryInterface(unk, &IID_IXMLDOMNode, (void**)&node3);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         todo_wine ok(node2 != node3, "%d: got %p and %p\n", ptr->type, node2, node3);
         EXPECT_REF(unk, 4);
         todo_wine EXPECT_REF(node3, 1);
@@ -2699,14 +2697,14 @@ todo_wine {
         /* try IDispatchEx from IUnknown */
         EXPECT_REF(unk, 2);
         hr = IUnknown_QueryInterface(unk, &IID_IDispatchEx, (void**)&dispex);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(unk != (IUnknown*)dispex, "%d: got %p and %p\n", ptr->type, unk, dispex);
         EXPECT_REF(unk, 3);
         todo_wine EXPECT_REF(dispex, 1);
 
         EXPECT_REF(unk, 3);
         hr = IUnknown_QueryInterface(unk, &IID_IDispatchEx, (void**)&dispex2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         todo_wine ok(dispex != dispex2, "%d: got %p and %p\n", ptr->type, dispex, dispex2);
         EXPECT_REF(unk, 4);
         todo_wine EXPECT_REF(dispex2, 1);
@@ -2717,10 +2715,10 @@ todo_wine {
         /* try corresponding IXMLDOM* */
         EXPECT_REF(unk, 2);
         hr = IUnknown_QueryInterface(unk, ptr->iid, (void**)&node_typed);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(unk, 3);
         hr = IUnknown_QueryInterface(unk, ptr->iid, (void**)&node_typed2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(unk, 4);
         todo_wine ok(node_typed != node_typed2, "%d: got %p and %p\n", ptr->type, node_typed, node_typed2);
         IUnknown_Release(node_typed);
@@ -2728,19 +2726,19 @@ todo_wine {
 
         /* try invalid IXMLDOM* */
         hr = IUnknown_QueryInterface(unk, (ptr+1)->iid, (void**)&node_typed);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         IUnknown_Release(unk);
 
         EXPECT_REF(node, 1);
         hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMNode, (void**)&node2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(node, 2);
         ok(node == node2, "%d: got %p and %p\n", ptr->type, node, node2);
 
         EXPECT_REF(node, 2);
         hr = IXMLDOMNode_QueryInterface(node, ptr->iid, (void**)&node_typed);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(node, 3);
 todo_wine {
         EXPECT_REF(node_typed, 2);
@@ -2756,13 +2754,13 @@ todo_wine {
 
     EXPECT_REF(doc, 1);
     ref = IXMLDOMDocument_Release(doc);
-    ok( ref == 0, "ref %d\n", ref);
+    ok( ref == 0, "ref %ld\n", ref);
 
     /* check IUnknown after releasing DOM iface */
     doc = create_document(&IID_IXMLDOMDocument);
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     EXPECT_REF(unk, 3);
     EXPECT_REF(doc, 1);
@@ -2775,7 +2773,7 @@ todo_wine {
 
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     EXPECT_REF(unk, 3);
     EXPECT_REF(doc, 1);
@@ -2785,11 +2783,11 @@ todo_wine {
     /* IXMLDOMImplementation */
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_get_implementation(doc, &impl);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(doc, 1);
     EXPECT_REF(impl, 1);
     hr = IXMLDOMDocument_get_implementation(doc, &impl2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(doc, 1);
     EXPECT_REF(impl2, 1);
     ok(impl != impl2, "got %p, %p\n", impl, impl2);
@@ -2797,7 +2795,7 @@ todo_wine {
     IXMLDOMImplementation_Release(impl2);
 
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     EXPECT_REF(doc, 1);
@@ -2811,19 +2809,19 @@ todo_wine {
 
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     EXPECT_REF(unk, 3);
     EXPECT_REF(doc, 1);
 }
     hr = IXMLDOMDocument_get_documentElement(doc, &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     EXPECT_REF(doc, 1);
     EXPECT_REF(element, 2);
 }
     hr = IXMLDOMDocument_get_documentElement(doc, &elem2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
 todo_wine {
     EXPECT_REF(doc, 1);
@@ -2836,14 +2834,14 @@ todo_wine {
 
     /* get IUnknown from a node doesn't touch node instance refcount */
     hr = IXMLDOMElement_QueryInterface(element, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(element, 2);
 todo_wine {
     EXPECT_REF(unk, 4);
     EXPECT_REF(elem2, 2);
 }
     hr = IXMLDOMElement_QueryInterface(elem2, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     EXPECT_REF(unk, 5);
     EXPECT_REF(unk2, 5);
@@ -2866,45 +2864,45 @@ todo_wine {
     IUnknown_Release(unk2);
 
     hr = IXMLDOMElement_get_childNodes( element, &node_list );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     todo_wine EXPECT_REF(element, 2);
     EXPECT_REF(node_list, 1);
 
     hr = IXMLDOMNodeList_get_item( node_list, 0, &node );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 1);
     EXPECT_REF(node, 1);
 
     hr = IXMLDOMNodeList_get_item( node_list, 0, &node2 );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 1);
     EXPECT_REF(node2, 1);
 
     ref = IXMLDOMNode_Release( node );
-    ok( ref == 0, "ref %d\n", ref );
+    ok( ref == 0, "ref %ld\n", ref );
     ref = IXMLDOMNode_Release( node2 );
-    ok( ref == 0, "ref %d\n", ref );
+    ok( ref == 0, "ref %ld\n", ref );
 
     ref = IXMLDOMNodeList_Release( node_list );
-    ok( ref == 0, "ref %d\n", ref );
+    ok( ref == 0, "ref %ld\n", ref );
 
     ok( node != node2, "node %p node2 %p\n", node, node2 );
 
     ref = IXMLDOMDocument_Release( doc );
-    todo_wine ok( ref == 0, "ref %d\n", ref );
+    todo_wine ok( ref == 0, "ref %ld\n", ref );
 
     todo_wine EXPECT_REF(element, 2);
 
     /* IUnknown must be unique however we obtain it */
     hr = IXMLDOMElement_QueryInterface(element, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(element, 2);
     hr = IXMLDOMElement_QueryInterface(element, &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(element, 2);
     hr = IXMLDOMNode_QueryInterface(node, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(element, 2);
     ok(unk == unk2, "unk %p unk2 %p\n", unk, unk2);
     todo_wine ok(element != (void*)node, "node %p element %p\n", node, element);
@@ -2921,7 +2919,6 @@ todo_wine {
 
 static void test_create(void)
 {
-    HRESULT r;
     VARIANT var;
     BSTR str, name;
     IXMLDOMDocument *doc;
@@ -2932,6 +2929,7 @@ static void test_create(void)
     IXMLDOMNode *root, *node, *child;
     IXMLDOMNamedNodeMap *attr_map;
     IUnknown *unk;
+    HRESULT hr;
     LONG ref;
     LONG num;
 
@@ -2943,76 +2941,76 @@ static void test_create(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_DOCUMENT;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_DOCUMENT_TYPE;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ENTITY;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_NOTATION;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     /* NODE_COMMENT */
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_COMMENT;
     node = NULL;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node != NULL, "\n");
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMComment_get_data(comment, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMComment_get_data(comment, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMComment_Release(comment);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMComment_get_data(comment, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMComment_get_data(comment, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMComment_Release(comment);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMComment_get_data(comment, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMComment_get_data(comment, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMComment_Release(comment);
     SysFreeString(str);
@@ -3021,47 +3019,47 @@ static void test_create(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_TEXT;
     node = NULL;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node != NULL, "\n");
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMText_get_data(text, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMText_get_data(text, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMText_Release(text);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMText_get_data(text, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMText_get_data(text, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMText_Release(text);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMText_get_data(text, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMText_get_data(text, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMText_Release(text);
     SysFreeString(str);
@@ -3070,47 +3068,47 @@ static void test_create(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_CDATA_SECTION;
     node = NULL;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node != NULL, "\n");
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMCDATASection_get_data(cdata, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMCDATASection_get_data(cdata, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMCDATASection_Release(cdata);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMCDATASection_get_data(cdata, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMCDATASection_get_data(cdata, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMCDATASection_Release(cdata);
     SysFreeString(str);
 
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_("blah"), NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     str = NULL;
-    r = IXMLDOMCDATASection_get_data(cdata, &str);
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMCDATASection_get_data(cdata, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( str && SysStringLen(str) == 0, "expected empty comment, %p\n", str);
     IXMLDOMCDATASection_Release(cdata);
     SysFreeString(str);
@@ -3119,23 +3117,23 @@ static void test_create(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ATTRIBUTE;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ATTRIBUTE;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ATTRIBUTE;
     str = SysAllocString( L"lc" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
-    if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if (SUCCEEDED(hr)) IXMLDOMNode_Release(node);
     SysFreeString(str);
 
     /* a name is required for attribute, try a BSTR with first null wchar */
@@ -3144,8 +3142,8 @@ static void test_create(void)
     str = SysAllocString( L"str1" );
     str[0] = 0;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
     SysFreeString(str);
 
@@ -3153,119 +3151,119 @@ static void test_create(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_PROCESSING_INSTRUCTION;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_PROCESSING_INSTRUCTION;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_PROCESSING_INSTRUCTION;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_("pi"), NULL, NULL );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_("pi"), NULL, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* NODE_ENTITY_REFERENCE */
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ENTITY_REFERENCE;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ENTITY_REFERENCE;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     /* NODE_ELEMENT */
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ELEMENT;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, NULL, NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ELEMENT;
     node = (IXMLDOMNode*)0x1;
-    r = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
-    ok( r == E_FAIL, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, _bstr_(""), NULL, &node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0x1, "expected same ptr, got %p\n", node);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ELEMENT;
     str = SysAllocString( L"lc" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
-    if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if( SUCCEEDED(hr) ) IXMLDOMNode_Release( node );
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ELEMENT;
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, NULL );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_R4;
     V_R4(&var) = NODE_ELEMENT;
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
-    if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if( SUCCEEDED(hr) ) IXMLDOMNode_Release( node );
 
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString( L"1" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
-    if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if( SUCCEEDED(hr) ) IXMLDOMNode_Release( node );
     VariantClear(&var);
 
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString( L"1Garbage" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == E_INVALIDARG, "returns %08x\n", r );
-    if( SUCCEEDED(r) ) IXMLDOMNode_Release( node );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    if( SUCCEEDED(hr) ) IXMLDOMNode_Release( node );
     VariantClear(&var);
 
     V_VT(&var) = VT_I4;
     V_I4(&var) = NODE_ELEMENT;
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(doc, 1);
-    r = IXMLDOMDocument_appendChild( doc, node, &root );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_appendChild( doc, node, &root );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node == root, "%p %p\n", node, root );
     EXPECT_REF(doc, 1);
 
     EXPECT_REF(node, 2);
 
     ref = IXMLDOMNode_Release( node );
-    ok(ref == 1, "ref %d\n", ref);
+    ok(ref == 1, "ref %ld\n", ref);
     SysFreeString( str );
 
     V_VT(&var) = VT_I4;
     V_I4(&var) = NODE_ELEMENT;
     str = SysAllocString( L"bs" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString( str );
 
     EXPECT_REF(node, 1);
 
-    r = IXMLDOMNode_QueryInterface( node, &IID_IUnknown, (void**)&unk );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface( node, &IID_IUnknown, (void**)&unk );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(unk, 2);
 
     V_VT(&var) = VT_EMPTY;
     child = NULL;
-    r = IXMLDOMNode_insertBefore( root, (IXMLDOMNode*)unk, var, &child );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_insertBefore( root, (IXMLDOMNode*)unk, var, &child );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( unk == (IUnknown*)child, "%p %p\n", unk, child );
 
     todo_wine EXPECT_REF(unk, 4);
@@ -3275,53 +3273,53 @@ static void test_create(void)
 
     V_VT(&var) = VT_NULL;
     V_DISPATCH(&var) = (IDispatch*)node;
-    r = IXMLDOMNode_insertBefore( root, node, var, &child );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_insertBefore( root, node, var, &child );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node == child, "%p %p\n", node, child );
     IXMLDOMNode_Release( child );
 
     V_VT(&var) = VT_NULL;
     V_DISPATCH(&var) = (IDispatch*)node;
-    r = IXMLDOMNode_insertBefore( root, node, var, NULL );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_insertBefore( root, node, var, NULL );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release( node );
 
-    r = IXMLDOMNode_QueryInterface( root, &IID_IXMLDOMElement, (void**)&element );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface( root, &IID_IXMLDOMElement, (void**)&element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMElement_get_attributes( element, &attr_map );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
-    ok( r == S_OK, "returns %08x\n", r );
-    ok( num == 0, "num %d\n", num );
+    hr = IXMLDOMElement_get_attributes( element, &attr_map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( num == 0, "num %ld\n", num );
     IXMLDOMNamedNodeMap_Release( attr_map );
 
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString( L"str1" );
     name = SysAllocString( L"dl" );
-    r = IXMLDOMElement_setAttribute( element, name, var );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMElement_get_attributes( element, &attr_map );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
-    ok( r == S_OK, "returns %08x\n", r );
-    ok( num == 1, "num %d\n", num );
+    hr = IXMLDOMElement_setAttribute( element, name, var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMElement_get_attributes( element, &attr_map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( num == 1, "num %ld\n", num );
     IXMLDOMNamedNodeMap_Release( attr_map );
     VariantClear(&var);
 
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString( L"str2" );
-    r = IXMLDOMElement_setAttribute( element, name, var );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMElement_get_attributes( element, &attr_map );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
-    ok( r == S_OK, "returns %08x\n", r );
-    ok( num == 1, "num %d\n", num );
+    hr = IXMLDOMElement_setAttribute( element, name, var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMElement_get_attributes( element, &attr_map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( num == 1, "num %ld\n", num );
     IXMLDOMNamedNodeMap_Release( attr_map );
     VariantClear(&var);
-    r = IXMLDOMElement_getAttribute( element, name, &var );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMElement_getAttribute( element, name, &var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( !lstrcmpW(V_BSTR(&var), L"str2"), "wrong attr value\n");
     VariantClear(&var);
     SysFreeString(name);
@@ -3329,13 +3327,13 @@ static void test_create(void)
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString( L"str1" );
     name = SysAllocString( L"lc" );
-    r = IXMLDOMElement_setAttribute( element, name, var );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMElement_get_attributes( element, &attr_map );
-    ok( r == S_OK, "returns %08x\n", r );
-    r = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
-    ok( r == S_OK, "returns %08x\n", r );
-    ok( num == 2, "num %d\n", num );
+    hr = IXMLDOMElement_setAttribute( element, name, var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMElement_get_attributes( element, &attr_map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNamedNodeMap_get_length( attr_map, &num );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( num == 2, "num %ld\n", num );
     IXMLDOMNamedNodeMap_Release( attr_map );
     VariantClear(&var);
     SysFreeString(name);
@@ -3343,11 +3341,11 @@ static void test_create(void)
     V_VT(&var) = VT_I4;
     V_I4(&var) = 10;
     name = SysAllocString( L"bs" );
-    r = IXMLDOMElement_setAttribute( element, name, var );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMElement_setAttribute( element, name, var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
-    r = IXMLDOMElement_getAttribute( element, name, &var );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMElement_getAttribute( element, name, &var );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_BSTR, "variant type %x\n", V_VT(&var));
     VariantClear(&var);
     SysFreeString(name);
@@ -3356,8 +3354,8 @@ static void test_create(void)
     V_VT(&var) = VT_I4;
     V_I4(&var) = NODE_ATTRIBUTE;
     str = SysAllocString( L"Attr" );
-    r = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
-    ok( r == S_OK, "returns %08x\n", r );
+    hr = IXMLDOMDocument_createNode( doc, var, str, NULL, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( node != NULL, "node was null\n");
     SysFreeString(str);
 
@@ -3389,29 +3387,29 @@ static void test_getElementsByTagName(void)
     IXMLDOMElement *elem;
     WCHAR buff[100];
     VARIANT_BOOL b;
-    HRESULT r;
+    HRESULT hr;
     LONG len;
     BSTR str;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* null arguments cases */
-    r = IXMLDOMDocument_getElementsByTagName(doc, NULL, &node_list);
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
-    r = IXMLDOMDocument_getElementsByTagName(doc, _bstr_("*"), NULL);
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMDocument_getElementsByTagName(doc, NULL, &node_list);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument_getElementsByTagName(doc, _bstr_("*"), NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     while (ptr->query)
     {
-        r = IXMLDOMDocument_getElementsByTagName(doc, _bstr_(ptr->query), &node_list);
-        ok(r == S_OK, "ret %08x\n", r);
-        r = IXMLDOMNodeList_get_length(node_list, &len);
-        ok(r == S_OK, "ret %08x\n", r);
-        ok(len == ptr->len, "%s: got len %d, expected %d\n", ptr->query, len, ptr->len);
+        hr = IXMLDOMDocument_getElementsByTagName(doc, _bstr_(ptr->query), &node_list);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMNodeList_get_length(node_list, &len);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(len == ptr->len, "%s: got len %ld, expected %d\n", ptr->query, len, ptr->len);
         expect_list_and_release(node_list, ptr->result);
 
         free_bstrs();
@@ -3422,30 +3420,30 @@ static void test_getElementsByTagName(void)
     memcpy(&buff[2], L"*", 2 * sizeof(WCHAR));
     /* just a big length */
     *(DWORD*)buff = 0xf0f0;
-    r = IXMLDOMDocument_getElementsByTagName(doc, &buff[2], &node_list);
-    ok( r == S_OK, "ret %08x\n", r );
-    r = IXMLDOMNodeList_get_length( node_list, &len );
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( len == 6, "len %d\n", len );
+    hr = IXMLDOMDocument_getElementsByTagName(doc, &buff[2], &node_list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNodeList_get_length( node_list, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 6, "len %ld\n", len );
     IXMLDOMNodeList_Release( node_list );
 
     /* test for element */
-    r = IXMLDOMDocument_get_documentElement(doc, &elem);
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMDocument_get_documentElement(doc, &elem);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = SysAllocString( L"*" );
 
     /* null arguments cases */
-    r = IXMLDOMElement_getElementsByTagName(elem, NULL, &node_list);
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
-    r = IXMLDOMElement_getElementsByTagName(elem, str, NULL);
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
-
-    r = IXMLDOMElement_getElementsByTagName(elem, str, &node_list);
-    ok( r == S_OK, "ret %08x\n", r );
-    r = IXMLDOMNodeList_get_length( node_list, &len );
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( len == 5, "len %d\n", len );
+    hr = IXMLDOMElement_getElementsByTagName(elem, NULL, &node_list);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMElement_getElementsByTagName(elem, str, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+
+    hr = IXMLDOMElement_getElementsByTagName(elem, str, &node_list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNodeList_get_length( node_list, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 5, "len %ld\n", len );
     expect_list_and_release(node_list, "E1.E2.D1 E2.E2.D1 E3.E2.D1 E4.E2.D1 E1.E4.E2.D1");
     SysFreeString( str );
 
@@ -3453,11 +3451,11 @@ static void test_getElementsByTagName(void)
     memcpy(&buff[2], L"*", 2 * sizeof(WCHAR));
     /* just a big length */
     *(DWORD*)buff = 0xf0f0;
-    r = IXMLDOMElement_getElementsByTagName(elem, &buff[2], &node_list);
-    ok( r == S_OK, "ret %08x\n", r );
-    r = IXMLDOMNodeList_get_length( node_list, &len );
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( len == 5, "len %d\n", len );
+    hr = IXMLDOMElement_getElementsByTagName(elem, &buff[2], &node_list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNodeList_get_length( node_list, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 5, "len %ld\n", len );
     IXMLDOMNodeList_Release( node_list );
 
     IXMLDOMElement_Release(elem);
@@ -3469,7 +3467,6 @@ static void test_getElementsByTagName(void)
 
 static void test_get_text(void)
 {
-    HRESULT r;
     BSTR str;
     VARIANT_BOOL b;
     IXMLDOMDocument *doc;
@@ -3477,75 +3474,76 @@ static void test_get_text(void)
     IXMLDOMNode *nodeRoot;
     IXMLDOMNodeList *node_list;
     IXMLDOMNamedNodeMap *node_map;
+    HRESULT hr;
     LONG len;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     str = SysAllocString( L"bs" );
-    r = IXMLDOMDocument_getElementsByTagName( doc, str, &node_list );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMDocument_getElementsByTagName( doc, str, &node_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     /* Test to get all child node text. */
-    r = IXMLDOMDocument_QueryInterface(doc, &IID_IXMLDOMNode, (void**)&nodeRoot);
-    ok( r == S_OK, "ret %08x\n", r );
-    if(r == S_OK)
+    hr = IXMLDOMDocument_QueryInterface(doc, &IID_IXMLDOMNode, (void**)&nodeRoot);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if (hr == S_OK)
     {
-        r = IXMLDOMNode_get_text( nodeRoot, &str );
-        ok( r == S_OK, "ret %08x\n", r );
+        hr = IXMLDOMNode_get_text( nodeRoot, &str );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         expect_bstr_eq_and_free(str, "fn1.txt\n \nfn2.txt\n \nf1");
 
         IXMLDOMNode_Release(nodeRoot);
     }
 
-    r = IXMLDOMNodeList_get_length( node_list, NULL );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMNodeList_get_length( node_list, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_length( node_list, &len );
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( len == 1, "expect 1 got %d\n", len );
+    hr = IXMLDOMNodeList_get_length( node_list, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 1, "expect 1 got %ld\n", len );
 
-    r = IXMLDOMNodeList_get_item( node_list, 0, NULL );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMNodeList_get_item( node_list, 0, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_nextNode( node_list, NULL );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMNodeList_nextNode( node_list, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( node_list, 0, &node );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNodeList_get_item( node_list, 0, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release( node_list );
 
     /* Invalid output parameter*/
-    r = IXMLDOMNode_get_text( node, NULL );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_text( node, NULL );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_text( node, &str );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_text( node, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( !lstrcmpW(str, L"fn1.txt"), "wrong string\n" );
     SysFreeString(str);
 
-    r = IXMLDOMNode_get_attributes( node, &node_map );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_attributes( node, &node_map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = SysAllocString( L"vr" );
-    r = IXMLDOMNamedNodeMap_getNamedItem( node_map, str, &node2 );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNamedNodeMap_getNamedItem( node_map, str, &node2 );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
-    r = IXMLDOMNode_get_text( node2, &str );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_text( node2, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( !lstrcmpW(str, L"str2"), "Unexpected string.\n" );
     SysFreeString(str);
 
-    r = IXMLDOMNode_get_firstChild( node2, &node3 );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_firstChild( node2, &node3 );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_text( node3, &str );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_text( node3, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( !lstrcmpW(str, L"str2"), "Unexpected string.\n" );
     SysFreeString(str);
 
@@ -3577,37 +3575,37 @@ static void test_get_childNodes(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement( doc, &element );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes( element, &node_list );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_length( node_list, &len );
-    EXPECT_HR(hr, S_OK);
-    ok( len == 4, "len %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 4, "len %ld\n", len);
 
     /* refcount tests for IEnumVARIANT support */
     EXPECT_REF(node_list, 1);
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IEnumVARIANT, (void**)&enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 1);
     EXPECT_REF(enum1, 2);
 
     EXPECT_REF(node_list, 1);
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IEnumVARIANT, (void**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 1);
     ok(enum2 == enum1, "got %p, %p\n", enum2, enum1);
     IEnumVARIANT_Release(enum2);
 
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IUnknown, (void**)&unk1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IEnumVARIANT_QueryInterface(enum1, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 3);
     EXPECT_REF(enum1, 2);
     ok(unk1 == unk2, "got %p, %p\n", unk1, unk2);
@@ -3616,16 +3614,16 @@ static void test_get_childNodes(void)
 
     EXPECT_REF(node_list, 1);
     hr = IXMLDOMNodeList__newEnum(node_list, (IUnknown**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 2);
     EXPECT_REF(enum2, 1);
     ok(enum2 != enum1, "got %p, %p\n", enum2, enum1);
 
     /* enumerator created with _newEnum() doesn't share IUnknown* with main object */
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IUnknown, (void**)&unk1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IEnumVARIANT_QueryInterface(enum2, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node_list, 3);
     EXPECT_REF(enum2, 2);
     ok(unk1 != unk2, "got %p, %p\n", unk1, unk2);
@@ -3633,36 +3631,36 @@ static void test_get_childNodes(void)
     IUnknown_Release(unk2);
 
     hr = IXMLDOMNodeList__newEnum(node_list, (IUnknown**)&enum3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum2 != enum3, "got %p, %p\n", enum2, enum3);
     IEnumVARIANT_Release(enum3);
     IEnumVARIANT_Release(enum2);
 
     /* iteration tests */
     hr = IXMLDOMNodeList_get_item(node_list, 0, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"bs"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMNodeList_nextNode(node_list, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"bs"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum1, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"bs"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
@@ -3671,21 +3669,21 @@ static void test_get_childNodes(void)
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum1, 2, v, &fetched);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[1]));
-    ok(fetched == 2, "got %d, expected 2\n", fetched);
+    ok(fetched == 2, "got %ld, expected 2\n", fetched);
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"pr"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[1]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"empty"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
@@ -3695,22 +3693,22 @@ static void test_get_childNodes(void)
     V_VT(&v[1]) = VT_NULL;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum1, 2, v, &fetched);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_EMPTY, "got var type %d\n", V_VT(&v[1]));
-    ok(fetched == 1, "got %d, expected 1\n", fetched);
+    ok(fetched == 1, "got %ld, expected 1\n", fetched);
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"fo"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     VariantClear(&v[0]);
 
     hr = IXMLDOMNodeList_nextNode(node_list, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"pr"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
@@ -3718,17 +3716,17 @@ static void test_get_childNodes(void)
     IEnumVARIANT_Release(enum1);
 
     hr = IXMLDOMNodeList_get_item( node_list, 2, &node );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_childNodes( node, &node_list2 );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_length( node_list2, &len );
-    EXPECT_HR(hr, S_OK);
-    ok( len == 0, "len %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 0, "len %ld\n", len);
 
     hr = IXMLDOMNodeList_get_item( node_list2, 0, &node2);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMNodeList_Release( node_list2 );
     IXMLDOMNode_Release( node );
@@ -3737,23 +3735,23 @@ static void test_get_childNodes(void)
 
     /* test for children of <?xml ..?> node */
     hr = IXMLDOMDocument_get_firstChild(doc, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"xml"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* it returns empty but valid node list */
     node_list = (void*)0xdeadbeef;
     hr = IXMLDOMNode_get_childNodes(node, &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMNodeList_get_length(node_list, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "got %ld\n", len);
 
     IXMLDOMNodeList_Release( node_list );
     IXMLDOMNode_Release(node);
@@ -3767,20 +3765,20 @@ static void test_get_firstChild(void)
     IXMLDOMDocument *doc;
     IXMLDOMNode *node;
     VARIANT_BOOL b;
-    HRESULT r;
+    HRESULT hr;
     BSTR str;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_firstChild( doc, &node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMDocument_get_firstChild( doc, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_nodeName( node, &str );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_nodeName( node, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(!lstrcmpW(str, L"xml"), "expected \"xml\" node name, got %s\n", wine_dbgstr_w(str));
 
@@ -3796,29 +3794,29 @@ static void test_get_lastChild(void)
     IXMLDOMDocument *doc;
     IXMLDOMNode *node, *child;
     VARIANT_BOOL b;
-    HRESULT r;
+    HRESULT hr;
     BSTR str;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_lastChild( doc, &node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMDocument_get_lastChild( doc, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_nodeName( node, &str );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_nodeName( node, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(!lstrcmpW(str, L"lc"), "Unexpected node name.\n");
     SysFreeString(str);
 
-    r = IXMLDOMNode_get_lastChild( node, &child );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_lastChild( node, &child );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_nodeName( child, &str );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_nodeName( child, &str );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(!lstrcmpW(str, L"fo"), "Unexpected node name.\n");
     SysFreeString(str);
@@ -3832,93 +3830,93 @@ static void test_get_lastChild(void)
 
 static void test_removeChild(void)
 {
-    HRESULT r;
     VARIANT_BOOL b;
     IXMLDOMDocument *doc;
     IXMLDOMElement *element, *lc_element;
     IXMLDOMNode *fo_node, *ba_node, *removed_node, *temp_node, *lc_node;
     IXMLDOMNodeList *root_list, *fo_list;
+    HRESULT hr;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(element, 2);
 
-    r = IXMLDOMElement_get_childNodes( element, &root_list );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMElement_get_childNodes( element, &root_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(root_list, 1);
 
-    r = IXMLDOMNodeList_get_item( root_list, 3, &fo_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( root_list, 3, &fo_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(fo_node, 1);
 
-    r = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(fo_list, 1);
 
-    r = IXMLDOMNodeList_get_item( fo_list, 0, &ba_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( fo_list, 0, &ba_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(ba_node, 1);
 
     /* invalid parameter: NULL ptr */
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMElement_removeChild( element, NULL, &removed_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMElement_removeChild( element, NULL, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == (void*)0xdeadbeef, "%p\n", removed_node );
 
     /* ba_node is a descendant of element, but not a direct child. */
     removed_node = (void*)0xdeadbeef;
     EXPECT_REF(ba_node, 1);
     EXPECT_CHILDREN(fo_node);
-    r = IXMLDOMElement_removeChild( element, ba_node, &removed_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMElement_removeChild( element, ba_node, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == NULL, "%p\n", removed_node );
     EXPECT_REF(ba_node, 1);
     EXPECT_CHILDREN(fo_node);
 
     EXPECT_REF(ba_node, 1);
     EXPECT_REF(fo_node, 1);
-    r = IXMLDOMElement_removeChild( element, fo_node, &removed_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMElement_removeChild( element, fo_node, &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( fo_node == removed_node, "node %p node2 %p\n", fo_node, removed_node );
     EXPECT_REF(fo_node, 2);
     EXPECT_REF(ba_node, 1);
 
     /* try removing already removed child */
     temp_node = (void*)0xdeadbeef;
-    r = IXMLDOMElement_removeChild( element, fo_node, &temp_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r);
+    hr = IXMLDOMElement_removeChild( element, fo_node, &temp_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( temp_node == NULL, "%p\n", temp_node );
     IXMLDOMNode_Release( fo_node );
 
     /* the removed node has no parent anymore */
-    r = IXMLDOMNode_get_parentNode( removed_node, &temp_node );
-    ok( r == S_FALSE, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_parentNode( removed_node, &temp_node );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( temp_node == NULL, "%p\n", temp_node );
 
     IXMLDOMNode_Release( removed_node );
     IXMLDOMNode_Release( ba_node );
     IXMLDOMNodeList_Release( fo_list );
 
-    r = IXMLDOMNodeList_get_item( root_list, 0, &lc_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( root_list, 0, &lc_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface( lc_node, &IID_IXMLDOMElement, (void**)&lc_element );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_QueryInterface( lc_node, &IID_IXMLDOMElement, (void**)&lc_element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* MS quirk: passing wrong interface pointer works, too */
-    r = IXMLDOMElement_removeChild( element, (IXMLDOMNode*)lc_element, NULL );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMElement_removeChild( element, (IXMLDOMNode*)lc_element, NULL );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release( lc_element );
 
     temp_node = (void*)0xdeadbeef;
-    r = IXMLDOMNode_get_parentNode( lc_node, &temp_node );
-    ok( r == S_FALSE, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_parentNode( lc_node, &temp_node );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( temp_node == NULL, "%p\n", temp_node );
 
     IXMLDOMNode_Release( lc_node );
@@ -3931,103 +3929,103 @@ static void test_removeChild(void)
 
 static void test_replaceChild(void)
 {
-    HRESULT r;
     VARIANT_BOOL b;
     IXMLDOMDocument *doc;
     IXMLDOMElement *element, *ba_element;
     IXMLDOMNode *fo_node, *ba_node, *lc_node, *removed_node, *temp_node;
     IXMLDOMNodeList *root_list, *fo_list;
     IUnknown * unk1, *unk2;
+    HRESULT hr;
     LONG len;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMElement_get_childNodes( element, &root_list );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMElement_get_childNodes( element, &root_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( root_list, 0, &lc_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( root_list, 0, &lc_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( root_list, 3, &fo_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( root_list, 3, &fo_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( fo_list, 0, &ba_node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( fo_list, 0, &ba_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMNodeList_Release( fo_list );
 
     /* invalid parameter: NULL ptr for element to remove */
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMElement_replaceChild( element, ba_node, NULL, &removed_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMElement_replaceChild( element, ba_node, NULL, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == (void*)0xdeadbeef, "%p\n", removed_node );
 
     /* invalid parameter: NULL for replacement element. (Sic!) */
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMElement_replaceChild( element, NULL, fo_node, &removed_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMElement_replaceChild( element, NULL, fo_node, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == (void*)0xdeadbeef, "%p\n", removed_node );
 
     /* invalid parameter: OldNode is not a child */
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMElement_replaceChild( element, lc_node, ba_node, &removed_node );
-    ok( r == E_INVALIDARG, "ret %08x\n", r );
+    hr = IXMLDOMElement_replaceChild( element, lc_node, ba_node, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == NULL, "%p\n", removed_node );
     IXMLDOMNode_Release( lc_node );
 
     /* invalid parameter: would create loop */
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMNode_replaceChild( fo_node, fo_node, ba_node, &removed_node );
-    ok( r == E_FAIL, "ret %08x\n", r );
+    hr = IXMLDOMNode_replaceChild( fo_node, fo_node, ba_node, &removed_node );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( removed_node == NULL, "%p\n", removed_node );
 
-    r = IXMLDOMElement_replaceChild( element, ba_node, fo_node, NULL );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMElement_replaceChild( element, ba_node, fo_node, NULL );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( root_list, 3, &temp_node );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNodeList_get_item( root_list, 3, &temp_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* ba_node and temp_node refer to the same node, yet they
        are different interface pointers */
     ok( ba_node != temp_node, "ba_node %p temp_node %p\n", ba_node, temp_node);
-    r = IXMLDOMNode_QueryInterface( temp_node, &IID_IUnknown, (void**)&unk1);
-    ok( r == S_OK, "ret %08x\n", r );
-    r = IXMLDOMNode_QueryInterface( ba_node, &IID_IUnknown, (void**)&unk2);
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface( temp_node, &IID_IUnknown, (void**)&unk1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNode_QueryInterface( ba_node, &IID_IUnknown, (void**)&unk2);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok( unk1 == unk2, "unk1 %p unk2 %p\n", unk1, unk2);
 
     IUnknown_Release( unk1 );
     IUnknown_Release( unk2 );
 
     /* ba_node should have been removed from below fo_node */
-    r = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_get_childNodes( fo_node, &fo_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* MS quirk: replaceChild also accepts elements instead of nodes */
-    r = IXMLDOMNode_QueryInterface( ba_node, &IID_IXMLDOMElement, (void**)&ba_element);
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMNode_QueryInterface( ba_node, &IID_IXMLDOMElement, (void**)&ba_element);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(ba_element, 2);
 
     removed_node = NULL;
-    r = IXMLDOMElement_replaceChild( element, ba_node, (IXMLDOMNode*)ba_element, &removed_node );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMElement_replaceChild( element, ba_node, (IXMLDOMNode*)ba_element, &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( removed_node != NULL, "got %p\n", removed_node);
     EXPECT_REF(ba_element, 3);
     IXMLDOMElement_Release( ba_element );
 
-    r = IXMLDOMNodeList_get_length( fo_list, &len);
-    ok( r == S_OK, "ret %08x\n", r );
-    ok( len == 0, "len %d\n", len);
+    hr = IXMLDOMNodeList_get_length( fo_list, &len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "len %ld\n", len);
 
     IXMLDOMNodeList_Release( fo_list );
 
@@ -4049,68 +4047,68 @@ static void test_removeNamedItem(void)
     IXMLDOMNodeList *root_list;
     IXMLDOMNamedNodeMap *map;
     VARIANT_BOOL b;
+    HRESULT hr;
     BSTR str;
     LONG len;
-    HRESULT r;
 
     doc = create_document(&IID_IXMLDOMDocument);
 
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    r = IXMLDOMDocument_get_documentElement( doc, &element );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMDocument_get_documentElement( doc, &element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMElement_get_childNodes( element, &root_list );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMElement_get_childNodes( element, &root_list );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNodeList_get_item( root_list, 1, &node );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNodeList_get_item( root_list, 1, &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_get_attributes( node, &map );
-    ok( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNode_get_attributes( node, &map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNamedNodeMap_get_length( map, &len );
-    ok( r == S_OK, "ret %08x\n", r);
-    ok( len == 3, "length %d\n", len);
+    hr = IXMLDOMNamedNodeMap_get_length( map, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 3, "length %ld\n", len);
 
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, NULL, &removed_node );
-    ok ( r == E_INVALIDARG, "ret %08x\n", r);
-    ok ( removed_node == (void*)0xdeadbeef, "got %p\n", removed_node);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, NULL, &removed_node );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    ok(removed_node == (void*)0xdeadbeef, "got %p\n", removed_node);
 
     removed_node = (void*)0xdeadbeef;
     str = SysAllocString(L"vr");
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, str, &removed_node );
-    ok ( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, str, &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     removed_node2 = (void*)0xdeadbeef;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, str, &removed_node2 );
-    ok ( r == S_FALSE, "ret %08x\n", r);
-    ok ( removed_node2 == NULL, "got %p\n", removed_node2 );
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, str, &removed_node2 );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(removed_node2 == NULL, "got %p\n", removed_node2 );
 
-    r = IXMLDOMNamedNodeMap_get_length( map, &len );
-    ok( r == S_OK, "ret %08x\n", r);
-    ok( len == 2, "length %d\n", len);
+    hr = IXMLDOMNamedNodeMap_get_length( map, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 2, "length %ld\n", len);
 
-    r = IXMLDOMNamedNodeMap_setNamedItem( map, removed_node, NULL );
-    ok ( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNamedNodeMap_setNamedItem( map, removed_node, NULL );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(removed_node);
 
-    r = IXMLDOMNamedNodeMap_get_length( map, &len );
-    ok( r == S_OK, "ret %08x\n", r);
-    ok( len == 3, "length %d\n", len);
+    hr = IXMLDOMNamedNodeMap_get_length( map, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 3, "length %ld\n", len);
 
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, str, NULL );
-    ok ( r == S_OK, "ret %08x\n", r);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, str, NULL );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNamedNodeMap_get_length( map, &len );
-    ok( r == S_OK, "ret %08x\n", r);
-    ok( len == 2, "length %d\n", len);
+    hr = IXMLDOMNamedNodeMap_get_length( map, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 2, "length %ld\n", len);
 
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, str, NULL );
-    ok ( r == S_FALSE, "ret %08x\n", r);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, str, NULL );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     SysFreeString(str);
 
@@ -4120,43 +4118,43 @@ static void test_removeNamedItem(void)
     IXMLDOMElement_Release( element );
 
     /* test with namespaces */
-    r = IXMLDOMDocument_loadXML( doc, _bstr_(default_ns_doc), &b );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMDocument_loadXML( doc, _bstr_(default_ns_doc), &b );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMDocument_selectSingleNode( doc, _bstr_("a"), &node );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMDocument_selectSingleNode( doc, _bstr_("a"), &node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-    r = IXMLDOMNode_QueryInterface( node, &IID_IXMLDOMElement, (void**)&element );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMNode_QueryInterface( node, &IID_IXMLDOMElement, (void**)&element );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release( node );
 
-    r = IXMLDOMElement_get_attributes( element, &map );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMElement_get_attributes( element, &map );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     removed_node = (void*)0xdeadbeef;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("foo:bar"), &removed_node );
-    EXPECT_HR(r, S_FALSE);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("foo:bar"), &removed_node );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok ( removed_node == NULL, "got %p\n", removed_node );
 
     removed_node = NULL;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("d"), &removed_node );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("d"), &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release( removed_node );
 
     removed_node = NULL;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("ns:b"), &removed_node );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("ns:b"), &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release( removed_node );
 
     removed_node = NULL;
-    r = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("xml:lang"), &removed_node );
-    EXPECT_HR(r, S_OK);
+    hr = IXMLDOMNamedNodeMap_removeNamedItem( map, _bstr_("xml:lang"), &removed_node );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release( removed_node );
 
     len = -1;
-    r = IXMLDOMNamedNodeMap_get_length( map, &len );
-    EXPECT_HR(r, S_OK);
-    ok( len == 2, "length %d\n", len );
+    hr = IXMLDOMNamedNodeMap_get_length( map, &len );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 2, "length %ld\n", len );
 
     IXMLDOMNamedNodeMap_Release( map );
     IXMLDOMElement_Release( element );
@@ -4174,30 +4172,30 @@ static void _test_IObjectSafety_set(unsigned line, IObjectSafety *safety, HRESUL
 
     hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL, set, mask);
     if (result == result2)
-        ok_(__FILE__,line)(hr == result, "SetInterfaceSafetyOptions: expected %08x, returned %08x\n", result, hr );
+        ok_(__FILE__,line)(hr == result, "SetInterfaceSafetyOptions: expected %#lx, returned %#lx\n", result, hr );
     else
         ok_(__FILE__,line)(broken(hr == result) || hr == result2,
-           "SetInterfaceSafetyOptions: expected %08x, got %08x\n", result2, hr );
+           "SetInterfaceSafetyOptions: expected %#lx, got %#lx\n", result2, hr );
 
     supported = enabled = 0xCAFECAFE;
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     if (expected == expected2)
-        ok_(__FILE__,line)(enabled == expected, "Expected %08x, got %08x\n", expected, enabled);
+        ok_(__FILE__,line)(enabled == expected, "Expected %#lx, got %#lx\n", expected, enabled);
     else
         ok_(__FILE__,line)(broken(enabled == expected) || enabled == expected2,
-           "Expected %08x, got %08x\n", expected2, enabled);
+           "Expected %#lx, got %#lx\n", expected2, enabled);
 
     /* reset the safety options */
 
     hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL,
             INTERFACESAFE_FOR_UNTRUSTED_CALLER|INTERFACESAFE_FOR_UNTRUSTED_DATA|INTERFACE_USES_SECURITY_MANAGER,
             0);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
-    ok_(__FILE__,line)(enabled == 0, "Expected 0, got %08x\n", enabled);
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok_(__FILE__,line)(enabled == 0, "Expected 0, got %#lx\n", enabled);
 }
 
 #define test_IObjectSafety_common(s) _test_IObjectSafety_common(__LINE__,s)
@@ -4208,17 +4206,17 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety)
 
     /* get */
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, NULL, &enabled);
-    ok_(__FILE__,line)(hr == E_POINTER, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == E_POINTER, "Unexpected hr %#lx.\n", hr );
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, NULL);
-    ok_(__FILE__,line)(hr == E_POINTER, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == E_POINTER, "Unexpected hr %#lx.\n", hr );
 
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok_(__FILE__,line)(broken(supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA)) ||
        supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
         "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), "
-             "got %08x\n", supported);
-    ok_(__FILE__,line)(enabled == 0, "Expected 0, got %08x\n", enabled);
+             "got %#lx\n", supported);
+    ok_(__FILE__,line)(enabled == 0, "Expected 0, got %#lx\n", enabled);
 
     /* set -- individual flags */
 
@@ -4273,28 +4271,28 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety)
     hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL,
                                                          INTERFACESAFE_FOR_UNTRUSTED_CALLER,
                                                          INTERFACESAFE_FOR_UNTRUSTED_CALLER);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
-    ok_(__FILE__,line)(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER, "Expected INTERFACESAFE_FOR_UNTRUSTED_CALLER got %08x\n", enabled);
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok_(__FILE__,line)(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER, "Expected INTERFACESAFE_FOR_UNTRUSTED_CALLER got %#lx\n", enabled);
     ok_(__FILE__,line)(broken(supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA)) ||
        supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
         "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), "
-             "got %08x\n", supported);
+             "got %#lx.\n", supported);
 
     hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL,
                                                          INTERFACESAFE_FOR_UNTRUSTED_DATA,
                                                          INTERFACESAFE_FOR_UNTRUSTED_DATA);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled);
-    ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr );
+    ok_(__FILE__,line)(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok_(__FILE__,line)(broken(enabled == INTERFACESAFE_FOR_UNTRUSTED_DATA) ||
                        enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA),
-                       "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA) got %08x\n", enabled);
+                       "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA) got %#lx\n", enabled);
     ok_(__FILE__,line)(broken(supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA)) ||
        supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */,
         "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), "
-             "got %08x\n", supported);
+             "got %#lx\n", supported);
 }
 
 static void test_IXMLDOMDocument2(void)
@@ -4305,7 +4303,7 @@ static void test_IXMLDOMDocument2(void)
     IDispatchEx *dispex;
     VARIANT_BOOL b;
     VARIANT var;
-    HRESULT r;
+    HRESULT hr;
     LONG res;
 
     if (!is_clsid_supported(&CLSID_DOMDocument2, &IID_IXMLDOMDocument2)) return;
@@ -4313,52 +4311,58 @@ static void test_IXMLDOMDocument2(void)
     doc = create_document(&IID_IXMLDOMDocument);
     dtddoc2 = create_document(&IID_IXMLDOMDocument2);
 
-    r = IXMLDOMDocument_QueryInterface( doc, &IID_IXMLDOMDocument2, (void**)&doc2 );
-    ok( r == S_OK, "ret %08x\n", r );
+    hr = IXMLDOMDocument_QueryInterface( doc, &IID_IXMLDOMDocument2, (void**)&doc2 );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( doc == (IXMLDOMDocument*)doc2, "interfaces differ\n");
 
-    ole_expect(IXMLDOMDocument2_get_readyState(doc2, NULL), E_INVALIDARG);
-    ole_check(IXMLDOMDocument2_get_readyState(doc2, &res));
-    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %i\n", res);
+    hr = IXMLDOMDocument2_get_readyState(doc2, NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_get_readyState(doc2, &res);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %ld\n", res);
 
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(doc2, NULL), S_FALSE);
-    ole_expect(IXMLDOMDocument2_validate(doc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(doc2, NULL);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_validate(doc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected a pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_E_NOTWF */
-        ok(res == E_XML_NOTWF, "got %08x\n", res);
+        ok(res == E_XML_NOTWF, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    r = IXMLDOMDocument2_loadXML( doc2, _bstr_(complete4A), &b );
-    ok( r == S_OK, "loadXML failed\n");
+    hr = IXMLDOMDocument2_loadXML( doc2, _bstr_(complete4A), &b );
+    ok(hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
-    ole_check(IXMLDOMDocument_get_readyState(doc, &res));
-    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %i\n", res);
+    hr = IXMLDOMDocument_get_readyState(doc, &res);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(res == READYSTATE_COMPLETE, "expected READYSTATE_COMPLETE (4), got %ld\n", res);
 
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(doc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(doc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected a pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_E_NODTD */
-        ok(res == E_XML_NODTD, "got %08x\n", res);
+        ok(res == E_XML_NODTD, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    r = IXMLDOMDocument_QueryInterface( doc, &IID_IDispatchEx, (void**)&dispex );
-    ok( r == S_OK, "ret %08x\n", r );
-    if(r == S_OK)
-    {
+    hr = IXMLDOMDocument_QueryInterface( doc, &IID_IDispatchEx, (void**)&dispex );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    if(hr == S_OK)
         IDispatchEx_Release(dispex);
-    }
 
     /* we will check if the variant got cleared */
     IXMLDOMDocument2_AddRef(doc2);
@@ -4368,12 +4372,15 @@ static void test_IXMLDOMDocument2(void)
     V_UNKNOWN(&var) = (IUnknown *)doc2;
 
     /* invalid calls */
-    ole_expect(IXMLDOMDocument2_getProperty(doc2, _bstr_("askldhfaklsdf"), &var), E_FAIL);
+    hr = IXMLDOMDocument2_getProperty(doc2, _bstr_("askldhfaklsdf"), &var);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     expect_eq(V_VT(&var), VT_UNKNOWN, int, "%x");
-    ole_expect(IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), NULL), E_INVALIDARG);
+    hr = IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), NULL);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* valid call */
-    ole_check(IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), &var);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_eq(V_VT(&var), VT_BSTR, int, "%x");
     expect_bstr_eq_and_free(V_BSTR(&var), "XSLPattern");
     V_VT(&var) = VT_R4;
@@ -4382,26 +4389,33 @@ static void test_IXMLDOMDocument2(void)
     expect_eq(IXMLDOMDocument2_Release(doc2), 2, int, "%d");
 
     /* setProperty tests */
-    ole_expect(IXMLDOMDocument2_setProperty(doc2, _bstr_("askldhfaklsdf"), var), E_FAIL);
-    ole_expect(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), var), E_FAIL);
-    ole_expect(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("alskjdh faklsjd hfk")), E_FAIL);
-    ole_check(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern")));
-    ole_check(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XPath")));
-    ole_check(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern")));
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("askldhfaklsdf"), var);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), var);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("alskjdh faklsjd hfk"));
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString(L"");
-    r = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionNamespaces"), var);
-    ok(r == S_OK, "got 0x%08x\n", r);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionNamespaces"), var);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
 
     V_VT(&var) = VT_I2;
     V_I2(&var) = 0;
-    r = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionNamespaces"), var);
-    ok(r == E_FAIL, "got 0x%08x\n", r);
+    hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionNamespaces"), var);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* contrary to what MSDN claims you can switch back from XPath to XSLPattern */
-    ole_check(IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc2, _bstr_("SelectionLanguage"), &var);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_eq(V_VT(&var), VT_BSTR, int, "%x");
     expect_bstr_eq_and_free(V_BSTR(&var), "XSLPattern");
 
@@ -4409,157 +4423,191 @@ static void test_IXMLDOMDocument2(void)
     IXMLDOMDocument_Release( doc );
 
     /* DTD validation */
-    ole_check(IXMLDOMDocument2_put_validateOnParse(dtddoc2, VARIANT_FALSE));
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML), &b));
+    hr = IXMLDOMDocument2_put_validateOnParse(dtddoc2, VARIANT_FALSE);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_check(IXMLDOMDocument2_validate(dtddoc2, &err));
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_expect(IXMLDOMParseError_get_errorCode(err, &res), S_FALSE);
-        ok(res == 0, "got %08x\n", res);
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+        ok(res == 0, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_0D), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_0D), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ELEMENT_UNDECLARED */
-        todo_wine ok(res == 0xC00CE00D, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE00D, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_0E), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_0E), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ELEMENT_ID_NOT_FOUND */
-        todo_wine ok(res == 0xC00CE00E, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE00E, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_11), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_11), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_EMPTY_NOT_ALLOWED */
-        todo_wine ok(res == 0xC00CE011, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE011, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_13), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_13), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ROOT_NAME_MISMATCH */
-        todo_wine ok(res == 0xC00CE013, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE013, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_14), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_14), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_INVALID_CONTENT */
-        todo_wine ok(res == 0xC00CE014, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE014, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_15), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_15), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ATTRIBUTE_NOT_DEFINED */
-        todo_wine ok(res == 0xC00CE015, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE015, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_16), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_16), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ATTRIBUTE_FIXED */
-        todo_wine ok(res == 0xC00CE016, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE016, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_17), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_17), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ATTRIBUTE_VALUE */
-        todo_wine ok(res == 0xC00CE017, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE017, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_18), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_18), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_ILLEGAL_TEXT */
-        todo_wine ok(res == 0xC00CE018, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE018, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_20), &b));
+    hr = IXMLDOMDocument2_loadXML(dtddoc2, _bstr_(szEmailXML_20), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
     err = NULL;
-    ole_expect(IXMLDOMDocument2_validate(dtddoc2, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(dtddoc2, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "expected pointer\n");
     if (err)
     {
         res = 0;
-        ole_check(IXMLDOMParseError_get_errorCode(err, &res));
+        hr = IXMLDOMParseError_get_errorCode(err, &res);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         /* XML_REQUIRED_ATTRIBUTE_MISSING */
-        todo_wine ok(res == 0xC00CE020, "got %08x\n", res);
+        todo_wine ok(res == 0xC00CE020, "Unexpected code %#lx.\n", res);
         IXMLDOMParseError_Release(err);
     }
 
@@ -4567,14 +4615,9 @@ static void test_IXMLDOMDocument2(void)
     free_bstrs();
 }
 
-#define helper_ole_check(expr) { \
-    HRESULT r = expr; \
-    ok_(__FILE__, line)(r == S_OK, "=> %i: " #expr " returned %08x\n", __LINE__, r); \
-}
-
 #define helper_ole_check_ver(expr) { \
-    HRESULT r = expr; \
-    ok_(__FILE__, line)(r == S_OK, "-> %i (%s): " #expr " returned %08x\n", __LINE__, ver, r); \
+    HRESULT hr = expr; \
+    ok_(__FILE__, line)(hr == S_OK, "-> %i (%s): " #expr " returned %#lx.\n", __LINE__, ver, hr); \
 }
 
 #define helper_expect_list_and_release(list, expstr) { \
@@ -4677,32 +4720,32 @@ static void test_preserve_charref(IXMLDOMDocument2 *doc, VARIANT_BOOL preserve)
     BSTR s;
 
     hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc, preserve);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(charrefsxml), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument2_get_documentElement(doc, &root);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes(root, &list);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(root);
 
     text = preserve == VARIANT_TRUE ? L" Text A end " : L"Text A end";
     hr = IXMLDOMNodeList_get_item(list, 0, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_text(node, &s);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, text), "0x%x, got %s\n", preserve, wine_dbgstr_w(s));
     SysFreeString(s);
     IXMLDOMNode_Release(node);
 
     text = preserve == VARIANT_TRUE ? L"AB C " : L"AB C";
     hr = IXMLDOMNodeList_get_item(list, 1, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_text(node, &s);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, text), "0x%x, got %s\n", preserve, wine_dbgstr_w(s));
     SysFreeString(s);
     IXMLDOMNode_Release(node);
@@ -4746,68 +4789,87 @@ static void test_whitespace(void)
 
         hr = CoCreateInstance(class_ptr->clsid, NULL, CLSCTX_INPROC_SERVER,
                 &IID_IXMLDOMDocument2, (void**)&doc1);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = CoCreateInstance(class_ptr->clsid, NULL, CLSCTX_INPROC_SERVER,
                 &IID_IXMLDOMDocument2, (void**)&doc2);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        ole_check(IXMLDOMDocument2_put_preserveWhiteSpace(doc2, VARIANT_TRUE));
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b));
+        hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc2, VARIANT_TRUE);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_FALSE, "expected false\n");
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc2, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc2, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "expected true\n");
 
-        ole_check(IXMLDOMDocument2_loadXML(doc1, _bstr_(szExampleXML), &b));
+        hr = IXMLDOMDocument2_loadXML(doc1, _bstr_(szExampleXML), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML string\n");
-        ole_check(IXMLDOMDocument2_loadXML(doc2, _bstr_(szExampleXML), &b));
+        hr = IXMLDOMDocument2_loadXML(doc2, _bstr_(szExampleXML), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
         /* switch to XPath */
-        ole_check(IXMLDOMDocument2_setProperty(doc1, _bstr_("SelectionLanguage"), _variantbstr_("XPath")));
-        ole_check(IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XPath")));
+        hr = IXMLDOMDocument2_setProperty(doc1, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMDocument2_setProperty(doc2, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         check_ws_ignored(class_ptr->name, doc1, NULL);
         check_ws_preserved(class_ptr->name, doc2, NULL);
 
         /* new instances copy the property */
-        ole_check(IXMLDOMDocument2_QueryInterface(doc1, &IID_IXMLDOMDocument2, (void**) &doc3));
-        ole_check(IXMLDOMDocument2_QueryInterface(doc2, &IID_IXMLDOMDocument2, (void**) &doc4));
+        hr = IXMLDOMDocument2_QueryInterface(doc1, &IID_IXMLDOMDocument2, (void**) &doc3);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMDocument2_QueryInterface(doc2, &IID_IXMLDOMDocument2, (void**) &doc4);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc3, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc3, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_FALSE, "expected false\n");
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc4, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc4, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "expected true\n");
 
         check_ws_ignored(class_ptr->name, doc3, NULL);
         check_ws_preserved(class_ptr->name, doc4, NULL);
 
         /* setting after loading xml affects trimming of leading/trailing ws only */
-        ole_check(IXMLDOMDocument2_put_preserveWhiteSpace(doc1, VARIANT_TRUE));
-        ole_check(IXMLDOMDocument2_put_preserveWhiteSpace(doc2, VARIANT_FALSE));
+        hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc1, VARIANT_TRUE);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc2, VARIANT_FALSE);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* the trailing "\n            " isn't there, because it was ws-only node */
         check_ws_ignored(class_ptr->name, doc1, " This is a description. ");
         check_ws_preserved(class_ptr->name, doc2, " This is a description.");
 
         /* it takes effect on reload */
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc1, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "expected true\n");
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc2, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc2, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_FALSE, "expected false\n");
 
-        ole_check(IXMLDOMDocument2_loadXML(doc1, _bstr_(szExampleXML), &b));
+        hr = IXMLDOMDocument2_loadXML(doc1, _bstr_(szExampleXML), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML string\n");
-        ole_check(IXMLDOMDocument2_loadXML(doc2, _bstr_(szExampleXML), &b));
+        hr = IXMLDOMDocument2_loadXML(doc2, _bstr_(szExampleXML), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
         check_ws_preserved(class_ptr->name, doc1, NULL);
         check_ws_ignored(class_ptr->name, doc2, NULL);
 
         /* other instances follow suit */
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc3, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc3, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "expected true\n");
-        ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc4, &b));
+        hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc4, &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_FALSE, "expected false\n");
 
         check_ws_preserved(class_ptr->name, doc3, NULL);
@@ -4823,20 +4885,20 @@ static void test_whitespace(void)
 
         /* formatting whitespaces */
         hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc1, VARIANT_FALSE);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument2_loadXML(doc1, _bstr_(complete7), &b);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "for %x\n", b);
 
         hr = IXMLDOMDocument2_get_documentElement(doc1, &root);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         hr = IXMLDOMElement_get_childNodes(root, &list);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         len = 0;
         hr = IXMLDOMNodeList_get_length(list, &len);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        ok(len == 3, "got %d\n", len);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(len == 3, "got %ld\n", len);
         IXMLDOMNodeList_Release(list);
         IXMLDOMElement_Release(root);
 
@@ -4948,27 +5010,28 @@ static void test_XPath(void)
     doc = create_document(&IID_IXMLDOMDocument2);
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* switch to XPath */
-    ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XPath")));
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* some simple queries*/
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(doc, 1);
     EXPECT_LIST_LEN(list, 1);
 
     EXPECT_REF(list, 1);
     hr = IXMLDOMNodeList_get_item(list, 0, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(list, 1);
     EXPECT_REF(rootNode, 1);
 
     hr = IXMLDOMNodeList_reset(list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E2.D1");
 
     /* perform xpath tests */
@@ -4996,172 +5059,204 @@ if (0)
     /* namespace:: axis test is disabled until namespace definitions
        are supported as attribute nodes, currently it's another node type */
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("/root/namespace::*"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = -1;
     hr = IXMLDOMNodeList_get_length(list, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 2, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 2, "got %ld\n", len);
 
     hr = IXMLDOMNodeList_nextNode(list, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     type = NODE_INVALID;
     hr = IXMLDOMNode_get_nodeType(node, &type);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(type == NODE_ATTRIBUTE, "got %d\n", type);
     IXMLDOMNode_Release(node);
 
     IXMLDOMNodeList_Release(list);
 }
 
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//c"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E1.E2.D1 E3.E2.E2.D1");
 
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("//c[@type]"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("//c[@type]"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E2.E2.D1");
 
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_("elem"), &list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("elem"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* using get_item for query results advances the position */
-    ole_check(IXMLDOMNodeList_get_item(list, 1, &node));
+    hr = IXMLDOMNodeList_get_item(list, 1, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_node(node, "E2.E2.D1");
     IXMLDOMNode_Release(node);
-    ole_check(IXMLDOMNodeList_nextNode(list, &node));
+    hr = IXMLDOMNodeList_nextNode(list, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_node(node, "E4.E2.D1");
     IXMLDOMNode_Release(node);
-    ole_check(IXMLDOMNodeList_reset(list));
+    hr = IXMLDOMNodeList_reset(list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E1.E2.D1 E2.E2.D1 E4.E2.D1");
 
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_("."), &list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("."), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E2.D1");
 
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_("elem[3]/preceding-sibling::*"), &list));
-    ole_check(IXMLDOMNodeList_get_item(list, 0, &elem1Node));
-    ole_check(IXMLDOMNodeList_reset(list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("elem[3]/preceding-sibling::*"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNodeList_get_item(list, 0, &elem1Node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNodeList_reset(list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E1.E2.D1 E2.E2.D1 E3.E2.D1");
 
     /* select an attribute */
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_(".//@type"), &list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_(".//@type"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "A'type'.E3.E2.E2.D1");
 
     /* would evaluate to a number */
-    ole_expect(IXMLDOMNode_selectNodes(rootNode, _bstr_("count(*)"), &list), E_FAIL);
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("count(*)"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     /* would evaluate to a boolean */
-    ole_expect(IXMLDOMNode_selectNodes(rootNode, _bstr_("position()>0"), &list), E_FAIL);
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("position()>0"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     /* would evaluate to a string */
-    ole_expect(IXMLDOMNode_selectNodes(rootNode, _bstr_("name()"), &list), E_FAIL);
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("name()"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* no results */
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_("c"), &list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_("c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "");
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("elem//c"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("elem//c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "");
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("//elem[4]"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("//elem[4]"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "");
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//elem[0]"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//elem[0]"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "");
 
     /* foo undeclared in document node */
-    ole_expect(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list), E_FAIL);
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     /* undeclared in <root> node */
-    ole_expect(IXMLDOMNode_selectNodes(rootNode, _bstr_(".//foo:c"), &list), E_FAIL);
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_(".//foo:c"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     /* undeclared in <elem> node */
-    ole_expect(IXMLDOMNode_selectNodes(elem1Node, _bstr_("//foo:c"), &list), E_FAIL);
+    hr = IXMLDOMNode_selectNodes(elem1Node, _bstr_("//foo:c"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     /* but this trick can be used */
-    ole_check(IXMLDOMNode_selectNodes(elem1Node, _bstr_("//*[name()='foo:c']"), &list));
+    hr = IXMLDOMNode_selectNodes(elem1Node, _bstr_("//*[name()='foo:c']"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E4.E2.D1");
 
     /* it has to be declared in SelectionNamespaces */
-    ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
-        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29'")));
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
+        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29'"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* now the namespace can be used */
-    ole_check(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//test:c"), &list));
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//test:c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E3.E2.D1 E3.E4.E2.D1");
-    ole_check(IXMLDOMNode_selectNodes(rootNode, _bstr_(".//test:c"), &list));
+    hr = IXMLDOMNode_selectNodes(rootNode, _bstr_(".//test:c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E3.E2.D1 E3.E4.E2.D1");
-    ole_check(IXMLDOMNode_selectNodes(elem1Node, _bstr_("//test:c"), &list));
+    hr = IXMLDOMNode_selectNodes(elem1Node, _bstr_("//test:c"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E3.E3.E2.D1 E3.E4.E2.D1");
-    ole_check(IXMLDOMNode_selectNodes(elem1Node, _bstr_(".//test:x"), &list));
+    hr = IXMLDOMNode_selectNodes(elem1Node, _bstr_(".//test:x"), &list);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_list_and_release(list, "E6.E1.E5.E1.E2.D1 E6.E2.E5.E1.E2.D1");
 
     /* SelectionNamespaces syntax error - the namespaces doesn't work anymore but the value is stored */
-    ole_expect(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
-        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29' xmlns:foo=###")), E_FAIL);
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
+        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29' xmlns:foo=###"));
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
-    ole_expect(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list), E_FAIL);
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     VariantInit(&var);
-    ole_check(IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     expect_eq(V_VT(&var), VT_BSTR, int, "%x");
     if (V_VT(&var) == VT_BSTR)
         expect_bstr_eq_and_free(V_BSTR(&var), "xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29' xmlns:foo=###");
 
     /* extra attributes - same thing*/
-    ole_expect(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
-        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29' param='test'")), E_FAIL);
-    ole_expect(IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list), E_FAIL);
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
+        _variantbstr_("xmlns:test='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29' param='test'"));
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//foo:c"), &list);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMNode_Release(rootNode);
     IXMLDOMNode_Release(elem1Node);
 
     /* alter document with already built list */
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_LIST_LEN(list, 1);
 
     hr = IXMLDOMDocument2_get_lastChild(doc, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(rootNode, 1);
     EXPECT_REF(doc, 1);
 
     hr = IXMLDOMDocument2_removeChild(doc, rootNode, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(rootNode);
 
     EXPECT_LIST_LEN(list, 1);
 
     hr = IXMLDOMNodeList_get_item(list, 0, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(rootNode, 1);
 
     IXMLDOMNodeList_Release(list);
 
     hr = IXMLDOMNode_get_nodeName(rootNode, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"root"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(rootNode);
 
     /* alter node from list and get it another time */
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_LIST_LEN(list, 1);
 
     hr = IXMLDOMNodeList_get_item(list, 0, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_QueryInterface(rootNode, &IID_IXMLDOMElement, (void**)&elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_I2;
     V_I2(&var) = 1;
     hr = IXMLDOMElement_setAttribute(elem, _bstr_("attrtest"), var);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(elem);
     IXMLDOMNode_Release(rootNode);
 
     /* now check attribute to be present */
     hr = IXMLDOMNodeList_get_item(list, 0, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_QueryInterface(rootNode, &IID_IXMLDOMElement, (void**)&elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("attrtest"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release(attr);
 
     IXMLDOMElement_Release(elem);
@@ -5169,10 +5264,10 @@ if (0)
 
     /* and now check for attribute in original document */
     hr = IXMLDOMDocument2_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("attrtest"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release(attr);
 
     IXMLDOMElement_Release(elem);
@@ -5181,19 +5276,19 @@ if (0)
     doc2 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_LIST_LEN(list, 1);
 
     hr = IXMLDOMNodeList_get_item(list, 0, &rootNode);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(rootNode, 1);
 
     hr = IXMLDOMDocument_appendChild(doc2, rootNode, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(rootNode, 1);
     EXPECT_REF(doc2, 1);
     EXPECT_REF(list, 1);
@@ -5210,7 +5305,7 @@ if (0)
         if (is_clsid_supported(ptr->clsid, &IID_IXMLDOMDocument2))
         {
             hr = CoCreateInstance(ptr->clsid, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (void**)&doc);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         }
         else
         {
@@ -5219,27 +5314,27 @@ if (0)
         }
 
         hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load, %s\n", ptr->name);
 
         hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = _bstr_(ptr->ns);
 
         hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), var);
-        ok(hr == ptr->hr, "got 0x%08x, for %s, %s\n", hr, ptr->name, ptr->ns);
+        ok(hr == ptr->hr, "Unexpected hr %#lx., for %s, %s\n", hr, ptr->name, ptr->ns);
 
         V_VT(&var) = VT_EMPTY;
         hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&var) == VT_BSTR, "got wrong property type %d\n", V_VT(&var));
         ok(!lstrcmpW(V_BSTR(&var), _bstr_(ptr->ns)), "got wrong value %s\n", wine_dbgstr_w(V_BSTR(&var)));
         VariantClear(&var);
 
         hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("root//test:c"), &list);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if (hr == S_OK)
             expect_list_and_release(list, "E3.E3.E2.D1 E3.E4.E2.D1");
 
@@ -5269,38 +5364,38 @@ static void test_cloneNode(void )
     doc = create_document(&IID_IXMLDOMDocument2);
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(complete4A), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionLanguage"), &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(V_BSTR(&v), L"XSLPattern"), "got prop value %s\n", wine_dbgstr_w(V_BSTR(&v)));
     VariantClear(&v);
 
     V_BSTR(&v) = _bstr_("XPath");
     V_VT(&v) = VT_BSTR;
     hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* clone document node */
     hr = IXMLDOMDocument2_cloneNode(doc, VARIANT_TRUE, &node);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok( node != NULL, "node %p\n", node );
 
     hr = IXMLDOMNode_get_childNodes(node, &pList);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     length = 0;
     hr = IXMLDOMNodeList_get_length(pList, &length);
-    ok( hr == S_OK, "ret %08x\n", hr );
-    ok(length == 2, "got %d\n", length);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok(length == 2, "got %ld\n", length);
     IXMLDOMNodeList_Release(pList);
 
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMDocument2, (void**)&doc_clone);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* cloned document inherits properties */
     hr = IXMLDOMDocument2_getProperty(doc_clone, _bstr_("SelectionLanguage"), &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(V_BSTR(&v), L"XPath"), "got prop value %s\n", wine_dbgstr_w(V_BSTR(&v)));
     VariantClear(&v);
 
@@ -5308,90 +5403,90 @@ static void test_cloneNode(void )
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMDocument2_selectSingleNode(doc, _bstr_("lc/pr"), &node);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok( node != NULL, "node %p\n", node );
 
     /* Check invalid parameter */
     hr = IXMLDOMNode_cloneNode(node, VARIANT_TRUE, NULL);
-    ok( hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     /* All Children */
     hr = IXMLDOMNode_cloneNode(node, VARIANT_TRUE, &node_clone);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok( node_clone != NULL, "node %p\n", node );
 
     hr = IXMLDOMNode_get_firstChild(node_clone, &node_first);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IXMLDOMNode_get_ownerDocument(node_clone, &doc2);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     IXMLDOMDocument_Release(doc2);
     IXMLDOMNode_Release(node_first);
 
     hr = IXMLDOMNode_get_childNodes(node, &pList);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     length = 0;
     hr = IXMLDOMNodeList_get_length(pList, &length);
-    ok( hr == S_OK, "ret %08x\n", hr );
-    ok(length == 1, "got %d\n", length);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok(length == 1, "got %ld\n", length);
     IXMLDOMNodeList_Release(pList);
 
     hr = IXMLDOMNode_get_attributes(node, &mapAttr);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     attr_cnt = 0;
     hr = IXMLDOMNamedNodeMap_get_length(mapAttr, &attr_cnt);
-    ok( hr == S_OK, "ret %08x\n", hr );
-    ok(attr_cnt == 3, "got %d\n", attr_cnt);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok(attr_cnt == 3, "got %ld\n", attr_cnt);
     IXMLDOMNamedNodeMap_Release(mapAttr);
 
     hr = IXMLDOMNode_get_childNodes(node_clone, &pList);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     length1 = 0;
     hr = IXMLDOMNodeList_get_length(pList, &length1);
-    ok(length1 == 1, "got %d\n", length1);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok(length1 == 1, "got %ld\n", length1);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     IXMLDOMNodeList_Release(pList);
 
     hr = IXMLDOMNode_get_attributes(node_clone, &mapAttr);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     attr_cnt1 = 0;
     hr = IXMLDOMNamedNodeMap_get_length(mapAttr, &attr_cnt1);
-    ok( hr == S_OK, "ret %08x\n", hr );
-    ok(attr_cnt1 == 3, "got %d\n", attr_cnt1);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok(attr_cnt1 == 3, "got %ld\n", attr_cnt1);
     /* now really get some attributes from cloned element */
     attr = NULL;
     hr = IXMLDOMNamedNodeMap_getNamedItem(mapAttr, _bstr_("id"), &attr);
-    ok(hr == S_OK, "ret %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(attr);
     IXMLDOMNamedNodeMap_Release(mapAttr);
 
-    ok(length == length1, "wrong Child count (%d, %d)\n", length, length1);
-    ok(attr_cnt == attr_cnt1, "wrong Attribute count (%d, %d)\n", attr_cnt, attr_cnt1);
+    ok(length == length1, "wrong Child count (%ld, %ld)\n", length, length1);
+    ok(attr_cnt == attr_cnt1, "wrong Attribute count (%ld, %ld)\n", attr_cnt, attr_cnt1);
     IXMLDOMNode_Release(node_clone);
 
     /* No Children */
     hr = IXMLDOMNode_cloneNode(node, VARIANT_FALSE, &node_clone);
-    ok( hr == S_OK, "ret %08x\n", hr );
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok( node_clone != NULL, "node %p\n", node );
 
     hr = IXMLDOMNode_get_firstChild(node_clone, &node_first);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMNode_get_childNodes(node_clone, &pList);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IXMLDOMNodeList_get_length(pList, &length1);
-    ok(hr == S_OK, "ret %08x\n", hr );
-    ok( length1 == 0, "Length should be 0 (%d)\n", length1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok( length1 == 0, "Length should be 0 (%ld)\n", length1);
     IXMLDOMNodeList_Release(pList);
 
     hr = IXMLDOMNode_get_attributes(node_clone, &mapAttr);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IXMLDOMNamedNodeMap_get_length(mapAttr, &attr_cnt1);
-    ok(hr == S_OK, "ret %08x\n", hr );
-    ok(attr_cnt1 == 3, "Attribute count should be 3 (%d)\n", attr_cnt1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+    ok(attr_cnt1 == 3, "Attribute count should be 3 (%ld)\n", attr_cnt1);
     IXMLDOMNamedNodeMap_Release(mapAttr);
 
-    ok(length != length1, "wrong Child count (%d, %d)\n", length, length1);
-    ok(attr_cnt == attr_cnt1, "wrong Attribute count (%d, %d)\n", attr_cnt, attr_cnt1);
+    ok(length != length1, "wrong Child count (%ld, %ld)\n", length, length1);
+    ok(attr_cnt == attr_cnt1, "wrong Attribute count (%ld, %ld)\n", attr_cnt, attr_cnt1);
     IXMLDOMNode_Release(node_clone);
 
     IXMLDOMNode_Release(node);
@@ -5420,76 +5515,76 @@ static void test_xmlTypes(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_nextSibling(doc, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     pNextChild = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_get_nextSibling(doc, &pNextChild);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok(pNextChild == NULL, "pDocChild not NULL\n");
 
     /* test previous Sibling */
     hr = IXMLDOMDocument_get_previousSibling(doc, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     pNextChild = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_get_previousSibling(doc, &pNextChild);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok(pNextChild == NULL, "pNextChild not NULL\n");
 
     /* test get_dataType */
     V_VT(&v) = VT_EMPTY;
     hr = IXMLDOMDocument_get_dataType(doc, &v);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok( V_VT(&v) == VT_NULL, "incorrect dataType type\n");
     VariantClear(&v);
 
     /* test implementation */
     hr = IXMLDOMDocument_get_implementation(doc, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMDocument_get_implementation(doc, &pIXMLDOMImplementation);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     if(hr == S_OK)
     {
         VARIANT_BOOL hasFeature = VARIANT_TRUE;
         BSTR sEmpty = SysAllocStringLen(NULL, 0);
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, NULL, sEmpty, &hasFeature);
-        ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, sEmpty, sEmpty, NULL);
-        ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("DOM"), sEmpty, &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_FALSE, "hasFeature returned false\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, sEmpty, sEmpty, &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_FALSE, "hasFeature returned true\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("DOM"), NULL, &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_TRUE, "hasFeature returned false\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("DOM"), sEmpty, &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_FALSE, "hasFeature returned false\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("DOM"), _bstr_("1.0"), &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_TRUE, "hasFeature returned true\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("XML"), _bstr_("1.0"), &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_TRUE, "hasFeature returned true\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("MS-DOM"), _bstr_("1.0"), &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_TRUE, "hasFeature returned true\n");
 
         hr = IXMLDOMImplementation_hasFeature(pIXMLDOMImplementation, _bstr_("SSS"), NULL, &hasFeature);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(hasFeature == VARIANT_FALSE, "hasFeature returned false\n");
 
         SysFreeString(sEmpty);
@@ -5498,309 +5593,309 @@ static void test_xmlTypes(void)
 
     pRoot = (IXMLDOMElement*)0x1;
     hr = IXMLDOMDocument_createElement(doc, NULL, &pRoot);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
     ok(pRoot == (void*)0x1, "Expect same ptr, got %p\n", pRoot);
 
     pRoot = (IXMLDOMElement*)0x1;
     hr = IXMLDOMDocument_createElement(doc, _bstr_(""), &pRoot);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
     ok(pRoot == (void*)0x1, "Expect same ptr, got %p\n", pRoot);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &pRoot);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     if(hr == S_OK)
     {
         hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)pRoot, NULL);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         if(hr == S_OK)
         {
             /* Comment */
             str = SysAllocString(L"A Comment");
             hr = IXMLDOMDocument_createComment(doc, str, &pComment);
             SysFreeString(str);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 hr = IXMLDOMElement_appendChild(pRoot, (IXMLDOMNode*)pComment, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_nodeName(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"#comment" ), "incorrect comment node Name\n");
                 SysFreeString(str);
 
                 hr = IXMLDOMComment_get_xml(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"<!--A Comment-->" ), "incorrect comment xml\n");
                 SysFreeString(str);
 
                 /* put data Tests */
                 hr = IXMLDOMComment_put_data(pComment, _bstr_("This &is a ; test <>\\"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* get data Tests */
                 hr = IXMLDOMComment_get_data(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect get_data string\n");
                 SysFreeString(str);
 
                 /* Confirm XML text is good */
                 hr = IXMLDOMComment_get_xml(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"<!--This &is a ; test <>\\-->"), "incorrect xml string\n");
                 SysFreeString(str);
 
                 /* Confirm we get the put_data Text back */
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect xml string\n");
                 SysFreeString(str);
 
                 /* test length property */
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 21, "expected 21 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 21, "expected 21 got %ld\n", len);
 
                 /* test substringData */
                 hr = IXMLDOMComment_substringData(pComment, 0, 4, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 /* test substringData - Invalid offset */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMComment_substringData(pComment, -1, 4, &str);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid offset */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMComment_substringData(pComment, 30, 0, &str);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid size */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMComment_substringData(pComment, 0, -1, &str);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid size */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMComment_substringData(pComment, 2, 0, &str);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Start of string */
                 hr = IXMLDOMComment_substringData(pComment, 0, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test substringData - Middle of string */
                 hr = IXMLDOMComment_substringData(pComment, 13, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"test"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test substringData - End of string */
                 hr = IXMLDOMComment_substringData(pComment, 20, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"\\"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test appendData */
                 hr = IXMLDOMComment_appendData(pComment, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_appendData(pComment, _bstr_(""));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_appendData(pComment, _bstr_("Append"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\Append"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* test insertData */
                 str = SysAllocStringLen(NULL, 0);
                 hr = IXMLDOMComment_insertData(pComment, -1, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, -1, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 1000, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 1000, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 0, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 0, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 SysFreeString(str);
 
                 hr = IXMLDOMComment_insertData(pComment, -1, _bstr_("Inserting"));
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 1000, _bstr_("Inserting"));
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 0, _bstr_("Begin "));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 17, _bstr_("Middle"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 39, _bstr_(" End"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"Begin This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete data */
                 /* invalid arguments */
                 hr = IXMLDOMComment_deleteData(pComment, -1, 1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_deleteData(pComment, 0, 0);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_deleteData(pComment, 0, -1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 43, "expected 43 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 43, "expected 43 got %ld\n", len);
 
                 hr = IXMLDOMComment_deleteData(pComment, len, 1);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_deleteData(pComment, len+1, 1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 /* delete from start */
                 hr = IXMLDOMComment_deleteData(pComment, 0, 5);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 38, "expected 38 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 38, "expected 38 got %ld\n", len);
 
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L" This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete from end */
                 hr = IXMLDOMComment_deleteData(pComment, 35, 3);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 35, "expected 35 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 35, "expected 35 got %ld\n", len);
 
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L" This &is a Middle; test <>\\Append "), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete from inside */
                 hr = IXMLDOMComment_deleteData(pComment, 1, 33);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 2, "expected 2 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 2, "expected 2 got %ld\n", len);
 
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"  "), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete whole data ... */
                 hr = IXMLDOMComment_get_length(pComment, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_deleteData(pComment, 0, len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 /* ... and try again with empty string */
                 hr = IXMLDOMComment_deleteData(pComment, 0, len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* ::replaceData() */
                 V_VT(&v) = VT_BSTR;
                 V_BSTR(&v) = SysAllocString(L"str1");
                 hr = IXMLDOMComment_put_nodeValue(pComment, v);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 VariantClear(&v);
 
                 hr = IXMLDOMComment_replaceData(pComment, 6, 0, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 hr = IXMLDOMComment_replaceData(pComment, 0, 0, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* NULL pointer means delete */
                 hr = IXMLDOMComment_replaceData(pComment, 0, 1, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"tr1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* empty string means delete */
                 hr = IXMLDOMComment_replaceData(pComment, 0, 1, _bstr_(""));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"r1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* zero count means insert */
                 hr = IXMLDOMComment_replaceData(pComment, 0, 0, _bstr_("a"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"ar1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 hr = IXMLDOMComment_replaceData(pComment, 0, 2, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMComment_insertData(pComment, 0, _bstr_("m"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"m1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* nonempty string, count greater than its length */
                 hr = IXMLDOMComment_replaceData(pComment, 0, 2, _bstr_("a1.2"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"a1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* nonempty string, count less than its length */
                 hr = IXMLDOMComment_replaceData(pComment, 0, 1, _bstr_("wine"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMComment_get_text(pComment, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"wine1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
@@ -5811,91 +5906,91 @@ static void test_xmlTypes(void)
             str = SysAllocString(L"EleTest");
             hr = IXMLDOMDocument_createElement(doc, str, &pElement);
             SysFreeString(str);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 hr = IXMLDOMElement_appendChild(pRoot, (IXMLDOMNode*)pElement, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMElement_get_nodeName(pElement, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"EleTest" ), "incorrect element node Name\n");
                 SysFreeString(str);
 
                 hr = IXMLDOMElement_get_xml(pElement, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"<EleTest/>" ), "incorrect element xml\n");
                 SysFreeString(str);
 
                 /* Attribute */
                 pAttribute = (IXMLDOMAttribute*)0x1;
                 hr = IXMLDOMDocument_createAttribute(doc, NULL, &pAttribute);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 ok(pAttribute == (void*)0x1, "Expect same ptr, got %p\n", pAttribute);
 
                 pAttribute = (IXMLDOMAttribute*)0x1;
                 hr = IXMLDOMDocument_createAttribute(doc, _bstr_(""), &pAttribute);
-                ok(hr == E_FAIL, "ret %08x\n", hr );
+                ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
                 ok(pAttribute == (void*)0x1, "Expect same ptr, got %p\n", pAttribute);
 
                 str = SysAllocString(L"Attr");
                 hr = IXMLDOMDocument_createAttribute(doc, str, &pAttribute);
                 SysFreeString(str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 if(hr == S_OK)
                 {
                     IXMLDOMNode *pNewChild = (IXMLDOMNode *)0x1;
 
                     hr = IXMLDOMAttribute_get_nextSibling(pAttribute, NULL);
-                    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                     pNextChild = (IXMLDOMNode *)0x1;
                     hr = IXMLDOMAttribute_get_nextSibling(pAttribute, &pNextChild);
-                    ok(hr == S_FALSE, "ret %08x\n", hr );
+                    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                     ok(pNextChild == NULL, "pNextChild not NULL\n");
 
                     /* test Previous Sibling*/
                     hr = IXMLDOMAttribute_get_previousSibling(pAttribute, NULL);
-                    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                     pNextChild = (IXMLDOMNode *)0x1;
                     hr = IXMLDOMAttribute_get_previousSibling(pAttribute, &pNextChild);
-                    ok(hr == S_FALSE, "ret %08x\n", hr );
+                    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                     ok(pNextChild == NULL, "pNextChild not NULL\n");
 
                     hr = IXMLDOMElement_appendChild(pElement, (IXMLDOMNode*)pAttribute, &pNewChild);
-                    ok(hr == E_FAIL, "ret %08x\n", hr );
+                    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
                     ok(pNewChild == NULL, "pNewChild not NULL\n");
 
                     hr = IXMLDOMElement_get_attributes(pElement, &pAttribs);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     if ( hr == S_OK )
                     {
                         hr = IXMLDOMNamedNodeMap_setNamedItem(pAttribs, (IXMLDOMNode*)pAttribute, NULL );
-                        ok(hr == S_OK, "ret %08x\n", hr );
+                        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                         IXMLDOMNamedNodeMap_Release(pAttribs);
                     }
 
                     hr = IXMLDOMAttribute_get_nodeName(pAttribute, &str);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     ok( !lstrcmpW( str, L"Attr" ), "incorrect attribute node Name\n");
                     SysFreeString(str);
 
                     /* test nodeName */
                     hr = IXMLDOMAttribute_get_nodeName(pAttribute, &str);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     ok( !lstrcmpW( str, L"Attr" ), "incorrect nodeName string\n");
                     SysFreeString(str);
 
                     /* test name property */
                     hr = IXMLDOMAttribute_get_name(pAttribute, &str);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     ok( !lstrcmpW( str, L"Attr" ), "incorrect name string\n");
                     SysFreeString(str);
 
                     hr = IXMLDOMAttribute_get_xml(pAttribute, &str);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     ok( !lstrcmpW( str, L"Attr=\"\"" ), "incorrect attribute xml\n");
                     SysFreeString(str);
 
@@ -5903,32 +5998,32 @@ static void test_xmlTypes(void)
 
                     /* Check Element again with the Add Attribute*/
                     hr = IXMLDOMElement_get_xml(pElement, &str);
-                    ok(hr == S_OK, "ret %08x\n", hr );
+                    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                     ok( !lstrcmpW( str, L"<EleTest Attr=\"\"/>" ), "incorrect element xml\n");
                     SysFreeString(str);
                 }
 
                 hr = IXMLDOMElement_put_text(pElement, _bstr_("TestingNode"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMElement_get_xml(pElement, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"<EleTest Attr=\"\">TestingNode</EleTest>" ), "incorrect element xml\n");
                 SysFreeString(str);
 
                 /* Test for reversible escaping */
                 str = SysAllocString( szStrangeChars );
                 hr = IXMLDOMElement_put_text(pElement, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 SysFreeString( str );
 
                 hr = IXMLDOMElement_get_xml(pElement, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"<EleTest Attr=\"\">&x \x2103</EleTest>" ), "incorrect element xml\n");
                 SysFreeString(str);
 
                 hr = IXMLDOMElement_get_text(pElement, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, szStrangeChars ), "incorrect element text\n");
                 SysFreeString(str);
 
@@ -5938,11 +6033,11 @@ static void test_xmlTypes(void)
             /* CData Section */
             str = SysAllocString(L"[1]*2=3; &gee that is not right!");
             hr = IXMLDOMDocument_createCDATASection(doc, str, NULL);
-            ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
             hr = IXMLDOMDocument_createCDATASection(doc, str, &pCDataSec);
             SysFreeString(str);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 IXMLDOMNode *pNextChild = (IXMLDOMNode *)0x1;
@@ -5951,295 +6046,295 @@ static void test_xmlTypes(void)
                 VariantInit(&var);
 
                 hr = IXMLDOMCDATASection_QueryInterface(pCDataSec, &IID_IXMLDOMElement, (void**)&pElement);
-                ok(hr == E_NOINTERFACE, "ret %08x\n", hr);
+                ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
                 hr = IXMLDOMElement_appendChild(pRoot, (IXMLDOMNode*)pCDataSec, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_nodeName(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"#cdata-section" ), "incorrect cdata node Name\n");
                 SysFreeString(str);
 
                 hr = IXMLDOMCDATASection_get_xml(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"<![CDATA[[1]*2=3; &gee that is not right!]]>" ), "incorrect cdata xml\n");
                 SysFreeString(str);
 
                 /* test lastChild */
                 pNextChild = (IXMLDOMNode*)0x1;
                 hr = IXMLDOMCDATASection_get_lastChild(pCDataSec, &pNextChild);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok(pNextChild == NULL, "pNextChild not NULL\n");
 
                 /* put data Tests */
                 hr = IXMLDOMCDATASection_put_data(pCDataSec, _bstr_("This &is a ; test <>\\"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* Confirm XML text is good */
                 hr = IXMLDOMCDATASection_get_xml(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"<![CDATA[This &is a ; test <>\\]]>"), "incorrect xml string\n");
                 SysFreeString(str);
 
                 /* Confirm we get the put_data Text back */
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect text string\n");
                 SysFreeString(str);
 
                 /* test length property */
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 21, "expected 21 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 21, "expected 21 got %ld\n", len);
 
                 /* test get data */
                 hr = IXMLDOMCDATASection_get_data(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\"), "incorrect text string\n");
                 SysFreeString(str);
 
                 /* test substringData */
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 0, 4, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 /* test substringData - Invalid offset */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, -1, 4, &str);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid offset */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 30, 0, &str);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid size */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 0, -1, &str);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Invalid size */
                 str = (void *)0xdeadbeef;
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 2, 0, &str);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok( str == NULL, "incorrect string\n");
 
                 /* test substringData - Start of string */
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 0, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test substringData - Middle of string */
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 13, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"test"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test substringData - End of string */
                 hr = IXMLDOMCDATASection_substringData(pCDataSec, 20, 4, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"\\"), "incorrect substringData string\n");
                 SysFreeString(str);
 
                 /* test appendData */
                 hr = IXMLDOMCDATASection_appendData(pCDataSec, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_appendData(pCDataSec, _bstr_(""));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_appendData(pCDataSec, _bstr_("Append"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"This &is a ; test <>\\Append"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* test insertData */
                 str = SysAllocStringLen(NULL, 0);
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, -1, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, -1, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 1000, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 1000, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 0, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 0, str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 SysFreeString(str);
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, -1, _bstr_("Inserting"));
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 1000, _bstr_("Inserting"));
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 0, _bstr_("Begin "));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 17, _bstr_("Middle"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 39, _bstr_(" End"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"Begin This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete data */
                 /* invalid arguments */
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, -1, 1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 0, 0);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 0, -1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 43, "expected 43 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 43, "expected 43 got %ld\n", len);
 
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, len, 1);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, len+1, 1);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 /* delete from start */
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 0, 5);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 38, "expected 38 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 38, "expected 38 got %ld\n", len);
 
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L" This &is a Middle; test <>\\Append End"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete from end */
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 35, 3);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 35, "expected 35 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 35, "expected 35 got %ld\n", len);
 
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L" This &is a Middle; test <>\\Append "), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete from inside */
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 1, 33);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
-                ok(len == 2, "expected 2 got %d\n", len);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
+                ok(len == 2, "expected 2 got %ld\n", len);
 
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"  "), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* delete whole data ... */
                 hr = IXMLDOMCDATASection_get_length(pCDataSec, &len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 0, len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* ... and try again with empty string */
                 hr = IXMLDOMCDATASection_deleteData(pCDataSec, 0, len);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* ::replaceData() */
                 V_VT(&v) = VT_BSTR;
                 V_BSTR(&v) = SysAllocString(L"str1");
                 hr = IXMLDOMCDATASection_put_nodeValue(pCDataSec, v);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 VariantClear(&v);
 
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 6, 0, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 0, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"str1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* NULL pointer means delete */
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 1, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"tr1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* empty string means delete */
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 1, _bstr_(""));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"r1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* zero count means insert */
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 0, _bstr_("a"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"ar1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 2, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMCDATASection_insertData(pCDataSec, 0, _bstr_("m"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"m1"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* nonempty string, count greater than its length */
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 2, _bstr_("a1.2"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"a1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
                 /* nonempty string, count less than its length */
                 hr = IXMLDOMCDATASection_replaceData(pCDataSec, 0, 1, _bstr_("wine"));
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 hr = IXMLDOMCDATASection_get_text(pCDataSec, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok(!lstrcmpW(str, L"wine1.2"), "incorrect get_text string, got '%s'\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
@@ -6248,46 +6343,46 @@ static void test_xmlTypes(void)
 
             /* Document Fragments */
             hr = IXMLDOMDocument_createDocumentFragment(doc, NULL);
-            ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
             hr = IXMLDOMDocument_createDocumentFragment(doc, &pDocFrag);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 IXMLDOMNode *node;
 
                 hr = IXMLDOMDocumentFragment_get_parentNode(pDocFrag, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 node = (IXMLDOMNode *)0x1;
                 hr = IXMLDOMDocumentFragment_get_parentNode(pDocFrag, &node);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok(node == NULL, "expected NULL, got %p\n", node);
 
                 hr = IXMLDOMElement_appendChild(pRoot, (IXMLDOMNode*)pDocFrag, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 hr = IXMLDOMDocumentFragment_get_nodeName(pDocFrag, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"#document-fragment" ), "incorrect docfragment node Name\n");
                 SysFreeString(str);
 
                 /* test next Sibling*/
                 hr = IXMLDOMDocumentFragment_get_nextSibling(pDocFrag, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 node = (IXMLDOMNode *)0x1;
                 hr = IXMLDOMDocumentFragment_get_nextSibling(pDocFrag, &node);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok(node == NULL, "next sibling not NULL\n");
 
                 /* test Previous Sibling*/
                 hr = IXMLDOMDocumentFragment_get_previousSibling(pDocFrag, NULL);
-                ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
                 node = (IXMLDOMNode *)0x1;
                 hr = IXMLDOMDocumentFragment_get_previousSibling(pDocFrag, &node);
-                ok(hr == S_FALSE, "ret %08x\n", hr );
+                ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
                 ok(node == NULL, "previous sibling not NULL\n");
 
                 IXMLDOMDocumentFragment_Release(pDocFrag);
@@ -6295,25 +6390,25 @@ static void test_xmlTypes(void)
 
             /* Entity References */
             hr = IXMLDOMDocument_createEntityReference(doc, NULL, &pEntityRef);
-            ok(hr == E_FAIL, "ret %08x\n", hr );
+            ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
             hr = IXMLDOMDocument_createEntityReference(doc, _bstr_(""), &pEntityRef);
-            ok(hr == E_FAIL, "ret %08x\n", hr );
+            ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
 
             str = SysAllocString(L"entityref");
             hr = IXMLDOMDocument_createEntityReference(doc, str, NULL);
-            ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
             hr = IXMLDOMDocument_createEntityReference(doc, str, &pEntityRef);
             SysFreeString(str);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 hr = IXMLDOMElement_appendChild(pRoot, (IXMLDOMNode*)pEntityRef, NULL);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
                 /* test get_xml*/
                 hr = IXMLDOMEntityReference_get_xml(pEntityRef, &str);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 ok( !lstrcmpW( str, L"&entityref;" ), "incorrect xml string\n");
                 SysFreeString(str);
 
@@ -6390,28 +6485,28 @@ static void test_put_dataType( void )
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &root);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)root, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_put_dataType(root, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     while (ptr->name)
     {
         hr = IXMLDOMDocument_createElement(doc, _bstr_(ptr->name), &element);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if(hr == S_OK)
         {
             hr = IXMLDOMElement_appendChild(root, (IXMLDOMNode*)element, NULL);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             hr = IXMLDOMElement_put_dataType(element, _bstr_(ptr->type));
-            ok(hr == ptr->hr, "failed for %s:%s, 0x%08x\n", ptr->name, ptr->type, ptr->hr);
+            ok(hr == ptr->hr, "failed for %s:%s, %#lx.\n", ptr->name, ptr->type, ptr->hr);
 
             IXMLDOMElement_Release(element);
         }
@@ -6420,16 +6515,16 @@ static void test_put_dataType( void )
 
     /* check changing types */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing_Change"), &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_appendChild(root, (IXMLDOMNode*)element, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_put_dataType(element, _bstr_("DateTime.tz"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_put_dataType(element, _bstr_("string"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMElement_Release(element);
 
@@ -6446,19 +6541,19 @@ static void test_put_dataType( void )
         V_I2(&type) = ptr2->type;
 
         hr = IXMLDOMDocument_createNode(doc, type, nameW, NULL, &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if(hr == S_OK)
         {
             hr = IXMLDOMElement_appendChild(root, node, NULL);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             hr = IXMLDOMNode_put_dataType(node, NULL);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             hr = IXMLDOMNode_put_dataType(node, type1W);
-            ok(hr == ptr2->hr, "failed for type %d, 0x%08x\n", ptr2->type, ptr->hr);
+            ok(hr == ptr2->hr, "failed for type %d, %#lx\n", ptr2->type, ptr->hr);
             hr = IXMLDOMNode_put_dataType(node, type2W);
-            ok(hr == ptr2->hr, "failed for type %d, 0x%08x\n", ptr2->type, ptr->hr);
+            ok(hr == ptr2->hr, "failed for type %d, %#lx\n", ptr2->type, ptr->hr);
 
             IXMLDOMNode_Release(node);
         }
@@ -6492,22 +6587,22 @@ static void test_save(void)
 
     /* save to IXMLDOMDocument */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &root);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)root, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)doc2;
 
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_xml(doc, &sOrig);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_xml(doc2, &sNew);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok( !lstrcmpW( sOrig, sNew ), "New document is not the same as original\n");
 
@@ -6522,10 +6617,10 @@ static void test_save(void)
     V_BSTR(&dest) = _bstr_("test.xml");
 
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hfile = CreateFileA("test.xml", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
-    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %u\n", GetLastError());
+    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %lu\n", GetLastError());
     if(hfile == INVALID_HANDLE_VALUE) return;
 
     ReadFile(hfile, buffer, sizeof(buffer), &read, NULL);
@@ -6541,10 +6636,10 @@ static void test_save(void)
     V_BSTRREF(&dest) = &filename;
 
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hfile = CreateFileA("test.xml", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
-    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %u\n", GetLastError());
+    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %lu\n", GetLastError());
     if(hfile == INVALID_HANDLE_VALUE) return;
 
     if (hfile != INVALID_HANDLE_VALUE)
@@ -6562,21 +6657,21 @@ static void test_save(void)
     V_UNKNOWN(&dest) = (IUnknown*)&savestream;
 
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* loaded data contains xml declaration */
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(win1252xml), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &global);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ptr = GlobalLock(global);
     ok(!memcmp(ptr, win1252decl, strlen(win1252decl)), "got wrong xml declaration\n");
     GlobalUnlock(global);
@@ -6584,17 +6679,17 @@ static void test_save(void)
 
     /* loaded data without xml declaration */
     hr = IXMLDOMDocument_loadXML(doc, _bstr_("<a/>"), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &global);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ptr = GlobalLock(global);
     ok(ptr[0] == '<' && ptr[1] != '?', "got wrong start tag %c%c\n", ptr[0], ptr[1]);
     GlobalUnlock(global);
@@ -6606,31 +6701,31 @@ static void test_save(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &root);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)root, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("che"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = SysAllocString(L"\x0427");
     hr = IXMLDOMAttribute_put_value(attr, v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     hr = IXMLDOMElement_setAttributeNode(root, attr, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_BSTR;
     V_BSTR(&dest) = _bstr_("test.xml");
 
     hr = IXMLDOMDocument_save(doc, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hfile = CreateFileA("test.xml", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
-    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %u\n", GetLastError());
+    ok(hfile != INVALID_HANDLE_VALUE, "Could not open file: %lu\n", GetLastError());
     if (hfile != INVALID_HANDLE_VALUE)
     {
        ReadFile(hfile, buffer, sizeof(buffer), &read, NULL);
@@ -6659,19 +6754,19 @@ static void test_testTransforms(void)
     docSS = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szTransformXML), &bSucc);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMDocument_loadXML(docSS, _bstr_(szTransformSSXML), &bSucc);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMDocument_QueryInterface(docSS, &IID_IXMLDOMNode, (void**)&pNode );
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     if(hr == S_OK)
     {
         BSTR bOut;
 
         hr = IXMLDOMDocument_transformNode(doc, pNode, &bOut);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         if(hr == S_OK)
         {
             ok( compareIgnoreReturns( bOut, _bstr_(szTransformOutput)), "got output %s\n", wine_dbgstr_w(bOut));
@@ -6724,36 +6819,36 @@ static void test_namespaces_change(void)
 
         hr = CoCreateInstance(class_ptr->clsid, NULL, CLSCTX_INPROC_SERVER,
                               &IID_IXMLDOMDocument, (void**)&doc);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&var) = VT_I2;
         V_I2(&var) = NODE_ELEMENT;
 
         hr = IXMLDOMDocument_createNode(doc, var, _bstr_("ns:elem"), _bstr_("ns/uri"), &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_appendChild(doc, node, NULL);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* try same prefix, different uri */
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = _bstr_("ns/uri2");
 
         hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         /* try same prefix and uri */
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = _bstr_("ns/uri");
 
         hr = IXMLDOMElement_setAttribute(elem, _bstr_("xmlns:ns"), var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMElement_get_xml(elem, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"<ns:elem xmlns:ns=\"ns/uri\"/>"), "got element %s for %s\n",
            wine_dbgstr_w(str), class_ptr->name);
         SysFreeString(str);
@@ -6788,63 +6883,63 @@ static void test_namespaces_basic(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(namespaces_xmlA), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     str = (void *)0xdeadbeef;
     hr = IXMLDOMDocument_get_namespaceURI(doc, &str);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(str == NULL, "got %p\n", str);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("//XMI.content"), &node );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if(hr == S_OK)
     {
         IXMLDOMAttribute *attr;
         IXMLDOMNode *node2;
 
         hr = IXMLDOMNode_get_firstChild(node, &node2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(node2 != NULL, "got %p\n", node2);
 
         /* Test get_prefix */
         hr = IXMLDOMNode_get_prefix(node2, NULL);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         /* NOTE: Need to test that arg2 gets cleared on Error. */
 
         hr = IXMLDOMNode_get_prefix(node2, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"Model"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNode_get_nodeName(node2, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"Model:Package"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         /* Test get_namespaceURI */
         hr = IXMLDOMNode_get_namespaceURI(node2, NULL);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         /* NOTE: Need to test that arg2 gets cleared on Error. */
 
         hr = IXMLDOMNode_get_namespaceURI(node2, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"http://omg.org/mof.Model/1.3"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNode_QueryInterface(node2, &IID_IXMLDOMElement, (void**)&elem);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("Model:name2"), &attr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMAttribute_get_nodeName(attr, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"Model:name2"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMAttribute_get_prefix(attr, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"Model"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
@@ -6873,17 +6968,17 @@ static void test_FormattingXML(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szLinefeedXML), &bSucc);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(bSucc == VARIANT_TRUE, "Expected VARIANT_TRUE got VARIANT_FALSE\n");
 
     if(bSucc == VARIANT_TRUE)
     {
         hr = IXMLDOMDocument_get_documentElement(doc, &pElement);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         if(hr == S_OK)
         {
             hr = IXMLDOMElement_get_xml(pElement, &str);
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             ok( !lstrcmpW( str, _bstr_(szLinefeedRootXML) ), "incorrect element xml\n");
             SysFreeString(str);
 
@@ -6949,47 +7044,47 @@ static void test_nodeTypedValue(void)
 
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szTypeValueXML), &b);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXMLDOMDocument_get_nodeValue(doc, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     V_VT(&value) = VT_BSTR;
     V_BSTR(&value) = NULL;
     hr = IXMLDOMDocument_get_nodeValue(doc, &value);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok(V_VT(&value) == VT_NULL, "expect VT_NULL got %d\n", V_VT(&value));
 
     hr = IXMLDOMDocument_get_nodeTypedValue(doc, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMDocument_get_nodeTypedValue(doc, &value);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok(V_VT(&value) == VT_NULL, "got %d\n", V_VT(&value));
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("root/string"), &node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     V_VT(&value) = VT_BSTR;
     V_BSTR(&value) = NULL;
     hr = IXMLDOMNode_get_nodeValue(node, &value);
-    ok(hr == S_FALSE, "ret %08x\n", hr );
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
     ok(V_VT(&value) == VT_NULL, "expect VT_NULL got %d\n", V_VT(&value));
 
     hr = IXMLDOMNode_get_nodeTypedValue(node, NULL);
-    ok(hr == E_INVALIDARG, "ret %08x\n", hr );
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr );
 
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("root/binhex"), &node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     {
         BYTE bytes[] = {0xff,0xfc,0xa0,0x12,0x00,0x3c};
 
         hr = IXMLDOMNode_get_nodeTypedValue(node, &value);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == (VT_ARRAY|VT_UI1), "incorrect type\n");
         ok(V_ARRAY(&value)->rgsabound[0].cElements == 6, "incorrect array size\n");
         if(V_ARRAY(&value)->rgsabound[0].cElements == 6)
@@ -6999,12 +7094,12 @@ static void test_nodeTypedValue(void)
     }
 
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("foo"), _bstr_("value"), &pi);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     {
         V_VT(&value) = VT_NULL;
         V_BSTR(&value) = (void*)0xdeadbeef;
         hr = IXMLDOMProcessingInstruction_get_nodeTypedValue(pi, &value);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == VT_BSTR, "got %d\n", V_VT(&value));
         ok(!lstrcmpW(V_BSTR(&value), L"value"), "got wrong value\n");
         IXMLDOMProcessingInstruction_Release(pi);
@@ -7012,12 +7107,12 @@ static void test_nodeTypedValue(void)
     }
 
     hr = IXMLDOMDocument_createCDATASection(doc, _bstr_("[1]*2=3; &gee that's not right!"), &cdata);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     {
         V_VT(&value) = VT_NULL;
         V_BSTR(&value) = (void*)0xdeadbeef;
         hr = IXMLDOMCDATASection_get_nodeTypedValue(cdata, &value);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == VT_BSTR, "got %d\n", V_VT(&value));
         ok(!lstrcmpW(V_BSTR(&value), L"[1]*2=3; &gee that's not right!"), "got wrong value\n");
         IXMLDOMCDATASection_Release(cdata);
@@ -7025,12 +7120,12 @@ static void test_nodeTypedValue(void)
     }
 
     hr = IXMLDOMDocument_createComment(doc, _bstr_("comment"), &comment);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     {
         V_VT(&value) = VT_NULL;
         V_BSTR(&value) = (void*)0xdeadbeef;
         hr = IXMLDOMComment_get_nodeTypedValue(comment, &value);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == VT_BSTR, "got %d\n", V_VT(&value));
         ok(!lstrcmpW(V_BSTR(&value), L"comment"), "got wrong value\n");
         IXMLDOMComment_Release(comment);
@@ -7038,11 +7133,11 @@ static void test_nodeTypedValue(void)
     }
 
     hr = IXMLDOMDocument_createDocumentFragment(doc, &frag);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     {
         V_VT(&value) = VT_EMPTY;
         hr = IXMLDOMDocumentFragment_get_nodeTypedValue(frag, &value);
-        ok(hr == S_FALSE, "ret %08x\n", hr );
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == VT_NULL, "got %d\n", V_VT(&value));
         IXMLDOMDocumentFragment_Release(frag);
     }
@@ -7051,13 +7146,13 @@ static void test_nodeTypedValue(void)
 
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML(doc2, _bstr_(szEmailXML), &b);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     EXPECT_REF(doc2, 1);
 
     hr = IXMLDOMDocument_get_doctype(doc2, &doctype);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     EXPECT_REF(doc2, 1);
     todo_wine EXPECT_REF(doctype, 2);
@@ -7065,12 +7160,12 @@ static void test_nodeTypedValue(void)
     {
         V_VT(&value) = VT_EMPTY;
         hr = IXMLDOMDocumentType_get_nodeTypedValue(doctype, &value);
-        ok(hr == S_FALSE, "ret %08x\n", hr );
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == VT_NULL, "got %d\n", V_VT(&value));
     }
 
     hr = IXMLDOMDocument_get_doctype(doc2, &doctype2);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(doctype != doctype2, "got %p, was %p\n", doctype2, doctype);
 
     IXMLDOMDocumentType_Release(doctype2);
@@ -7081,16 +7176,16 @@ static void test_nodeTypedValue(void)
     while (entry->name)
     {
         hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_(entry->name), &node);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
         hr = IXMLDOMNode_get_nodeTypedValue(node, &value);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(V_VT(&value) == entry->type, "incorrect type, expected %d, got %d\n", entry->type, V_VT(&value));
 
         if (entry->type == (VT_ARRAY|VT_UI1))
         {
             ok(V_ARRAY(&value)->rgsabound[0].cElements == strlen(entry->value),
-               "incorrect array size %d\n", V_ARRAY(&value)->rgsabound[0].cElements);
+               "incorrect array size %ld\n", V_ARRAY(&value)->rgsabound[0].cElements);
         }
 
         if (entry->type != VT_BSTR)
@@ -7102,17 +7197,17 @@ static void test_nodeTypedValue(void)
                if (entry->type == VT_DATE)
                {
                    hr = VariantChangeType(&value, &value, 0, VT_R4);
-                   ok(hr == S_OK, "ret %08x\n", hr );
+                   ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                }
                hr = VariantChangeTypeEx(&value, &value,
                                         MAKELCID(MAKELANGID(LANG_ENGLISH, SUBLANG_DEFAULT), SORT_DEFAULT),
                                         VARIANT_NOUSEROVERRIDE, VT_BSTR);
-               ok(hr == S_OK, "ret %08x\n", hr );
+               ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
            }
            else
            {
                hr = VariantChangeType(&value, &value, 0, VT_BSTR);
-               ok(hr == S_OK, "ret %08x\n", hr );
+               ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
            }
 
            /* for byte array from VT_ARRAY|VT_UI1 it's not a WCHAR buffer */
@@ -7156,7 +7251,7 @@ static void test_TransformWithLoadingLocalFile(void)
     strcat(lpPathBuffer, "customers.xml" );
 
     file = CreateFileA(lpPathBuffer, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL );
-    ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
+    ok(file != INVALID_HANDLE_VALUE, "Could not create file: %lu\n", GetLastError());
     if(file == INVALID_HANDLE_VALUE)
         return;
 
@@ -7174,7 +7269,7 @@ static void test_TransformWithLoadingLocalFile(void)
     xsl = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szTypeValueXML), &bSucc);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(bSucc == VARIANT_TRUE, "Expected VARIANT_TRUE got VARIANT_FALSE\n");
     if(bSucc == VARIANT_TRUE)
     {
@@ -7190,19 +7285,19 @@ static void test_TransformWithLoadingLocalFile(void)
         lstrcatW(sXSL, sPart2);
 
         hr = IXMLDOMDocument_loadXML(xsl, sXSL, &bSucc);
-        ok(hr == S_OK, "ret %08x\n", hr );
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
         ok(bSucc == VARIANT_TRUE, "Expected VARIANT_TRUE got VARIANT_FALSE\n");
         if(bSucc == VARIANT_TRUE)
         {
             BSTR sResult;
 
             hr = IXMLDOMDocument_QueryInterface(xsl, &IID_IXMLDOMNode, (void**)&pNode );
-            ok(hr == S_OK, "ret %08x\n", hr );
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
             if(hr == S_OK)
             {
                 /* This will load the temp file via the XSL */
                 hr = IXMLDOMDocument_transformNode(doc, pNode, &sResult);
-                ok(hr == S_OK, "ret %08x\n", hr );
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
                 if(hr == S_OK)
                 {
                     ok( compareIgnoreReturns( sResult, _bstr_(szBasicTransformOutput)), "Stylesheet output not correct\n");
@@ -7238,70 +7333,70 @@ static void test_put_nodeValue(void)
     /* test for unsupported types */
     /* NODE_DOCUMENT */
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IXMLDOMNode, (void**)&node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("one two three");
     hr = IXMLDOMNode_put_nodeValue(node, data);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
     IXMLDOMNode_Release(node);
 
     /* NODE_DOCUMENT_FRAGMENT */
     V_VT(&type) = VT_I1;
     V_I1(&type) = NODE_DOCUMENT_FRAGMENT;
     hr = IXMLDOMDocument_createNode(doc, type, _bstr_("test"), NULL, &node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("one two three");
     hr = IXMLDOMNode_put_nodeValue(node, data);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
     IXMLDOMNode_Release(node);
 
     /* NODE_ELEMENT */
     V_VT(&type) = VT_I1;
     V_I1(&type) = NODE_ELEMENT;
     hr = IXMLDOMDocument_createNode(doc, type, _bstr_("test"), NULL, &node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("one two three");
     hr = IXMLDOMNode_put_nodeValue(node, data);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
     IXMLDOMNode_Release(node);
 
     /* NODE_ENTITY_REFERENCE */
     hr = IXMLDOMDocument_createEntityReference(doc, _bstr_("ref"), &entityref);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("one two three");
     hr = IXMLDOMEntityReference_put_nodeValue(entityref, data);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMEntityReference_QueryInterface(entityref, &IID_IXMLDOMNode, (void**)&node);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("one two three");
     hr = IXMLDOMNode_put_nodeValue(node, data);
-    ok(hr == E_FAIL, "ret %08x\n", hr );
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr );
     IXMLDOMNode_Release(node);
     IXMLDOMEntityReference_Release(entityref);
 
     /* supported types */
     hr = IXMLDOMDocument_createTextNode(doc, _bstr_(""), &text);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("Jeeves & Wooster");
     hr = IXMLDOMText_put_nodeValue(text, data);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     IXMLDOMText_Release(text);
 
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("attr"), &attr);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     V_VT(&data) = VT_BSTR;
     V_BSTR(&data) = _bstr_("Jeeves & Wooster");
     hr = IXMLDOMAttribute_put_nodeValue(attr, data);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     hr = IXMLDOMAttribute_get_nodeValue(attr, &data);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
     ok(!lstrcmpW(V_BSTR(&data), L"Jeeves & Wooster"), "got %s\n", wine_dbgstr_w(V_BSTR(&data)));
     VariantClear(&data);
     IXMLDOMAttribute_Release(attr);
@@ -7320,7 +7415,7 @@ static void test_IObjectSafety(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IObjectSafety, (void**)&safety);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     test_IObjectSafety_common(safety);
 
@@ -7329,7 +7424,7 @@ static void test_IObjectSafety(void)
 
     hr = CoCreateInstance(&CLSID_XMLHTTPRequest, NULL, CLSCTX_INPROC_SERVER,
         &IID_IObjectSafety, (void**)&safety);
-    ok(hr == S_OK, "Could not create XMLHTTPRequest instance: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     test_IObjectSafety_common(safety);
 
@@ -7370,10 +7465,10 @@ static void test_default_properties(void)
         }
 
         hr = CoCreateInstance(entry->guid, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (void**)&doc);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument2_getProperty(doc, _bstr_(entry->property), &var);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(lstrcmpW(V_BSTR(&var), _bstr_(entry->value)) == 0, "expected %s, for %s\n",
            entry->value, entry->clsid);
         VariantClear(&var);
@@ -7502,32 +7597,32 @@ static void test_XSLPattern(void)
 
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* switch to XSLPattern */
     hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* XPath doesn't select elements with non-null default namespace with unqualified selectors, XSLPattern does */
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("//elem/c"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 0;
     hr = IXMLDOMNodeList_get_length(list, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* should select <elem><c> and <elem xmlns='...'><c> but not <elem><foo:c> */
-    ok(len == 3, "expected 3 entries in list, got %d\n", len);
+    ok(len == 3, "expected 3 entries in list, got %ld\n", len);
     IXMLDOMNodeList_Release(list);
 
     while (ptr->query)
     {
         list = NULL;
         hr = IXMLDOMDocument2_selectNodes(doc, _bstr_(ptr->query), &list);
-        ok(hr == S_OK, "query=%s, failed with 0x%08x\n", ptr->query, hr);
+        ok(hr == S_OK, "query=%s, failed with %#lx\n", ptr->query, hr);
         len = 0;
         hr = IXMLDOMNodeList_get_length(list, &len);
-        ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(len != 0, "query=%s, empty list\n", ptr->query);
         if (len) {
             if (ptr->todo) {
@@ -7546,27 +7641,27 @@ static void test_XSLPattern(void)
     /* namespace handling */
     /* no registered namespaces */
     hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_(""));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ptr = xslpattern_test_no_ns;
     while (ptr->query)
     {
         list = NULL;
         hr = IXMLDOMDocument2_selectNodes(doc, _bstr_(ptr->query), &list);
-        ok(hr == S_OK, "query=%s, failed with 0x%08x\n", ptr->query, hr);
+        ok(hr == S_OK, "query=%s, failed with %#lx.\n", ptr->query, hr);
 
         if (*ptr->list)
         {
             len = 0;
             hr = IXMLDOMNodeList_get_length(list, &len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(len != 0, "query=%s, empty list\n", ptr->query);
         }
         else
         {
             len = 1;
             hr = IXMLDOMNodeList_get_length(list, &len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(len == 0, "query=%s, empty list\n", ptr->query);
         }
         if (len)
@@ -7576,28 +7671,30 @@ static void test_XSLPattern(void)
     }
 
     /* explicitly register prefix foo */
-    ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_("xmlns:foo='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29'")));
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"),
+            _variantbstr_("xmlns:foo='urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29'"));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* now we get the same behavior as XPath */
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("//foo:c"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = 0;
     hr = IXMLDOMNodeList_get_length(list, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len != 0, "expected filled list\n");
     if (len)
         expect_list_and_release(list, "E3.E3.E2.D1 E3.E4.E2.D1");
 
     /* set prefix foo to some nonexistent namespace */
     hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_("xmlns:foo='urn:nonexistent-foo'"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* the registered prefix takes precedence */
     hr = IXMLDOMDocument2_selectNodes(doc, _bstr_("//foo:c"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = 0;
     hr = IXMLDOMNodeList_get_length(list, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 0, "expected empty list\n");
     IXMLDOMNodeList_Release(list);
 
@@ -7606,7 +7703,7 @@ static void test_XSLPattern(void)
     doc = create_document(&IID_IXMLDOMDocument2);
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szNodeTypesXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     ptr = xslpattern_test_func;
@@ -7616,10 +7713,10 @@ static void test_XSLPattern(void)
         hr = IXMLDOMDocument2_selectNodes(doc, _bstr_(ptr->query), &list);
         if (ptr->list)
         {
-            ok(hr == S_OK, "query=%s, failed with 0x%08x\n", ptr->query, hr);
+            ok(hr == S_OK, "query=%s, failed with %#lx.\n", ptr->query, hr);
             len = 0;
             hr = IXMLDOMNodeList_get_length(list, &len);
-            ok(hr == S_OK, "Failed to get list length, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to get list length, hr %#lx.\n", hr);
             if (*ptr->list)
             {
                 ok(len != 0, "query=%s, empty list\n", ptr->query);
@@ -7630,7 +7727,7 @@ static void test_XSLPattern(void)
                 ok(len == 0, "query=%s, filled list\n", ptr->query);
         }
         else
-            ok(hr == E_FAIL, "query=%s, failed with 0x%08x\n", ptr->query, hr);
+            ok(hr == E_FAIL, "query=%s, failed with %#lx.\n", ptr->query, hr);
 
         ptr++;
     }
@@ -7654,100 +7751,100 @@ static void test_splitText(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_("<root></root>"), &success);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &root);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createCDATASection(doc, _bstr_("beautiful plumage"), &cdata);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_EMPTY;
     hr = IXMLDOMElement_appendChild(root, (IXMLDOMNode*)cdata, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = 0;
     hr = IXMLDOMCDATASection_get_length(cdata, &length);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(length > 0, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length > 0, "got %ld\n", length);
 
     hr = IXMLDOMCDATASection_splitText(cdata, 0, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     text = (void*)0xdeadbeef;
     /* negative offset */
     hr = IXMLDOMCDATASection_splitText(cdata, -1, &text);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(text == (void*)0xdeadbeef, "got %p\n", text);
 
     text = (void*)0xdeadbeef;
     /* offset outside data */
     hr = IXMLDOMCDATASection_splitText(cdata, length + 1, &text);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(text == 0, "got %p\n", text);
 
     text = (void*)0xdeadbeef;
     /* offset outside data */
     hr = IXMLDOMCDATASection_splitText(cdata, length, &text);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(text == 0, "got %p\n", text);
 
     /* no empty node created */
     node = (void*)0xdeadbeef;
     hr = IXMLDOMCDATASection_get_nextSibling(cdata, &node);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(node == 0, "got %p\n", text);
 
     hr = IXMLDOMCDATASection_splitText(cdata, 10, &text);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = 0;
     hr = IXMLDOMText_get_length(text, &length);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(length == 7, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 7, "got %ld\n", length);
 
     hr = IXMLDOMCDATASection_get_nextSibling(cdata, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     /* split new text node */
     hr = IXMLDOMText_get_length(text, &length);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     node = (void*)0xdeadbeef;
     hr = IXMLDOMText_get_nextSibling(text, &node);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(node == 0, "got %p\n", text);
 
     hr = IXMLDOMText_splitText(text, 0, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     text2 = (void*)0xdeadbeef;
     /* negative offset */
     hr = IXMLDOMText_splitText(text, -1, &text2);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(text2 == (void*)0xdeadbeef, "got %p\n", text2);
 
     text2 = (void*)0xdeadbeef;
     /* offset outside data */
     hr = IXMLDOMText_splitText(text, length + 1, &text2);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(text2 == 0, "got %p\n", text2);
 
     text2 = (void*)0xdeadbeef;
     /* offset outside data */
     hr = IXMLDOMText_splitText(text, length, &text2);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(text2 == 0, "got %p\n", text);
 
     text2 = 0;
     hr = IXMLDOMText_splitText(text, 4, &text2);
-    todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (text2) IXMLDOMText_Release(text2);
 
     node = 0;
     hr = IXMLDOMText_get_nextSibling(text, &node);
-    todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (node) IXMLDOMNode_Release(node);
 
     IXMLDOMText_Release(text);
@@ -7798,65 +7895,65 @@ static void test_getQualifiedItem(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement(doc, &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes(element, &root_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_item(root_list, 1, &pr_node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release(root_list);
 
     hr = IXMLDOMNode_get_attributes(pr_node, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(pr_node);
 
     len = 0;
     hr = IXMLDOMNamedNodeMap_get_length(map, &len);
-    EXPECT_HR(hr, S_OK);
-    ok( len == 3, "length %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 3, "length %ld\n", len);
 
     hr = IXMLDOMNamedNodeMap_getQualifiedItem(map, NULL, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     node = (void*)0xdeadbeef;
     hr = IXMLDOMNamedNodeMap_getQualifiedItem(map, NULL, NULL, &node);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0xdeadbeef, "got %p\n", node);
 
     hr = IXMLDOMNamedNodeMap_getQualifiedItem(map, _bstr_("id"), NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNamedNodeMap_getQualifiedItem(map, _bstr_("id"), NULL, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMNode_Release(node);
     IXMLDOMNamedNodeMap_Release(map);
     IXMLDOMElement_Release(element);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(default_ns_doc), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("a"), &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)&element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMElement_get_attributes(element, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ptr = qualified_item_tests;
     while (ptr->name)
     {
        node = (void*)0xdeadbeef;
        hr = IXMLDOMNamedNodeMap_getQualifiedItem(map, _bstr_(ptr->name), _bstr_(ptr->uri), &node);
-       ok(hr == ptr->hr, "%s, %s: got 0x%08x, expected 0x%08x\n", ptr->name, ptr->uri, hr, ptr->hr);
+       ok(hr == ptr->hr, "%s, %s: unexpected hr %#lx, expected %#lx.\n", ptr->name, ptr->uri, hr, ptr->hr);
        if (hr == S_OK)
            IXMLDOMNode_Release(node);
        else
@@ -7869,7 +7966,7 @@ static void test_getQualifiedItem(void)
     {
        node = (void*)0xdeadbeef;
        hr = IXMLDOMNamedNodeMap_getNamedItem(map, _bstr_(ptr->name), &node);
-       ok(hr == ptr->hr, "%s: got 0x%08x, expected 0x%08x\n", ptr->name, hr, ptr->hr);
+       ok(hr == ptr->hr, "%s: unexpected hr %#lx, expected %#lx.\n", ptr->name, hr, ptr->hr);
        if (hr == S_OK)
            IXMLDOMNode_Release(node);
        else
@@ -7902,41 +7999,41 @@ static void test_removeQualifiedItem(void)
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement(doc, &element);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes(element, &root_list);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_item(root_list, 1, &pr_node);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release(root_list);
 
     hr = IXMLDOMNode_get_attributes(pr_node, &map);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(pr_node);
 
     hr = IXMLDOMNamedNodeMap_get_length(map, &len);
-    ok( hr == S_OK, "ret %08x\n", hr);
-    ok( len == 3, "length %d\n", len);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok( len == 3, "length %ld\n", len);
 
     hr = IXMLDOMNamedNodeMap_removeQualifiedItem(map, NULL, NULL, NULL);
-    ok( hr == E_INVALIDARG, "ret %08x\n", hr);
+    ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     node = (void*)0xdeadbeef;
     hr = IXMLDOMNamedNodeMap_removeQualifiedItem(map, NULL, NULL, &node);
-    ok( hr == E_INVALIDARG, "ret %08x\n", hr);
+    ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( node == (void*)0xdeadbeef, "got %p\n", node);
 
     /* out pointer is optional */
     hr = IXMLDOMNamedNodeMap_removeQualifiedItem(map, _bstr_("id"), NULL, NULL);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* already removed */
     hr = IXMLDOMNamedNodeMap_removeQualifiedItem(map, _bstr_("id"), NULL, NULL);
-    ok( hr == S_FALSE, "ret %08x\n", hr);
+    ok( hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNamedNodeMap_removeQualifiedItem(map, _bstr_("vr"), NULL, &node);
-    ok( hr == S_OK, "ret %08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     IXMLDOMNamedNodeMap_Release( map );
@@ -7953,19 +8050,21 @@ static inline void _check_default_props(int line, IXMLDOMDocument2* doc)
     HRESULT hr;
 
     VariantInit(&var);
-    helper_ole_check(IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionLanguage"), &var));
-    ok_(__FILE__, line)(lstrcmpW(V_BSTR(&var), L"XSLPattern") == 0, "expected XSLPattern\n");
+    hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionLanguage"), &var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
 
-    helper_ole_check(IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(lstrcmpW(V_BSTR(&var), L"") == 0, "expected empty string\n");
     VariantClear(&var);
 
-    helper_ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc, &b));
+    hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc, &b);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(b == VARIANT_FALSE, "expected FALSE\n");
 
     hr = IXMLDOMDocument2_get_schemas(doc, &var);
-    ok_(__FILE__, line)(hr == S_FALSE, "got %08x\n", hr);
+    ok_(__FILE__, line)(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
 }
 
@@ -7974,20 +8073,25 @@ static inline void _check_set_props(int line, IXMLDOMDocument2* doc)
 {
     VARIANT_BOOL b;
     VARIANT var;
+    HRESULT hr;
 
     VariantInit(&var);
-    helper_ole_check(IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionLanguage"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionLanguage"), &var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(lstrcmpW(V_BSTR(&var), L"XPath") == 0, "expected XPath\n");
     VariantClear(&var);
 
-    helper_ole_check(IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var));
+    hr = IXMLDOMDocument2_getProperty(doc, _bstr_("SelectionNamespaces"), &var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(lstrcmpW(V_BSTR(&var), L"xmlns:wi=\'www.winehq.org\'") == 0, "got %s\n", wine_dbgstr_w(V_BSTR(&var)));
     VariantClear(&var);
 
-    helper_ole_check(IXMLDOMDocument2_get_preserveWhiteSpace(doc, &b));
+    hr = IXMLDOMDocument2_get_preserveWhiteSpace(doc, &b);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(b == VARIANT_TRUE, "expected TRUE\n");
 
-    helper_ole_check(IXMLDOMDocument2_get_schemas(doc, &var));
+    hr = IXMLDOMDocument2_get_schemas(doc, &var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(V_VT(&var) != VT_NULL, "expected pointer\n");
     VariantClear(&var);
 }
@@ -7996,16 +8100,22 @@ static inline void _check_set_props(int line, IXMLDOMDocument2* doc)
 static inline void _set_props(int line, IXMLDOMDocument2* doc, IXMLDOMSchemaCollection* cache)
 {
     VARIANT var;
+    HRESULT hr;
 
     VariantInit(&var);
-    helper_ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XPath")));
-    helper_ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_("xmlns:wi=\'www.winehq.org\'")));
-    helper_ole_check(IXMLDOMDocument2_put_preserveWhiteSpace(doc, VARIANT_TRUE));
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XPath"));
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_("xmlns:wi=\'www.winehq.org\'"));
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc, VARIANT_TRUE);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&var) = VT_DISPATCH;
     V_DISPATCH(&var) = NULL;
-    helper_ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&var)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&var));
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok_(__FILE__, line)(V_DISPATCH(&var) != NULL, "expected pointer\n");
-    helper_ole_check(IXMLDOMDocument2_putref_schemas(doc, var));
+    hr = IXMLDOMDocument2_putref_schemas(doc, var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
 }
 
@@ -8013,13 +8123,18 @@ static inline void _set_props(int line, IXMLDOMDocument2* doc, IXMLDOMSchemaColl
 static inline void _unset_props(int line, IXMLDOMDocument2* doc)
 {
     VARIANT var;
+    HRESULT hr;
 
     VariantInit(&var);
-    helper_ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern")));
-    helper_ole_check(IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_("")));
-    helper_ole_check(IXMLDOMDocument2_put_preserveWhiteSpace(doc, VARIANT_FALSE));
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionLanguage"), _variantbstr_("XSLPattern"));
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_setProperty(doc, _bstr_("SelectionNamespaces"), _variantbstr_(""));
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMDocument2_put_preserveWhiteSpace(doc, VARIANT_FALSE);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&var) = VT_NULL;
-    helper_ole_check(IXMLDOMDocument2_putref_schemas(doc, var));
+    hr = IXMLDOMDocument2_putref_schemas(doc, var);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&var);
 }
 
@@ -8053,7 +8168,8 @@ static void test_get_ownerDocument(void)
 
     VariantInit(&var);
 
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(complete4A), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(complete4A), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     check_default_props(doc);
@@ -8062,32 +8178,40 @@ static void test_get_ownerDocument(void)
     set_props(doc, cache);
     check_set_props(doc);
 
-    ole_check(IXMLDOMDocument2_get_firstChild(doc, &node));
-    ole_check(IXMLDOMNode_get_ownerDocument(node, &doc1));
+    hr = IXMLDOMDocument2_get_firstChild(doc, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNode_get_ownerDocument(node, &doc1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* new interface keeps props */
-    ole_check(IXMLDOMDocument_QueryInterface(doc1, &IID_IXMLDOMDocument2, (void**)&doc_owner));
+    hr = IXMLDOMDocument_QueryInterface(doc1, &IID_IXMLDOMDocument2, (void**)&doc_owner);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( doc_owner != doc, "got %p, doc %p\n", doc_owner, doc);
     check_set_props(doc_owner);
     IXMLDOMDocument2_Release(doc_owner);
 
-    ole_check(IXMLDOMNode_get_ownerDocument(node, &doc2));
+    hr = IXMLDOMNode_get_ownerDocument(node, &doc2);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     ok(doc1 != doc2, "got %p, expected %p. original %p\n", doc2, doc1, doc);
 
     /* reload */
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(complete4A), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(complete4A), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* properties retained even after reload */
     check_set_props(doc);
 
-    ole_check(IXMLDOMDocument2_get_firstChild(doc, &node));
-    ole_check(IXMLDOMNode_get_ownerDocument(node, &doc3));
+    hr = IXMLDOMDocument2_get_firstChild(doc, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMNode_get_ownerDocument(node, &doc3);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
-    ole_check(IXMLDOMDocument_QueryInterface(doc3, &IID_IXMLDOMDocument2, (void**)&doc_owner));
+    hr = IXMLDOMDocument_QueryInterface(doc3, &IID_IXMLDOMDocument2, (void**)&doc_owner);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(doc3 != doc1 && doc3 != doc2 && doc_owner != doc, "got %p, (%p, %p, %p)\n", doc3, doc, doc1, doc2);
     check_set_props(doc_owner);
 
@@ -8098,24 +8222,24 @@ static void test_get_ownerDocument(void)
 
     /* NULL check */
     hr = IXMLDOMDocument_loadXML(doc1, _bstr_(nodeXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement(doc1, &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes(element, &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_length(node_list, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     for(i = 0; i < len; i++) {
         hr = IXMLDOMNodeList_get_item(node_list, i, &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMNode_get_ownerDocument(node, NULL);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         IXMLDOMNode_Release(node);
     }
@@ -8123,17 +8247,17 @@ static void test_get_ownerDocument(void)
 
     /* Test Attribute Node */
     hr = IXMLDOMNodeList_get_item(node_list, 2, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)&element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMElement_getAttributeNode(element, _bstr_("attr"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(attr != NULL, "attr == NULL\n");
     IXMLDOMElement_Release(element);
     hr = IXMLDOMAttribute_get_ownerDocument(attr, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release(attr);
     IXMLDOMNodeList_Release(node_list);
 
@@ -8164,32 +8288,32 @@ static void test_setAttributeNode(void)
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem2);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( elem2 != elem, "got same instance\n");
 
     ret_attr = (void*)0xdeadbeef;
     hr = IXMLDOMElement_setAttributeNode(elem, NULL, &ret_attr);
-    ok( hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok( hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok( ret_attr == (void*)0xdeadbeef, "got %p\n", ret_attr);
 
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("attr"), &attr);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ref1 = IXMLDOMElement_AddRef(elem);
     IXMLDOMElement_Release(elem);
 
     ret_attr = (void*)0xdeadbeef;
     hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( ret_attr == NULL, "got %p\n", ret_attr);
 
     /* no reference added */
     ref2 = IXMLDOMElement_AddRef(elem);
     IXMLDOMElement_Release(elem);
-    ok(ref2 == ref1, "got %d, expected %d\n", ref2, ref1);
+    ok(ref2 == ref1, "got %ld, expected %ld\n", ref2, ref1);
 
     EXPECT_CHILDREN(elem);
     EXPECT_CHILDREN(elem2);
@@ -8198,24 +8322,24 @@ static void test_setAttributeNode(void)
 
     attr2 = NULL;
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("attr"), &attr2);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( attr2 != attr, "got same instance %p\n", attr2);
     IXMLDOMAttribute_Release(attr2);
 
     /* try to add it another time */
     ret_attr = (void*)0xdeadbeef;
     hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
-    ok( hr == E_FAIL, "got 0x%08x\n", hr);
+    ok( hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( ret_attr == (void*)0xdeadbeef, "got %p\n", ret_attr);
 
     IXMLDOMElement_Release(elem);
 
     /* initially used element is released, attribute still 'has' a container */
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ret_attr = (void*)0xdeadbeef;
     hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
-    ok( hr == E_FAIL, "got 0x%08x\n", hr);
+    ok( hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok( ret_attr == (void*)0xdeadbeef, "got %p\n", ret_attr);
     IXMLDOMElement_Release(elem);
 
@@ -8227,20 +8351,20 @@ static void test_setAttributeNode(void)
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_get_documentElement(doc2, &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMElement_setAttributeNode(elem, attr, NULL);
-    ok( hr == E_FAIL, "got 0x%08x\n", hr);
+    ok( hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(elem);
 
     IXMLDOMAttribute_Release(attr);
 
     /* create element, add attribute, see if it's copied or linked */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("test"), &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     attr = NULL;
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("attr"), &attr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(attr != NULL, "got %p\n", attr);
 
     ref1 = IXMLDOMAttribute_AddRef(attr);
@@ -8249,27 +8373,27 @@ static void test_setAttributeNode(void)
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("attrvalue1");
     hr = IXMLDOMAttribute_put_nodeValue(attr, v);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLDOMAttribute_get_xml(attr, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(str, L"attr=\"attrvalue1\"") == 0,
         "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     ret_attr = (void*)0xdeadbeef;
     hr = IXMLDOMElement_setAttributeNode(elem, attr, &ret_attr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ret_attr == NULL, "got %p\n", ret_attr);
 
     /* attribute reference increased */
     ref2 = IXMLDOMAttribute_AddRef(attr);
     IXMLDOMAttribute_Release(attr);
-    ok(ref1 == ref2, "got %d, expected %d\n", ref2, ref1);
+    ok(ref1 == ref2, "got %ld, expected %ld\n", ref2, ref1);
 
     hr = IXMLDOMElement_get_xml(elem, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(str, L"<test attr=\"attrvalue1\"/>") == 0,
         "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
@@ -8277,10 +8401,10 @@ static void test_setAttributeNode(void)
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("attrvalue2");
     hr = IXMLDOMAttribute_put_nodeValue(attr, v);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_xml(elem, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(lstrcmpW(str, L"<test attr=\"attrvalue2\"/>") == 0,
         "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
@@ -8308,18 +8432,18 @@ static void test_createNode(void)
 
     /* reference count tests */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem"), &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* initial reference is 2 */
 todo_wine {
     EXPECT_REF(elem, 2);
     ref = IXMLDOMElement_Release(elem);
-    ok(ref == 1, "got %d\n", ref);
+    ok(ref == 1, "got %ld\n", ref);
     /* it's released already, attempt to release now will crash it */
 }
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem"), &elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(elem, 2);
     IXMLDOMDocument_Release(doc);
     todo_wine EXPECT_REF(elem, 2);
@@ -8333,39 +8457,39 @@ todo_wine {
     V_I4(&v) = NODE_ELEMENT;
 
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("ns1:test"), _bstr_("http://winehq.org"), &node);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     prefix = NULL;
     hr = IXMLDOMNode_get_prefix(node, &prefix);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(prefix, L"ns1") == 0, "wrong prefix\n");
     SysFreeString(prefix);
     IXMLDOMNode_Release(node);
 
     /* 2. default namespace */
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("test"), _bstr_("http://winehq.org/default"), &node);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     prefix = (void*)0xdeadbeef;
     hr = IXMLDOMNode_get_prefix(node, &prefix);
-    ok( hr == S_FALSE, "got 0x%08x\n", hr);
+    ok( hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(prefix == 0, "expected empty prefix, got %p\n", prefix);
     /* check dump */
     hr = IXMLDOMNode_get_xml(node, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(str, L"<test xmlns=\"http://winehq.org/default\"/>") == 0,
         "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)&elem);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_BSTR;
     hr = IXMLDOMElement_getAttribute(elem, _bstr_("xmlns"), &var);
-    ok( hr == S_FALSE, "got 0x%08x\n", hr);
+    ok( hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_NULL, "got %d\n", V_VT(&var));
 
     str = NULL;
     hr = IXMLDOMElement_get_namespaceURI(elem, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(str, L"http://winehq.org/default") == 0, "expected default namespace\n");
     SysFreeString(str);
 
@@ -8397,96 +8521,96 @@ static void test_get_prefix(void)
     /* 1. document */
     str = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_get_prefix(doc, &str);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(str == NULL, "got %p\n", str);
 
     hr = IXMLDOMDocument_get_prefix(doc, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* 2. cdata */
     hr = IXMLDOMDocument_createCDATASection(doc, NULL, &cdata);
-    ok(hr == S_OK, "got %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMCDATASection_get_prefix(cdata, &str);
-    ok(hr == S_FALSE, "got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( str == 0, "got %p\n", str);
 
     hr = IXMLDOMCDATASection_get_prefix(cdata, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     IXMLDOMCDATASection_Release(cdata);
 
     /* 3. comment */
     hr = IXMLDOMDocument_createComment(doc, NULL, &comment);
-    ok(hr == S_OK, "got %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMComment_get_prefix(comment, &str);
-    ok(hr == S_FALSE, "got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( str == 0, "got %p\n", str);
 
     hr = IXMLDOMComment_get_prefix(comment, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     IXMLDOMComment_Release(comment);
 
     /* 4. fragment */
     hr = IXMLDOMDocument_createDocumentFragment(doc, &fragment);
-    ok(hr == S_OK, "got %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMDocumentFragment_get_prefix(fragment, &str);
-    ok(hr == S_FALSE, "got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( str == 0, "got %p\n", str);
 
     hr = IXMLDOMDocumentFragment_get_prefix(fragment, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     IXMLDOMDocumentFragment_Release(fragment);
 
     /* no prefix */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem"), &element);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_prefix(element, NULL);
-    ok( hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_prefix(element, &str);
-    ok( hr == S_FALSE, "got 0x%08x\n", hr);
-    ok( str == 0, "got %p\n", str);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(str == 0, "got %p\n", str);
 
     IXMLDOMElement_Release(element);
 
     /* with prefix */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("a:elem"), &element);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_prefix(element, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(lstrcmpW(str, L"a") == 0, "expected prefix \"a\"\n");
     SysFreeString(str);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_namespaceURI(element, &str);
-    ok( hr == S_FALSE, "got 0x%08x\n", hr);
+    ok( hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( str == 0, "got %p\n", str);
 
     IXMLDOMElement_Release(element);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(get_prefix_doc), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_prefix(element, &str);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(str == NULL, "got %p\n", str);
 
     str = (void*)0xdeadbeef;
     hr = IXMLDOMElement_get_namespaceURI(element, &str);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(str == NULL, "got %s\n", wine_dbgstr_w(str));
 
     IXMLDOMDocument_Release(doc);
@@ -8505,52 +8629,52 @@ static void test_selectSingleNode(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(complete4A), &b );
     ok( hr == S_OK, "loadXML failed\n");
     ok( b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument_selectSingleNode(doc, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("lc"), NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("lc"), NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("lc"), &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("lc"), &list);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release(list);
 
     list = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_selectNodes(doc, NULL, &list);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(list == (void*)0xdeadbeef, "got %p\n", list);
 
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("nonexistent"), &node);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(node == 0, "got %p\n", node);
 
     list = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("nonexistent"), &list);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = 1;
     hr = IXMLDOMNodeList_get_length(list, &len);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "got %ld\n", len);
     IXMLDOMNodeList_Release(list);
 
     IXMLDOMDocument_Release(doc);
@@ -8569,16 +8693,16 @@ static void test_events(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IConnectionPointContainer, (void**)&conn);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IConnectionPointContainer_FindConnectionPoint(conn, &IID_IDispatch, &point);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IConnectionPoint_Release(point);
     hr = IConnectionPointContainer_FindConnectionPoint(conn, &IID_IPropertyNotifySink, &point);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IConnectionPoint_Release(point);
     hr = IConnectionPointContainer_FindConnectionPoint(conn, &DIID_XMLDOMDocumentEvents, &point);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IConnectionPoint_Release(point);
 
     IConnectionPointContainer_Release(conn);
@@ -8586,40 +8710,40 @@ static void test_events(void)
     /* ready state callback */
     VariantInit(&v);
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == DISP_E_TYPEMISMATCH, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "Unexpected hr %#lx.\n", hr);
 
     event = create_dispevent();
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)event;
 
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(event, 2);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = event;
 
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(event, 2);
 
     /* VT_NULL doesn't reset event handler */
     V_VT(&v) = VT_NULL;
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == DISP_E_TYPEMISMATCH, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_TYPEMISMATCH, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(event, 2);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
 
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(event, 1);
 
     V_VT(&v) = VT_UNKNOWN;
     V_DISPATCH(&v) = NULL;
     hr = IXMLDOMDocument_put_onreadystatechange(doc, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IDispatch_Release(event);
 
@@ -8651,25 +8775,25 @@ static void test_createProcessingInstruction(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding=\"windows-1252\" dummy=\"value\""), &pi);
-    ok(hr == XML_E_UNEXPECTED_ATTRIBUTE, "got 0x%08x\n", hr);
+    ok(hr == XML_E_UNEXPECTED_ATTRIBUTE, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_createProcessingInstruction(doc, NULL, _bstr_("version=\"1.0\" encoding=\"UTF-8\""), &pi);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), NULL, &pi);
-    ok(hr == XML_E_XMLDECLSYNTAX, "got 0x%08x\n", hr);
+    ok(hr == XML_E_XMLDECLSYNTAX, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding=UTF-8"), &pi);
-    ok(hr == XML_E_MISSINGQUOTE, "got 0x%08x\n", hr);
+    ok(hr == XML_E_MISSINGQUOTE, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding='UTF-8\""), &pi);
-    ok(hr == XML_E_BADCHARINSTRING, "got 0x%08x\n", hr);
+    ok(hr == XML_E_BADCHARINSTRING, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding=\"UTF-8"), &pi);
-    ok(hr == XML_E_BADCHARINSTRING, "got 0x%08x\n", hr);
+    ok(hr == XML_E_BADCHARINSTRING, "Unexpected hr %#lx.\n", hr);
     pi = NULL;
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding='UTF-8'"), &pi);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMProcessingInstruction_QueryInterface(pi, &IID_IXMLDOMNode, (void **)&node);
     node_map = NULL;
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_attributes(node, &node_map);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNamedNodeMap_Release(node_map);
     IXMLDOMNode_Release(node);
     IXMLDOMProcessingInstruction_Release(pi);
@@ -8679,7 +8803,7 @@ static void test_createProcessingInstruction(void)
     /* just a big length */
     *(DWORD*)buff = 0xf0f0;
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("test"), &buff[2], &pi);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMProcessingInstruction_Release(pi);
     IXMLDOMDocument_Release(doc);
@@ -8687,33 +8811,33 @@ static void test_createProcessingInstruction(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"), _bstr_("version=\"1.0\" encoding=\"windows-1252\""), &pi);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMProcessingInstruction_QueryInterface(pi, &IID_IXMLDOMNode, (void **)&node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_appendChild(doc, node, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_attributes(node, &node_map);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     item = (void *)0xdeadbeef;
     hr = IXMLDOMNamedNodeMap_getNamedItem(node_map, _bstr_("xml"), &item);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(!item, "got %p\n", item);
 
     item = NULL;
     hr = IXMLDOMNamedNodeMap_getNamedItem(node_map, _bstr_("encoding"), &item);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(item != NULL, "got NULL\n");
 
     hr = IXMLDOMNode_get_nodeName(item, &bstr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(bstr, L"encoding"), "got %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
 
     VariantInit(&var);
     hr = IXMLDOMNode_get_nodeValue(item, &var);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&var) == VT_BSTR, "got %u\n", V_VT(&var));
     ok(!lstrcmpW(V_BSTR(&var), L"windows-1252"), "got %s\n", wine_dbgstr_w(V_BSTR(&var)));
     VariantClear(&var);
@@ -8723,26 +8847,26 @@ static void test_createProcessingInstruction(void)
     IXMLDOMProcessingInstruction_Release(pi);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("test"), &element);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode *)element, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(element);
 
     hr = IXMLDOMDocument_get_xml(doc, &xml);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine
     ok(!wcscmp(xml, xml1), "got %s\n", wine_dbgstr_w(xml));
     SysFreeString(xml);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&var) = VT_UNKNOWN;
     V_UNKNOWN(&var) = (IUnknown*)stream;
     hr = IXMLDOMDocument_save(doc, var);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &global);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     p = GlobalLock(global);
     ok(!memcmp(p, xml2, sizeof(xml2) - 1) || !memcmp(p, xml2_wine, sizeof(xml2_wine) - 1), "got %s\n", wine_dbgstr_a(p));
     GlobalUnlock(global);
@@ -8750,21 +8874,21 @@ static void test_createProcessingInstruction(void)
     /* Verify the result after load+save */
     off.QuadPart = 0;
     hr = IStream_Seek(stream, off, STREAM_SEEK_SET, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_load(doc, var, &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     off.QuadPart = 0;
     hr = IStream_Seek(stream, off, STREAM_SEEK_SET, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_save(doc, var);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &global);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     p = GlobalLock(global);
     ok(!memcmp(p, xml2, sizeof(xml2) - 1) || !memcmp(p, xml2_wine, sizeof(xml2_wine) - 1), "got %s\n", wine_dbgstr_a(p));
     GlobalUnlock(global);
@@ -8772,19 +8896,19 @@ static void test_createProcessingInstruction(void)
     IStream_Release(stream);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_("<?xml version=\"1.0\" standalone=\"yes\"?>\r\n<test/>\r\n"), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&var) = VT_UNKNOWN;
     V_UNKNOWN(&var) = (IUnknown*)stream;
     hr = IXMLDOMDocument_save(doc, var);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &global);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     p = GlobalLock(global);
     ok(!memcmp(p, xml3, sizeof(xml3) - 1) || !memcmp(p, xml3_wine, sizeof(xml3_wine) - 1), "got %s\n", wine_dbgstr_a(p));
@@ -8811,28 +8935,28 @@ static void test_put_nodeTypedValue(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Element"), &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&type) = VT_EMPTY;
     hr = IXMLDOMElement_get_dataType(elem, &type);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&type) == VT_NULL, "got %d, expected VT_NULL\n", V_VT(&type));
 
     /* set typed value for untyped node */
     V_VT(&type) = VT_I1;
     V_I1(&type) = 1;
     hr = IXMLDOMElement_put_nodeTypedValue(elem, type);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&type) = VT_EMPTY;
     hr = IXMLDOMElement_get_dataType(elem, &type);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&type) == VT_NULL, "got %d, expected VT_NULL\n", V_VT(&type));
 
     /* no type info stored */
     V_VT(&type) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &type);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&type) == VT_BSTR, "got %d, expected VT_BSTR\n", V_VT(&type));
     ok(memcmp(V_BSTR(&type), L"1", 2*sizeof(WCHAR)) == 0,
        "got %s, expected \"1\"\n", wine_dbgstr_w(V_BSTR(&type)));
@@ -8840,63 +8964,63 @@ static void test_put_nodeTypedValue(void)
 
     /* int */
     hr = IXMLDOMElement_put_dataType(elem, _bstr_("int"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_BSTR;
     V_BSTR(&value) = _bstr_("1");
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&value) == VT_I4, "got %d\n", V_VT(&value));
-    ok(V_I4(&value) == 1, "got %d\n", V_I4(&value));
+    ok(V_I4(&value) == 1, "got %ld\n", V_I4(&value));
 
     V_VT(&value) = VT_I2;
     V_I2(&value) = -1;
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&value) == VT_I4, "got %d\n", V_VT(&value));
-    ok(V_I4(&value) == -1, "got %d\n", V_I4(&value));
+    ok(V_I4(&value) == -1, "got %ld\n", V_I4(&value));
 
     hr = IXMLDOMElement_get_firstChild(elem, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMElement_removeChild(elem, node, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)elem, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* bin.base64 */
     hr = IXMLDOMElement_put_dataType(elem, _bstr_("bin.base64"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_BSTR;
     V_BSTR(&value) = _bstr_("ABCD");
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&value) == (VT_UI1|VT_ARRAY), "got %d\n", V_VT(&value));
     ok(SafeArrayGetDim(V_ARRAY(&value)) == 1, "got wrong dimension\n");
     ubound = 0;
     hr = SafeArrayGetUBound(V_ARRAY(&value), 1, &ubound);
-    EXPECT_HR(hr, S_OK);
-    ok(ubound == 2, "got %d\n", ubound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(ubound == 2, "got %ld\n", ubound);
     lbound = 0;
     hr = SafeArrayGetLBound(V_ARRAY(&value), 1, &lbound);
-    EXPECT_HR(hr, S_OK);
-    ok(lbound == 0, "got %d\n", lbound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(lbound == 0, "got %ld\n", lbound);
     hr = SafeArrayAccessData(V_ARRAY(&value), (void*)&ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ptr[0] == 0, "got %x\n", ptr[0]);
     ok(ptr[1] == 0x10, "got %x\n", ptr[1]);
     ok(ptr[2] == 0x83, "got %x\n", ptr[2]);
@@ -8905,48 +9029,48 @@ static void test_put_nodeTypedValue(void)
 
     /* when set as VT_BSTR it's stored as is */
     hr = IXMLDOMElement_get_firstChild(elem, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_text(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"ABCD"), "%s\n", wine_dbgstr_w(str));
     IXMLDOMNode_Release(node);
     SysFreeString(str);
 
     array = SafeArrayCreateVector(VT_UI1, 0, 7);
     hr = SafeArrayAccessData(array, (void*)&ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     memcpy(ptr, "dGVzdA=", strlen("dGVzdA="));
     SafeArrayUnaccessData(array);
 
     V_VT(&value) = VT_UI1|VT_ARRAY;
     V_ARRAY(&value) = array;
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&value) == (VT_UI1|VT_ARRAY), "got %d\n", V_VT(&value));
     ok(SafeArrayGetDim(V_ARRAY(&value)) == 1, "got wrong dimension\n");
     ubound = 0;
     hr = SafeArrayGetUBound(V_ARRAY(&value), 1, &ubound);
-    EXPECT_HR(hr, S_OK);
-    ok(ubound == 6, "got %d\n", ubound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(ubound == 6, "got %ld\n", ubound);
     lbound = 0;
     hr = SafeArrayGetLBound(V_ARRAY(&value), 1, &lbound);
-    EXPECT_HR(hr, S_OK);
-    ok(lbound == 0, "got %d\n", lbound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(lbound == 0, "got %ld\n", lbound);
     hr = SafeArrayAccessData(V_ARRAY(&value), (void*)&ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!memcmp(ptr, "dGVzdA=", strlen("dGVzdA=")), "got wrong data, %s\n", ptr);
     SafeArrayUnaccessData(V_ARRAY(&value));
     VariantClear(&value);
 
     /* if set with VT_UI1|VT_ARRAY it's encoded */
     hr = IXMLDOMElement_get_firstChild(elem, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_text(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"ZEdWemRBPQ=="), "%s\n", wine_dbgstr_w(str));
     IXMLDOMNode_Release(node);
     SafeArrayDestroyData(array);
@@ -8956,46 +9080,46 @@ static void test_put_nodeTypedValue(void)
     V_VT(&value) = VT_BSTR;
     V_BSTR(&value) = _bstr_("");
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_put_dataType(elem, _bstr_("bin.hex"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     array = SafeArrayCreateVector(VT_UI1, 0, 16);
     hr = SafeArrayAccessData(array, (void*)&ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     memcpy(ptr, binhexdata, sizeof(binhexdata));
     SafeArrayUnaccessData(array);
 
     V_VT(&value) = VT_UI1|VT_ARRAY;
     V_ARRAY(&value) = array;
     hr = IXMLDOMElement_put_nodeTypedValue(elem, value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&value) = VT_EMPTY;
     hr = IXMLDOMElement_get_nodeTypedValue(elem, &value);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&value) == (VT_UI1|VT_ARRAY), "got %d\n", V_VT(&value));
     ok(SafeArrayGetDim(V_ARRAY(&value)) == 1, "got wrong dimension\n");
     ubound = 0;
     hr = SafeArrayGetUBound(V_ARRAY(&value), 1, &ubound);
-    EXPECT_HR(hr, S_OK);
-    ok(ubound == 15, "got %d\n", ubound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(ubound == 15, "got %ld\n", ubound);
     lbound = 0;
     hr = SafeArrayGetLBound(V_ARRAY(&value), 1, &lbound);
-    EXPECT_HR(hr, S_OK);
-    ok(lbound == 0, "got %d\n", lbound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(lbound == 0, "got %ld\n", lbound);
     hr = SafeArrayAccessData(V_ARRAY(&value), (void*)&ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!memcmp(ptr, binhexdata, sizeof(binhexdata)), "got wrong data\n");
     SafeArrayUnaccessData(V_ARRAY(&value));
     VariantClear(&value);
 
     /* if set with VT_UI1|VT_ARRAY it's encoded */
     hr = IXMLDOMElement_get_firstChild(elem, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_text(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"000102030405060708090a0b0c0d0e0f"), "%s\n", wine_dbgstr_w(str));
     IXMLDOMNode_Release(node);
     SafeArrayDestroyData(array);
@@ -9028,27 +9152,27 @@ static void test_get_xml(void)
 
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_loadXML( doc, _bstr_("<a>test</a>"), &b );
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXMLDOMDocument_createProcessingInstruction(doc, _bstr_("xml"),
                              _bstr_("version=\"1.0\" encoding=\"UTF-16\""), &pi);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_firstChild(doc, &first);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_UNKNOWN(&v) = (IUnknown*)first;
     V_VT(&v) = VT_UNKNOWN;
 
     hr = IXMLDOMDocument_insertBefore(doc, (IXMLDOMNode*)pi, v, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMProcessingInstruction_Release(pi);
     IXMLDOMNode_Release(first);
 
     hr = IXMLDOMDocument_get_xml(doc, &xml);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(memcmp(xml, _bstr_(xmlA), sizeof(xmlA)*sizeof(WCHAR)) == 0,
         "got %s, expected %s\n", wine_dbgstr_w(xml), xmlA);
@@ -9059,13 +9183,13 @@ static void test_get_xml(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("foo"), &elem);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_putref_documentElement(doc, elem);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_xml(doc, &xml);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(memcmp(xml, _bstr_(fooA), (sizeof(fooA)-1)*sizeof(WCHAR)) == 0,
         "got %s, expected %s\n", wine_dbgstr_w(xml), fooA);
@@ -9075,22 +9199,22 @@ static void test_get_xml(void)
 
     /* attribute node */
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("attr"), &attr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("\"a & b\"");
     hr = IXMLDOMAttribute_put_value(attr, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     xml = NULL;
     hr = IXMLDOMAttribute_get_xml(attr, &xml);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!memcmp(xml, _bstr_(attrA), (sizeof(attrA)-1)*sizeof(WCHAR)), "got %s\n", wine_dbgstr_w(xml));
     SysFreeString(xml);
 
     VariantInit(&v);
     hr = IXMLDOMAttribute_get_value(attr, &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got type %d\n", V_VT(&v));
     ok(!memcmp(V_BSTR(&v), _bstr_(attr2A), (sizeof(attr2A)-1)*sizeof(WCHAR)),
         "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
@@ -9099,17 +9223,17 @@ static void test_get_xml(void)
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_(""a");
     hr = IXMLDOMAttribute_put_value(attr, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     xml = NULL;
     hr = IXMLDOMAttribute_get_xml(attr, &xml);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!memcmp(xml, _bstr_(attr3A), (sizeof(attr3A)-1)*sizeof(WCHAR)), "got %s\n", wine_dbgstr_w(xml));
     SysFreeString(xml);
 
     VariantInit(&v);
     hr = IXMLDOMAttribute_get_value(attr, &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got type %d\n", V_VT(&v));
     ok(!memcmp(V_BSTR(&v), _bstr_(attr4A), (sizeof(attr4A)-1)*sizeof(WCHAR)),
         "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
@@ -9143,27 +9267,27 @@ static void test_xsltemplate(void)
 
     /* works as reset */
     hr = IXSLTemplate_putref_stylesheet(template, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     doc = create_document(&IID_IXMLDOMDocument);
 
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_loadXML( doc, _bstr_("<a>test</a>"), &b );
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "got %d\n", b);
 
     /* putref with non-xsl document */
     hr = IXSLTemplate_putref_stylesheet(template, (IXMLDOMNode*)doc);
-    todo_wine ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(szTransformSSXML), &b );
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "got %d\n", b);
 
     /* not a freethreaded document */
     hr = IXSLTemplate_putref_stylesheet(template, (IXMLDOMNode*)doc);
-    todo_wine ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMDocument_Release(doc);
 
@@ -9174,29 +9298,29 @@ static void test_xsltemplate(void)
     }
 
     hr = CoCreateInstance(&CLSID_FreeThreadedDOMDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument, (void**)&doc);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_loadXML( doc, _bstr_(szTransformSSXML), &b );
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "got %d\n", b);
 
     /* freethreaded document */
     ref1 = IXMLDOMDocument_AddRef(doc);
     IXMLDOMDocument_Release(doc);
     hr = IXSLTemplate_putref_stylesheet(template, (IXMLDOMNode*)doc);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ref2 = IXMLDOMDocument_AddRef(doc);
     IXMLDOMDocument_Release(doc);
-    ok(ref2 > ref1, "got %d\n", ref2);
+    ok(ref2 > ref1, "got %ld\n", ref2);
 
     /* processor */
     hr = IXSLTemplate_createProcessor(template, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(template, 1);
     hr = IXSLTemplate_createProcessor(template, &processor);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(template, 2);
 
     /* input no set yet */
@@ -9204,43 +9328,43 @@ static void test_xsltemplate(void)
     V_BSTR(&v) = NULL;
     hr = IXSLProcessor_get_input(processor, &v);
 todo_wine {
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_EMPTY, "got %d\n", V_VT(&v));
 }
 
     hr = IXSLProcessor_get_output(processor, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* reset before it was set */
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = NULL;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_DISPATCH(&v) = NULL;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(stream, 1);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)stream;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* it seems processor grabs 2 references */
     todo_wine EXPECT_REF(stream, 3);
 
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_get_output(processor, &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_UNKNOWN, "got type %d\n", V_VT(&v));
     ok(V_UNKNOWN(&v) == (IUnknown*)stream, "got %p\n", V_UNKNOWN(&v));
 
@@ -9248,12 +9372,12 @@ todo_wine {
     VariantClear(&v);
 
     hr = IXSLProcessor_transform(processor, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* reset and check stream refcount */
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(stream, 1);
 
@@ -9264,20 +9388,20 @@ todo_wine {
 
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML( doc2, _bstr_("<a>test</a>"), &b );
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( b == VARIANT_TRUE, "got %d\n", b);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)doc2;
     hr = IXSLProcessor_put_input(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXSLProcessor_transform(processor, &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_get_output(processor, &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got type %d\n", V_VT(&v));
     ok(*V_BSTR(&v) == 0, "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
     VariantClear(&v);
@@ -9285,52 +9409,52 @@ todo_wine {
     /* transform to document */
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML(doc2, _bstr_(szTransformXML), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)doc2;
     hr = IXSLProcessor_put_input(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     doc3 = create_document(&IID_IXMLDOMDocument);
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown *)doc3;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_xml(doc3, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!*str, "Expected empty document\n");
     SysFreeString(str);
 
     hr = IXSLProcessor_transform(processor, &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_get_output(processor, &v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_UNKNOWN, "got type %d\n", V_VT(&v));
     VariantClear(&v);
 
     hr = IXMLDOMDocument_get_xml(doc3, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!!*str, "Expected document\n");
     SysFreeString(str);
 
     /* transform to IResponse */
     V_VT(&v) = VT_EMPTY;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown *)&testresponse;
     hr = IXSLProcessor_put_output(processor, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_FALSE;
     hr = IXSLProcessor_transform(processor, &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %x\n", b);
 
     IXSLProcessor_Release(processor);
@@ -9339,10 +9463,10 @@ todo_wine {
 
     /* drop reference */
     hr = IXSLTemplate_putref_stylesheet(template, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ref2 = IXMLDOMDocument_AddRef(doc);
     IXMLDOMDocument_Release(doc);
-    ok(ref2 == ref1, "got %d\n", ref2);
+    ok(ref2 == ref1, "got %ld\n", ref2);
 
     IXMLDOMDocument_Release(doc);
     IXSLTemplate_Release(template);
@@ -9366,21 +9490,21 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_insertBefore(doc, NULL, v, &node);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)0xdeadbeef, "got %p\n", node);
 
     /* document to document */
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_insertBefore(doc, (IXMLDOMNode*)doc3, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     /* document to itself */
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_insertBefore(doc, (IXMLDOMNode*)doc, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     /* insertBefore behaviour for attribute node */
@@ -9389,14 +9513,14 @@ static void test_insertBefore(void)
 
     attr = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("attr"), NULL, (IXMLDOMNode**)&attr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(attr != NULL, "got %p\n", attr);
 
     /* attribute to document */
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_insertBefore(doc3, (IXMLDOMNode*)attr, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     /* cdata to document */
@@ -9405,7 +9529,7 @@ static void test_insertBefore(void)
 
     cdata = NULL;
     hr = IXMLDOMDocument_createNode(doc3, v, _bstr_("cdata"), NULL, &cdata);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(cdata != NULL, "got %p\n", cdata);
 
     EXPECT_NO_CHILDREN(cdata);
@@ -9414,20 +9538,20 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMNode_insertBefore(cdata, (IXMLDOMNode*)attr, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     /* document to cdata */
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMNode_insertBefore(cdata, (IXMLDOMNode*)doc, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_insertBefore(doc3, cdata, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     IXMLDOMNode_Release(cdata);
@@ -9438,20 +9562,20 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_ATTRIBUTE;
     newnode = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("attr2"), NULL, &newnode);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(newnode != NULL, "got %p\n", newnode);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)attr;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    todo_wine ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    todo_wine ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
     IXMLDOMNode_Release(newnode);
 
@@ -9460,13 +9584,13 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_CDATA_SECTION;
     newnode = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("cdata"), NULL, &newnode);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(newnode != NULL, "got %p\n", newnode);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
     IXMLDOMNode_Release(newnode);
 
@@ -9475,13 +9599,13 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_COMMENT;
     newnode = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("cdata"), NULL, &newnode);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(newnode != NULL, "got %p\n", newnode);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
     IXMLDOMNode_Release(newnode);
 
@@ -9490,13 +9614,13 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_ELEMENT;
     newnode = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("cdata"), NULL, &newnode);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(newnode != NULL, "got %p\n", newnode);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
     IXMLDOMNode_Release(newnode);
 
@@ -9505,32 +9629,32 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_PROCESSING_INSTRUCTION;
     newnode = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("cdata"), NULL, &newnode);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(newnode != NULL, "got %p\n", newnode);
 
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMAttribute_insertBefore(attr, newnode, v, &node);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
     IXMLDOMNode_Release(newnode);
     IXMLDOMAttribute_Release(attr);
 
     /* insertBefore for elements */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem"), &elem1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem2"), &elem2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem3"), &elem3);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem3"), &elem3);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem4"), &elem4);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_NO_CHILDREN(elem1);
     EXPECT_NO_CHILDREN(elem2);
@@ -9542,25 +9666,25 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMElement_insertBefore(elem1, NULL, v, &node);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)0xdeadbeef, "got %p\n", node);
 
     /* document to element */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)doc, v, NULL);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
     node = NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)elem4, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem4, "got %p\n", node);
 
     EXPECT_CHILDREN(elem1);
     hr = IXMLDOMElement_removeChild(elem1, (IXMLDOMNode*)elem4, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(elem4);
 
     EXPECT_NO_CHILDREN(elem1);
@@ -9568,7 +9692,7 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)elem2, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem2, "got %p\n", node);
 
     EXPECT_CHILDREN(elem1);
@@ -9579,7 +9703,7 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)elem2, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem2, "got %p\n", node);
 
     EXPECT_CHILDREN(elem1);
@@ -9592,7 +9716,7 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = (void*)0xdeadbeef;
     hr = IXMLDOMElement_insertBefore(elem3, (IXMLDOMNode*)elem2, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem2, "got %p\n", node);
 
     EXPECT_CHILDREN(elem3);
@@ -9604,19 +9728,19 @@ static void test_insertBefore(void)
     doc2 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc2, _bstr_("elem4"), &elem4);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(elem4, 2);
 
     /* same name, another instance */
     hr = IXMLDOMDocument_createElement(doc2, _bstr_("elem4"), &elem5);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(elem5, 2);
 
     todo_wine EXPECT_REF(elem3, 2);
     V_VT(&v) = VT_NULL;
     node = NULL;
     hr = IXMLDOMElement_insertBefore(elem3, (IXMLDOMNode*)elem4, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem4, "got %p\n", node);
     todo_wine EXPECT_REF(elem4, 3);
     todo_wine EXPECT_REF(elem3, 2);
@@ -9625,7 +9749,7 @@ static void test_insertBefore(void)
     V_VT(&v) = VT_NULL;
     node = NULL;
     hr = IXMLDOMElement_insertBefore(elem3, (IXMLDOMNode*)elem5, v, &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (void*)elem5, "got %p\n", node);
     todo_wine EXPECT_REF(elem4, 2);
     todo_wine EXPECT_REF(elem5, 3);
@@ -9644,45 +9768,45 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_ELEMENT;
     elem1 = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("elem1"), _bstr_("http://winehq.org/default"), (IXMLDOMNode**)&elem1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(elem1 != NULL, "got %p\n", elem1);
 
     V_VT(&v) = VT_I4;
     V_I4(&v) = NODE_ELEMENT;
     elem2 = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("elem2"), _bstr_("http://winehq.org/default"), (IXMLDOMNode**)&elem2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(elem2 != NULL, "got %p\n", elem2);
 
     /* check contents so far */
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem1, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(p, L"<elem1 xmlns=\"http://winehq.org/default\"/>"), "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem2, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(p, L"<elem2 xmlns=\"http://winehq.org/default\"/>"), "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
     V_VT(&v) = VT_NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)elem2, v, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* get_xml depends on context, for top node it omits child namespace attribute,
        but at child level it's still returned */
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem1, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(!lstrcmpW(p, L"<elem1 xmlns=\"http://winehq.org/default\"><elem2/></elem1>"),
         "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem2, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(p, L"<elem2 xmlns=\"http://winehq.org/default\"/>"), "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
@@ -9694,34 +9818,34 @@ static void test_insertBefore(void)
     V_I4(&v) = NODE_ELEMENT;
     elem1 = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("elem1"), _bstr_("http://winehq.org/default"), (IXMLDOMNode**)&elem1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(elem1 != NULL, "got %p\n", elem1);
 
     V_VT(&v) = VT_I4;
     V_I4(&v) = NODE_ELEMENT;
     elem2 = NULL;
     hr = IXMLDOMDocument_createNode(doc, v, _bstr_("elem2"), NULL, (IXMLDOMNode**)&elem2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(elem2 != NULL, "got %p\n", elem2);
 
     EXPECT_REF(elem2, 1);
     V_VT(&v) = VT_NULL;
     hr = IXMLDOMElement_insertBefore(elem1, (IXMLDOMNode*)elem2, v, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(elem2, 1);
 
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem2, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(p, L"<elem2/>"), "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
     hr = IXMLDOMElement_removeChild(elem1, (IXMLDOMNode*)elem2, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     p = NULL;
     hr = IXMLDOMElement_get_xml(elem2, &p);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(p, L"<elem2/>"), "got %s\n", wine_dbgstr_w(p));
     SysFreeString(p);
 
@@ -9740,10 +9864,10 @@ static void test_appendChild(void)
     doc2 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("elem"), &elem);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(doc2, _bstr_("elem2"), &elem2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(doc, 1);
     todo_wine EXPECT_REF(elem, 2);
@@ -9753,14 +9877,14 @@ static void test_appendChild(void)
     EXPECT_NO_CHILDREN(doc2);
 
     hr = IXMLDOMDocument_appendChild(doc2, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_appendChild(elem, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* append from another document */
     hr = IXMLDOMDocument_appendChild(doc2, (IXMLDOMNode*)elem, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(doc, 1);
     todo_wine EXPECT_REF(elem, 2);
@@ -9786,32 +9910,32 @@ static void test_get_doctype(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_doctype(doc, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     doctype = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_get_doctype(doc, &doctype);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(doctype == NULL, "got %p\n", doctype);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szEmailXML), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     doctype = NULL;
     hr = IXMLDOMDocument_get_doctype(doc, &doctype);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(doctype != NULL, "got %p\n", doctype);
 
     hr = IXMLDOMDocumentType_get_name(doctype, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocumentType_get_name(doctype, &s);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"email", s), "got name %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
     hr = IXMLDOMDocumentType_get_nodeName(doctype, &s);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"email", s), "got name %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
@@ -9829,23 +9953,23 @@ static void test_get_tagName(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("element"), &elem);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_tagName(elem, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLDOMElement_get_tagName(elem, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"element"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("s:element"), &elem2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLDOMElement_get_tagName(elem2, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"s:element"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -9893,11 +10017,11 @@ static void test_get_dataType(void)
         ok(hr == S_OK, "failed to create node, type %d\n", entry->type);
 
         hr = IXMLDOMNode_get_dataType(node, NULL);
-        ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         VariantInit(&type);
         hr = IXMLDOMNode_get_dataType(node, &type);
-        ok(hr == entry->hr, "got 0x%08x, expected 0x%08x. node type %d\n",
+        ok(hr == entry->hr, "Unexpected hr %#lx, expected %#lx. node type %d\n",
             hr, entry->hr, entry->type);
         ok(V_VT(&type) == entry->vt, "got %d, expected %d. node type %d\n",
             V_VT(&type), entry->vt, entry->type);
@@ -9939,7 +10063,7 @@ static void test_get_nodeTypeString(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_nodeTypeString(doc, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"document"), "got string %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -9954,10 +10078,10 @@ static void test_get_nodeTypeString(void)
         ok(hr == S_OK, "failed to create node, type %d\n", entry->type);
 
         hr = IXMLDOMNode_get_nodeTypeString(node, NULL);
-        ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMNode_get_nodeTypeString(node, &str);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, _bstr_(entry->string)), "got string %s, expected %s. node type %d\n",
             wine_dbgstr_w(str), entry->string, entry->type);
         SysFreeString(str);
@@ -10002,32 +10126,32 @@ static void test_get_attributes(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(complete4A), &b);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_attributes(doc, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     map = (void*)0xdeadbeef;
     hr = IXMLDOMDocument_get_attributes(doc, &map);
-    ok(hr == S_FALSE, "got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(map == NULL, "got %p\n", map);
 
     /* first child is <?xml ?> */
     hr = IXMLDOMDocument_get_firstChild(doc, &node);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_attributes(node, &map);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     node2 = (void*)0xdeadbeef;
     hr = IXMLDOMNamedNodeMap_getNamedItem(map, _bstr_("attr"), &node2);
-    ok(hr == S_FALSE, "got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(node2 == NULL, "got %p\n", node2);
 
     length = -1;
     hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-    EXPECT_HR(hr, S_OK);
-    todo_wine ok(length == 1, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    todo_wine ok(length == 1, "got %ld\n", length);
 
     if (hr == S_OK && length == 1)
     {
@@ -10037,90 +10161,90 @@ static void test_get_attributes(void)
 
         node2 = NULL;
         hr = IXMLDOMNamedNodeMap_get_item(map, 0, &node2);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(node != NULL, "got %p\n", node2);
 
         hr = IXMLDOMNode_get_nodeName(node2, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"version"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         length = -1;
         hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-        EXPECT_HR(hr, S_OK);
-        ok(length == 1, "got %d\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 1, "got %ld\n", length);
 
         type = -1;
         hr = IXMLDOMNode_get_nodeType(node2, &type);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(type == NODE_ATTRIBUTE, "got %d\n", type);
 
         hr = IXMLDOMNode_get_xml(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"<?xml version=\"1.0\"?>"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNode_get_text(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"version=\"1.0\""), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNamedNodeMap_removeNamedItem(map, _bstr_("version"), NULL);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         length = -1;
         hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-        EXPECT_HR(hr, S_OK);
-        ok(length == 0, "got %d\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 0, "got %ld\n", length);
 
         hr = IXMLDOMNode_get_xml(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"<?xml version=\"1.0\"?>"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNode_get_text(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L""), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         IXMLDOMNamedNodeMap_Release(map);
 
         hr = IXMLDOMNode_get_attributes(node, &map);
-        ok(hr == S_OK, "got %08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         length = -1;
         hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-        EXPECT_HR(hr, S_OK);
-        ok(length == 0, "got %d\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 0, "got %ld\n", length);
 
         hr = IXMLDOMDocument_createAttribute(doc, _bstr_("encoding"), &attr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&v) = VT_BSTR;
         V_BSTR(&v) = _bstr_("UTF-8");
         hr = IXMLDOMAttribute_put_nodeValue(attr, v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         EXPECT_REF(attr, 2);
         hr = IXMLDOMNamedNodeMap_setNamedItem(map, (IXMLDOMNode*)attr, NULL);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(attr, 2);
 
         hr = IXMLDOMNode_get_attributes(node, &map);
-        ok(hr == S_OK, "got %08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         length = -1;
         hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-        EXPECT_HR(hr, S_OK);
-        ok(length == 1, "got %d\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 1, "got %ld\n", length);
 
         hr = IXMLDOMNode_get_xml(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"<?xml version=\"1.0\"?>"), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
         hr = IXMLDOMNode_get_text(node, &str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(str, L"encoding=\"UTF-8\""), "got %s\n", wine_dbgstr_w(str));
         SysFreeString(str);
 
@@ -10133,18 +10257,18 @@ static void test_get_attributes(void)
     /* last child is element */
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_get_lastChild(doc, &node);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(doc, 1);
 
     EXPECT_REF(node, 1);
     hr = IXMLDOMNode_get_attributes(node, &map);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node, 1);
     EXPECT_REF(doc, 1);
 
     EXPECT_REF(map, 1);
     hr = IXMLDOMNamedNodeMap_get_item(map, 0, &node2);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node, 1);
     EXPECT_REF(node2, 1);
     EXPECT_REF(map, 1);
@@ -10156,12 +10280,12 @@ static void test_get_attributes(void)
 
     length = 0;
     hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-    ok(hr == S_OK, "got %08x\n", hr);
-    ok(length == 1, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "got %ld\n", length);
 
     node2 = NULL;
     hr = IXMLDOMNamedNodeMap_get_item(map, 0, &node2);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(node2, 1);
     IXMLDOMNode_Release(node2);
 
@@ -10169,25 +10293,25 @@ static void test_get_attributes(void)
 
     /* append created element a different document, map still works */
     hr = IXMLDOMDocument_createElement(doc, _bstr_("test"), &elem);
-    ok(hr == S_OK, "createElement failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_I4;
     V_I4(&v) = 1;
     hr = IXMLDOMElement_setAttribute(elem, _bstr_("testattr"), v);
-    ok(hr == S_OK, "setAttribute failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_attributes(elem, &map);
-    ok(hr == S_OK, "get_attributes failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = 0;
     hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-    ok(hr == S_OK, "got %08x\n", hr);
-    ok(length == 1, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "got %ld\n", length);
 
     doc2 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_appendChild(doc2, (IXMLDOMNode*)elem, &node);
-    ok(hr == S_OK, "appendChild failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == (IXMLDOMNode*)elem, "node != elem\n");
     IXMLDOMNode_Release(node);
     IXMLDOMElement_Release(elem);
@@ -10195,8 +10319,8 @@ static void test_get_attributes(void)
 
     length = 0;
     hr = IXMLDOMNamedNodeMap_get_length(map, &length);
-    ok(hr == S_OK, "got %08x\n", hr);
-    ok(length == 1, "got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "got %ld\n", length);
 
     IXMLDOMNamedNodeMap_Release(map);
 
@@ -10212,11 +10336,11 @@ static void test_get_attributes(void)
         ok(hr == S_OK, "failed to create node, type %d\n", entry->type);
 
         hr = IXMLDOMNode_get_attributes(node, NULL);
-        ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         map = (void*)0xdeadbeef;
         hr = IXMLDOMNode_get_attributes(node, &map);
-        ok(hr == entry->hr, "got 0x%08x, expected 0x%08x. node type %d\n",
+        ok(hr == entry->hr, "Unexpected hr %#lx, expected %#lx. node type %d\n",
             hr, entry->hr, entry->type);
         ok(map == NULL, "got %p\n", map);
 
@@ -10250,47 +10374,47 @@ static void test_selection(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("root"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_QueryInterface(list, &IID_IXMLDOMSelection, (void**)&selection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMSelection_Release(selection);
 
     /* collection disp id */
     hr = IXMLDOMSelection_QueryInterface(selection, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     did = 0;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("0"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE, "got %d\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE, "got %ld\n", did);
     len = 0;
     hr = IXMLDOMSelection_get_length(selection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "got %ld\n", len);
     hr = IDispatchEx_GetDispID(dispex, _bstr_("10"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE+10, "got %d\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE+10, "got %ld\n", did);
     IDispatchEx_Release(dispex);
 
     /* IEnumVARIANT tests */
     enum1 = NULL;
     hr = IXMLDOMSelection_QueryInterface(selection, &IID_IEnumVARIANT, (void**)&enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum1 != NULL, "got %p\n", enum1);
     EXPECT_REF(enum1, 2);
 
     EXPECT_REF(selection, 1);
     hr = IXMLDOMSelection_QueryInterface(selection, &IID_IUnknown, (void**)&unk1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(selection, 2);
     EXPECT_REF(enum1, 2);
 
     /* enumerator and selection object return same IUnknown* */
     hr = IEnumVARIANT_QueryInterface(enum1, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(selection, 3);
     EXPECT_REF(enum1, 2);
     ok(unk2 == unk1, "got %p, %p\n", unk1, unk2);
@@ -10303,7 +10427,7 @@ static void test_selection(void)
 
     enum3 = NULL;
     hr = IXMLDOMSelection_QueryInterface(selection, &IID_IEnumVARIANT, (void**)&enum3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum3 != NULL, "got %p\n", enum3);
     ok(enum1 == enum3, "got %p and %p\n", enum1, enum3);
     EXPECT_REF(enum1, 3);
@@ -10314,7 +10438,7 @@ static void test_selection(void)
 
     enum2 = NULL;
     hr = IXMLDOMSelection_get__newEnum(selection, (IUnknown**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum2 != NULL, "got %p\n", enum2);
 
     EXPECT_REF(selection, 3);
@@ -10324,7 +10448,7 @@ static void test_selection(void)
     ok(enum1 != enum2, "got %p, %p\n", enum1, enum2);
 
     hr = IEnumVARIANT_QueryInterface(enum2, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(selection, 3);
     EXPECT_REF(enum2, 2);
     ok(unk2 != unk1, "got %p, %p\n", unk1, unk2);
@@ -10333,7 +10457,7 @@ static void test_selection(void)
 
     selection2 = NULL;
     hr = IEnumVARIANT_QueryInterface(enum1, &IID_IXMLDOMSelection, (void**)&selection2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(selection2 == selection, "got %p and %p\n", selection, selection2);
     EXPECT_REF(selection, 3);
     EXPECT_REF(enum1, 2);
@@ -10341,12 +10465,12 @@ static void test_selection(void)
     IXMLDOMSelection_Release(selection2);
 
     hr = IEnumVARIANT_QueryInterface(enum1, &IID_IDispatch, (void**)&disp);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(selection, 3);
     IDispatch_Release(disp);
 
     hr = IEnumVARIANT_QueryInterface(enum1, &IID_IEnumVARIANT, (void**)&enum3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum3 == enum1, "got %p and %p\n", enum3, enum1);
     EXPECT_REF(selection, 2);
     EXPECT_REF(enum1, 3);
@@ -10357,14 +10481,14 @@ static void test_selection(void)
 
     enum1 = NULL;
     hr = IXMLDOMSelection_get__newEnum(selection, (IUnknown**)&enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum1 != NULL, "got %p\n", enum1);
     EXPECT_REF(enum1, 1);
     EXPECT_REF(selection, 2);
 
     enum2 = NULL;
     hr = IXMLDOMSelection_get__newEnum(selection, (IUnknown**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum2 != NULL, "got %p\n", enum2);
     EXPECT_REF(enum2, 1);
     EXPECT_REF(selection, 3);
@@ -10385,55 +10509,55 @@ static void test_selection(void)
     IXMLDOMNodeList_Release(list);
 
     hr = IXMLDOMDocument_get_childNodes(doc, &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_QueryInterface(list, &IID_IXMLDOMSelection, (void**)&selection);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMNodeList_Release(list);
 
     /* test if IEnumVARIANT touches selection context */
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(xpath_simple_list), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("root/*"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_QueryInterface(list, &IID_IXMLDOMSelection, (void**)&selection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 0;
     hr = IXMLDOMSelection_get_length(selection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 4, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 4, "got %ld\n", len);
 
     enum1 = NULL;
     hr = IXMLDOMSelection_get__newEnum(selection, (IUnknown**)&enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* no-op if zero count */
     V_VT(&v[0]) = VT_I2;
     hr = IEnumVARIANT_Next(enum1, 0, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_I2, "got var type %d\n", V_VT(&v[0]));
 
     /* positive count, null array pointer */
     hr = IEnumVARIANT_Next(enum1, 1, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IEnumVARIANT_Next(enum1, 1, NULL, &ret);
-    EXPECT_HR(hr, E_INVALIDARG);
-    ok(ret == 0, "got %d\n", ret);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
+    ok(ret == 0, "got %ld\n", ret);
 
     V_VT(&v[0]) = VT_I2;
     hr = IEnumVARIANT_Next(enum1, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
 
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"a"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
@@ -10441,56 +10565,56 @@ static void test_selection(void)
 
     /* list cursor is updated */
     hr = IXMLDOMSelection_nextNode(selection, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"c"), "got node name %s\n", wine_dbgstr_w(name));
     IXMLDOMNode_Release(node);
     SysFreeString(name);
 
     V_VT(&v[0]) = VT_I2;
     hr = IEnumVARIANT_Next(enum1, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"b"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
     VariantClear(&v[0]);
 
     hr = IXMLDOMSelection_nextNode(selection, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"d"), "got node name %s\n", wine_dbgstr_w(name));
     IXMLDOMNode_Release(node);
     SysFreeString(name);
 
     hr = IEnumVARIANT_Reset(enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* getting multiple elements */
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum1, 2, v, &ret);
-    EXPECT_HR(hr, S_OK);
-    ok(ret == 2, "got %d, expected 2\n", ret);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(ret == 2, "got %ld, expected 2\n", ret);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[1]));
 
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"a"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
 
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[1]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
     ok(!lstrcmpW(name, L"b"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
@@ -10501,9 +10625,9 @@ static void test_selection(void)
 
     /* IEnumVARIANT_Next makes the IXMLDOMSelection cursor advance one step more */
     hr = IXMLDOMSelection_nextNode(selection, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"d"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
@@ -10514,23 +10638,23 @@ static void test_selection(void)
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum1, 4, v, &ret);
-    EXPECT_HR(hr, S_FALSE);
-    ok(ret == 2, "got %d, expected 2\n", ret);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(ret == 2, "got %ld, expected 2\n", ret);
 
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"c"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
 
     ok(V_VT(&v[1]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[1]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[1]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &name);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"d"), "got node name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
     IXMLDOMNode_Release(node);
@@ -10559,7 +10683,7 @@ static void write_to_file(const char *name, const char *data)
     ok(hfile != INVALID_HANDLE_VALUE, "failed to create test file: %s\n", name);
 
     ret = WriteFile(hfile, data, strlen(data), &written, NULL);
-    ok(ret, "WriteFile failed: %s, %d\n", name, GetLastError());
+    ok(ret, "WriteFile failed: %s, %ld\n", name, GetLastError());
 
     CloseHandle(hfile);
 }
@@ -10581,13 +10705,13 @@ static void _test_doc_load_from_path(IXMLDOMDocument *doc, const char *path,
     V_VT(&src) = VT_BSTR;
     V_BSTR(&src) = url;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    ok_(__FILE__, line)(hr == expected_hr, "Failed to load document, %#x.\n", hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Failed to load document, %#lx.\n", hr);
     ok_(__FILE__, line)(b == expected_ret, "got %d\n", b);
 
     V_VT(&src) = VT_BSTR | VT_BYREF;
     V_BSTRREF(&src) = &url;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    ok_(__FILE__, line)(hr == expected_hr, "Failed to load document, %#x.\n", hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Failed to load document, %#lx.\n", hr);
     ok_(__FILE__, line)(b == expected_ret, "got %d\n", b);
 
     if (expected_hr != S_OK)
@@ -10595,17 +10719,17 @@ static void _test_doc_load_from_path(IXMLDOMDocument *doc, const char *path,
 
     url = NULL;
     hr = IXMLDOMDocument_get_url(doc, &url);
-    ok_(__FILE__, line)(hr == S_OK, "Failed to get document url, hr %#x.\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "Failed to get document url, hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    ok_(__FILE__, line)(hr == S_OK, "got 0x%08x\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* Create another instance for the same document, check url */
     hr = IXMLDOMElement_get_ownerDocument(elem, &doc2);
-    ok_(__FILE__, line)(hr == S_OK, "Failed to get owner document, hr %#x.\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "Failed to get owner document, hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_url(doc2, &url2);
-    ok_(__FILE__, line)(hr == S_OK, "Failed to get document url, hr %#x.\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "Failed to get document url, hr %#lx.\n", hr);
     ok_(__FILE__, line)(!lstrcmpW(url, url2), "Unexpected url %s.\n", wine_dbgstr_w(url2));
 
     IXMLDOMDocument_Release(doc2);
@@ -10663,7 +10787,7 @@ static void test_load(void)
     V_VT(&src) = VT_UNKNOWN;
     V_UNKNOWN(&src) = NULL;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_FALSE, "got %d\n", b);
 
     /* "file://" url */
@@ -10691,12 +10815,12 @@ static void test_load(void)
     V_VT(&src) = VT_BSTR | VT_BYREF;
     V_BSTRREF(&src) = NULL;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_FALSE, "got %d\n", b);
 
     bstr1 = NULL;
     hr = IXMLDOMDocument_get_url(doc, &bstr1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(bstr1);
 
     /* Regular local path with some URL encoded characters. */
@@ -10724,12 +10848,12 @@ static void test_load(void)
     V_BSTR(&src) = _bstr_(path);
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_FALSE, "got %d\n", b);
 
     bstr1 = (void *)0xdeadbeef;
     hr = IXMLDOMDocument_get_url(doc, &bstr1);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(bstr1 == NULL, "got %p\n", bstr1);
 
     DeleteFileA(path);
@@ -10738,15 +10862,15 @@ static void test_load(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szExampleXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("//*"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     bstr1 = _bstr_(list_to_string(list));
 
     hr = IXMLDOMNodeList_reset(list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMDocument_Release(doc);
 
@@ -10758,23 +10882,23 @@ static void test_load(void)
     ok(V_ARRAY(&src) != NULL, "SafeArrayCreateVector() returned NULL\n");
     ptr = NULL;
     hr = SafeArrayAccessData(V_ARRAY(&src), &ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ptr != NULL, "SafeArrayAccessData() returned NULL\n");
 
     memcpy(ptr, szExampleXML, lstrlenA(szExampleXML));
     hr = SafeArrayUnlock(V_ARRAY(&src));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_load(doc, src, &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("//*"), &list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     bstr2 = _bstr_(list_to_string(list));
 
     hr = IXMLDOMNodeList_reset(list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ok(lstrcmpW(bstr1, bstr2) == 0, "strings not equal: %s : %s\n",
        wine_dbgstr_w(bstr1), wine_dbgstr_w(bstr2));
@@ -10791,15 +10915,15 @@ static void test_load(void)
     ok(V_ARRAY(&src) != NULL, "SafeArrayCreateVector() returned NULL\n");
     ptr = NULL;
     hr = SafeArrayAccessData(V_ARRAY(&src), &ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ptr != NULL, "SafeArrayAccessData() returned NULL\n");
 
     memcpy(ptr, szComplete1, lstrlenW(szComplete1) * sizeof(WCHAR));
     hr = SafeArrayUnlock(V_ARRAY(&src));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_load(doc, src, &b);
-    todo_wine EXPECT_HR(hr, S_FALSE);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(b == VARIANT_FALSE, "got %d\n", b);
 
     VariantClear(&src);
@@ -10810,15 +10934,15 @@ static void test_load(void)
     ok(V_ARRAY(&src) != NULL, "SafeArrayCreateVector() returned NULL\n");
     ptr = NULL;
     hr = SafeArrayAccessData(V_ARRAY(&src), &ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ptr != NULL, "SafeArrayAccessData() returned NULL\n");
 
     memcpy(ptr, szComplete1, lstrlenW(szComplete1) * sizeof(WCHAR));
     hr = SafeArrayUnlock(V_ARRAY(&src));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_load(doc, src, &b);
-    todo_wine EXPECT_HR(hr, E_INVALIDARG);
+    todo_wine ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_FALSE, "got %d\n", b);
 
     VariantClear(&src);
@@ -10829,7 +10953,7 @@ static void test_load(void)
     V_UNKNOWN(&src) = (IUnknown*)stream;
     b = VARIANT_TRUE;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    todo_wine ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_FALSE, "got %d\n", b);
     EXPECT_PARSE_ERROR(doc, XML_E_INVALIDATROOTLEVEL, TRUE);
     VariantClear(&src);
@@ -10840,7 +10964,7 @@ static void test_load(void)
     V_UNKNOWN(&src) = (IUnknown*)stream;
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_load(doc, src, &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
     EXPECT_PARSE_ERROR(doc, S_OK, FALSE);
     VariantClear(&src);
@@ -10873,42 +10997,42 @@ static void test_domobj_dispex(IUnknown *obj)
     BSTR name;
 
     hr = IUnknown_QueryInterface(obj, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (FAILED(hr)) return;
 
     ticnt = 0;
     hr = IDispatchEx_GetTypeInfoCount(dispex, &ticnt);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ticnt == 1, "ticnt=%u\n", ticnt);
 
     name = SysAllocString(L"*");
     hr = IDispatchEx_DeleteMemberByName(dispex, name, fdexNameCaseSensitive);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     hr = IDispatchEx_DeleteMemberByDispID(dispex, dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     props = 0;
     hr = IDispatchEx_GetMemberProperties(dispex, dispid, grfdexPropCanAll, &props);
-    EXPECT_HR(hr, E_NOTIMPL);
-    ok(props == 0, "expected 0 got %d\n", props);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
+    ok(props == 0, "expected 0 got %ld\n", props);
 
     hr = IDispatchEx_GetMemberName(dispex, dispid, &name);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     if (SUCCEEDED(hr)) SysFreeString(name);
 
     hr = IDispatchEx_GetNextDispID(dispex, fdexEnumDefault, DISPID_XMLDOM_NODELIST_RESET, &dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     unk = (IUnknown*)0xdeadbeef;
     hr = IDispatchEx_GetNameSpaceParent(dispex, &unk);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(unk == (IUnknown*)0xdeadbeef, "got %p\n", unk);
 
     name = SysAllocString(L"testprop");
     hr = IDispatchEx_GetDispID(dispex, name, fdexNameEnsure, &dispid);
-    ok(hr == DISP_E_UNKNOWNNAME, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_UNKNOWNNAME, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     IDispatchEx_Release(dispex);
@@ -10928,7 +11052,7 @@ static void test_mxnamespacemanager(void)
 
     hr = CoCreateInstance(&CLSID_MXNamespaceManager40, NULL, CLSCTX_INPROC_SERVER,
         &IID_IMXNamespaceManager, (void**)&nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     check_interface(nsmgr, &IID_IDispatch, TRUE);
     check_interface(nsmgr, &IID_IDispatchEx, TRUE);
@@ -10936,14 +11060,14 @@ static void test_mxnamespacemanager(void)
     check_interface(nsmgr, &IID_IVBMXNamespaceManager, TRUE);
 
     hr = IMXNamespaceManager_QueryInterface(nsmgr, &IID_IVBMXNamespaceManager, (void**)&mgr2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(nsmgr, 2);
     EXPECT_REF(mgr2, 2);
     prefixes = NULL;
     hr = IVBMXNamespaceManager_getDeclaredPrefixes(mgr2, &prefixes);
     todo_wine
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (hr == S_OK)
     {
         IDispatchEx *dispex;
@@ -10965,7 +11089,7 @@ static void test_mxnamespacemanager(void)
         IUnknown_Release(unk2);
 
         hr = IMXNamespacePrefixes_QueryInterface(prefixes, &IID_IDispatchEx, (void**)&dispex);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&arg) = VT_I4;
         V_I4(&arg) = 0;
@@ -10977,7 +11101,7 @@ static void test_mxnamespacemanager(void)
         V_VT(&ret) = VT_EMPTY;
         V_DISPATCH(&ret) = (void*)0x1;
         hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&ret) == VT_BSTR, "got %d\n", V_VT(&ret));
         ok(V_BSTR(&ret) != NULL, "got %p\n", V_BSTR(&ret));
         VariantClear(&ret);
@@ -10988,94 +11112,94 @@ static void test_mxnamespacemanager(void)
     IVBMXNamespaceManager_Release(mgr2);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* prefix already added */
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, _bstr_("ns0 uri"));
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns0"), NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* "xml" and "xmlns" are not allowed here */
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("xml"), _bstr_("uri1"));
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("xmlns"), _bstr_("uri1"));
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 todo_wine {
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, -1, NULL, NULL);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 }
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, NULL, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 3, "got %d\n", len);
 
     len = -1;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, buffW, &len);
-    EXPECT_HR(hr, E_XML_BUFFERTOOSMALL);
+    ok(hr == E_XML_BUFFERTOOSMALL, "Unexpected hr %#lx.\n", hr);
     ok(len == -1, "got %d\n", len);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
 
     len = 10;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 3, "got %d\n", len);
     ok(!lstrcmpW(buffW, L"xml"), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     /* getURI */
     hr = IMXNamespaceManager_getURI(nsmgr, NULL, NULL, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IMXNamespaceManager_getURI(nsmgr, NULL, NULL, NULL, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(len == -1, "got %d\n", len);
 
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml"), NULL, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml"), NULL, NULL, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* length of "xml" uri is constant */
     ok(len == strlen(xmluriA), "got %d\n", len);
 
     len = 100;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml"), NULL, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == strlen(xmluriA), "got %d\n", len);
     ok(!lstrcmpW(buffW, _bstr_(xmluriA)), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     len = strlen(xmluriA)-1;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml"), NULL, buffW, &len);
-    EXPECT_HR(hr, E_XML_BUFFERTOOSMALL);
+    ok(hr == E_XML_BUFFERTOOSMALL, "Unexpected hr %#lx.\n", hr);
     ok(len == strlen(xmluriA)-1, "got %d\n", len);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
 
     /* prefix xml1 not defined */
     len = -1;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml1"), NULL, NULL, &len);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(len == 0, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_("xml1"), NULL, buffW, &len);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0, "got %x\n", buffW[0]);
     ok(len == 0, "got %d\n", len);
 
     /* IDispatchEx tests */
     hr = IMXNamespaceManager_QueryInterface(nsmgr, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
 
@@ -11084,136 +11208,136 @@ todo_wine {
     /* ::getPrefix() */
     hr = CoCreateInstance(&CLSID_MXNamespaceManager40, NULL, CLSCTX_INPROC_SERVER,
         &IID_IMXNamespaceManager, (void**)&nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_getPrefix(nsmgr, NULL, 0, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, NULL, 0, NULL, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(len == -1, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns0 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 0;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns0 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 0, "got %d\n", len);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns1"), _bstr_("ns1 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("http://www.w3.org/XML/1998/namespace"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"xml"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     /* with null buffer it's possible to get required length */
     len = 100;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("http://www.w3.org/XML/1998/namespace"), 0, NULL, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 3, "got %d\n", len);
 
     len = 0;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("http://www.w3.org/XML/1998/namespace"), 0, NULL, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 3, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 1, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 2, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_(""), 0, buffW, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_(""), 1, buffW, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, NULL, 0, buffW, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns0 uri"), 1, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_(""), 1, buffW, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     /* declare another one, indices are shifted */
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns2"), _bstr_("ns2 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns2 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns2"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns2 uri"), 1, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_(""), 1, buffW, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
@@ -11222,78 +11346,78 @@ todo_wine {
     /* push/pop tests */
     hr = CoCreateInstance(&CLSID_MXNamespaceManager40, NULL, CLSCTX_INPROC_SERVER,
         &IID_IMXNamespaceManager, (void**)&nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* pop with empty stack */
     hr = IMXNamespaceManager_popContext(nsmgr);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns1"), _bstr_("ns1 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     hr = IMXNamespaceManager_pushContext(nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns2"), _bstr_("ns2 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns2 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns2"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     hr = IMXNamespaceManager_pushContext(nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns3"), _bstr_("ns3 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns2 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns2"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
     hr = IMXNamespaceManager_popContext(nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_popContext(nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns2 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(buffW[0] == 0x1, "got %x\n", buffW[0]);
     ok(len == 100, "got %d\n", len);
 
     len = 100;
     buffW[0] = 0x1;
     hr = IMXNamespaceManager_getPrefix(nsmgr, _bstr_("ns1 uri"), 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got %s\n", wine_dbgstr_w(buffW));
     ok(len == 3, "got %d\n", len);
 
@@ -11312,95 +11436,95 @@ static void test_mxnamespacemanager_override(void)
 
     hr = CoCreateInstance(&CLSID_MXNamespaceManager40, NULL, CLSCTX_INPROC_SERVER,
         &IID_IMXNamespaceManager, (void**)&nsmgr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"xml"), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 1, buffW, &len);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_getAllowOverride(nsmgr, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_FALSE;
     hr = IMXNamespaceManager_getAllowOverride(nsmgr, &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IMXNamespaceManager_putAllowOverride(nsmgr, VARIANT_FALSE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, _bstr_("ns0 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_(""), NULL, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns0 uri"), "got uri %s\n", wine_dbgstr_w(buffW));
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns0"), _bstr_("ns0 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 0, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"xml"), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 1, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns0"), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 2, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L""), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     /* new prefix placed at index 1 always */
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_("ns1"), _bstr_("ns1 uri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 1, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns1"), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, _bstr_(""), NULL);
-    todo_wine EXPECT_HR(hr, E_FAIL);
+    todo_wine ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, NULL);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, _bstr_("ns0 uri"));
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_putAllowOverride(nsmgr, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXNamespaceManager_declarePrefix(nsmgr, NULL, _bstr_("ns0 uri override"));
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getURI(nsmgr, _bstr_(""), NULL, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L"ns0 uri override"), "got uri %s\n", wine_dbgstr_w(buffW));
 
     len = ARRAY_SIZE(buffW);
     buffW[0] = 0;
     hr = IMXNamespaceManager_getDeclaredPrefix(nsmgr, 3, buffW, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(buffW, L""), "got prefix %s\n", wine_dbgstr_w(buffW));
 
     IMXNamespaceManager_Release(nsmgr);
@@ -11445,7 +11569,7 @@ static void test_dispex(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
 
@@ -11469,37 +11593,37 @@ static void test_dispex(void)
 
     /* IXMLDOMNodeList */
     hr = IXMLDOMDocument_getElementsByTagName(doc, _bstr_("*"), &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
     IXMLDOMNodeList_Release(node_list);
 
     /* IXMLDOMNodeList for children list */
     hr = IXMLDOMDocument_get_childNodes(doc, &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
 
     /* collection dispex test, empty collection */
     hr = IXMLDOMNodeList_QueryInterface(node_list, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     did = 0;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("0"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE, "got 0x%08x\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE, "Unexpected value %ld.\n", did);
     hr = IDispatchEx_GetDispID(dispex, _bstr_("1"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE+1, "got 0x%08x\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE+1, "Unexpected value %ld.\n", did);
     IDispatchEx_Release(dispex);
 
     did = -1;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("item"), 0, &did);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(did == DISPID_VALUE, "got %d\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_VALUE, "got %ld\n", did);
 
     V_VT(&arg) = VT_I4;
     V_I4(&arg) = 0;
@@ -11511,7 +11635,7 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_BADPARAMCOUNT, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_BADPARAMCOUNT, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
     todo_wine
     ok(broken(V_DISPATCH(&ret) == (void*)0x1) || (V_DISPATCH(&ret) == NULL), "got %p\n", V_DISPATCH(&ret));
@@ -11526,7 +11650,7 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_BADPARAMCOUNT, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_BADPARAMCOUNT, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
     todo_wine
     ok(broken(V_DISPATCH(&ret) == (void*)0x1) || (V_DISPATCH(&ret) == NULL), "got %p\n", V_DISPATCH(&ret));
@@ -11541,21 +11665,21 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_PROPERTYGET|DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
@@ -11567,9 +11691,9 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_I4(&ret) = 1;
     hr = IDispatchEx_Invoke(dispex, DISPID_DOM_NODELIST_LENGTH, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_I4, "got %d\n", V_VT(&ret));
-    ok(V_I4(&ret) == 0, "got %d\n", V_I4(&ret));
+    ok(V_I4(&ret) == 0, "got %ld\n", V_I4(&ret));
 
     dispparams.cArgs = 0;
     dispparams.cNamedArgs = 0;
@@ -11579,21 +11703,21 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_I4(&ret) = 1;
     hr = IDispatchEx_Invoke(dispex, DISPID_DOM_NODELIST_LENGTH, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
     todo_wine
-    ok(broken(V_I4(&ret) == 1) || (V_I4(&ret) == 0), "got %d\n", V_I4(&ret));
+    ok(broken(V_I4(&ret) == 1) || (V_I4(&ret) == 0), "got %ld\n", V_I4(&ret));
 
     IXMLDOMNodeList_Release(node_list);
 
     /* IXMLDOMParseError */
     hr = IXMLDOMDocument_get_parseError(doc, &error);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMParseError_QueryInterface(error, &IID_IUnknown, (void**)&unk);
     test_domobj_dispex(unk);
 
     hr = IXMLDOMParseError_QueryInterface(error, &IID_IDispatchEx, (void**)&dispex);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&arg) = VT_I4;
     V_I4(&arg) = 0;
@@ -11605,7 +11729,7 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
     todo_wine
     ok(broken(V_DISPATCH(&ret) == (void*)0x1) || (V_DISPATCH(&ret) == NULL), "got %p\n", V_DISPATCH(&ret));
@@ -11617,58 +11741,58 @@ static void test_dispex(void)
 
     /* IXMLDOMNamedNodeMap */
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(xpath_simple_list), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("root/a"), &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNodeList_get_item(node_list, 0, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release(node_list);
 
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)&elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
     hr = IXMLDOMElement_get_attributes(elem, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IUnknown, (void**)&unk);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
     /* collection dispex test */
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     did = 0;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("0"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE, "got 0x%08x\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE, "Unexpected value %ld.\n", did);
     IDispatchEx_Release(dispex);
     IXMLDOMNamedNodeMap_Release(map);
 
     hr = IXMLDOMDocument_selectNodes(doc, _bstr_("root/b"), &node_list);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNodeList_get_item(node_list, 0, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNodeList_Release(node_list);
     hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMElement, (void**)&elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node);
     hr = IXMLDOMElement_get_attributes(elem, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* collection dispex test, empty collection */
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     did = 0;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("0"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE, "got 0x%08x\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE, "Unexpected value %ld\n", did);
     hr = IDispatchEx_GetDispID(dispex, _bstr_("1"), 0, &did);
-    EXPECT_HR(hr, S_OK);
-    ok(did == DISPID_DOM_COLLECTION_BASE+1, "got 0x%08x\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_DOM_COLLECTION_BASE+1, "Unexpected value %ld.\n", did);
     IXMLDOMNamedNodeMap_Release(map);
 
     did = -1;
     hr = IDispatchEx_GetDispID(dispex, _bstr_("item"), 0, &did);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(did == DISPID_VALUE, "got %d\n", did);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(did == DISPID_VALUE, "got %ld\n", did);
 
     V_VT(&arg) = VT_I4;
     V_I4(&arg) = 0;
@@ -11681,7 +11805,7 @@ static void test_dispex(void)
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
 todo_wine {
-    ok(hr == DISP_E_BADPARAMCOUNT, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_BADPARAMCOUNT, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
 }
     ok(broken(V_DISPATCH(&ret) == (void*)0x1) || (V_DISPATCH(&ret) == NULL), "got %p\n", V_DISPATCH(&ret));
@@ -11697,7 +11821,7 @@ todo_wine {
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
 todo_wine {
-    ok(hr == DISP_E_BADPARAMCOUNT, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_BADPARAMCOUNT, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
 }
     ok(broken(V_DISPATCH(&ret) == (void*)0x1) || (V_DISPATCH(&ret) == NULL), "got %p\n", V_DISPATCH(&ret));
@@ -11713,21 +11837,21 @@ todo_wine {
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
     todo_wine
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_PROPERTYGET|DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_DISPATCH, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == NULL, "got %p\n", V_DISPATCH(&ret));
 
@@ -11739,9 +11863,9 @@ todo_wine {
     V_VT(&ret) = VT_EMPTY;
     V_I4(&ret) = 1;
     hr = IDispatchEx_Invoke(dispex, DISPID_DOM_NODELIST_LENGTH, &IID_NULL, 0, DISPATCH_PROPERTYGET, &dispparams, &ret, NULL, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_I4, "got %d\n", V_VT(&ret));
-    ok(V_I4(&ret) == 0, "got %d\n", V_I4(&ret));
+    ok(V_I4(&ret) == 0, "got %ld\n", V_I4(&ret));
 
     dispparams.cArgs = 0;
     dispparams.cNamedArgs = 0;
@@ -11751,20 +11875,20 @@ todo_wine {
     V_VT(&ret) = VT_EMPTY;
     V_I4(&ret) = 1;
     hr = IDispatchEx_Invoke(dispex, DISPID_DOM_NODELIST_LENGTH, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "Unexpected hr %#lx.\n", hr);
     todo_wine
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
-    ok(broken(V_I4(&ret) == 1) || (V_I4(&ret) == 0), "got %d\n", V_I4(&ret));
+    ok(broken(V_I4(&ret) == 1) || (V_I4(&ret) == 0), "got %ld\n", V_I4(&ret));
 
     IDispatchEx_Release(dispex);
     IXMLDOMElement_Release(elem);
 
     /* IXMLDOMImplementation */
     hr = IXMLDOMDocument_get_implementation(doc, &impl);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMImplementation_QueryInterface(impl, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IDispatchEx_Release(dispex);
     IXMLDOMImplementation_Release(impl);
 
@@ -11776,38 +11900,38 @@ todo_wine {
     if (hr == S_OK)
     {
         hr = IXMLHTTPRequest_QueryInterface(req, &IID_IDispatchEx, (void**)&dispex);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
         IXMLHTTPRequest_Release(req);
     }
 
     /* IXSLTemplate */
     template = create_xsltemplate(&IID_IXSLTemplate);
     hr = IXSLTemplate_QueryInterface(template, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IDispatchEx_QueryInterface(dispex, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
     IDispatchEx_Release(dispex);
 
     /* IXSLProcessor */
     hr = CoCreateInstance(&CLSID_FreeThreadedDOMDocument, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument, (void**)&doc);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szTransformSSXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXSLTemplate_putref_stylesheet(template, (IXMLDOMNode*)doc);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMDocument_Release(doc);
 
     hr = IXSLTemplate_createProcessor(template, &processor);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXSLProcessor_QueryInterface(processor, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IDispatchEx_QueryInterface(dispex, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_domobj_dispex(unk);
     IUnknown_Release(unk);
     IDispatchEx_Release(dispex);
@@ -11835,16 +11959,16 @@ static void test_parseerror(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_parseError(doc, &error);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMParseError_get_line(error, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMParseError_get_srcText(error, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMParseError_get_linepos(error, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMParseError_Release(error);
     IXMLDOMDocument_Release(doc);
@@ -11853,9 +11977,9 @@ static void test_parseerror(void)
     doc = create_document_version(60, &IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_parseError(doc, &error);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMParseError_QueryInterface(error, &IID_IXMLDOMParseError2, (void**)&error2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMParseError2_Release(error2);
     IXMLDOMParseError_Release(error);
     IXMLDOMDocument_Release(doc);
@@ -11873,40 +11997,40 @@ static void test_getAttributeNode(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szExampleXML), &v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = SysAllocString(nonexistent_fileW);
     hr = IXMLDOMElement_getAttributeNode(elem, str, NULL);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     attr = (IXMLDOMAttribute*)0xdeadbeef;
     hr = IXMLDOMElement_getAttributeNode(elem, str, &attr);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(attr == NULL, "got %p\n", attr);
     SysFreeString(str);
 
     str = SysAllocString(L"nonExistingAttribute");
     hr = IXMLDOMElement_getAttributeNode(elem, str, NULL);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     attr = (IXMLDOMAttribute*)0xdeadbeef;
     hr = IXMLDOMElement_getAttributeNode(elem, str, &attr);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(attr == NULL, "got %p\n", attr);
     SysFreeString(str);
 
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("foo:b"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release(attr);
 
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("b"), &attr);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_getAttributeNode(elem, _bstr_("a"), &attr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMAttribute_Release(attr);
 
     IXMLDOMElement_Release(elem);
@@ -11925,37 +12049,37 @@ static void test_getAttribute(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szExampleXML), &v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     VariantInit(&var);
     hr = IXMLDOMElement_getAttribute( elem, _bstr_("xmlns:foo"), &var );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_BSTR, "vt = %x\n", V_VT(&var));
     ok(!lstrcmpW(V_BSTR(&var), L"urn:uuid:86B2F87F-ACB6-45cd-8B77-9BDB92A01A29"), "wrong attr value: %s\n", wine_dbgstr_w(V_BSTR(&var)));
     VariantClear(&var);
 
     hr = IXMLDOMElement_getAttribute( elem, _bstr_("a"), &var );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_BSTR, "vt = %x\n", V_VT(&var));
     ok(!lstrcmpW(V_BSTR(&var), L"attr a"), "wrong attr value: %s\n", wine_dbgstr_w(V_BSTR(&var)));
     VariantClear(&var);
 
     hr = IXMLDOMElement_getAttribute( elem, _bstr_("foo:b"), &var );
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_BSTR, "vt = %x\n", V_VT(&var));
     ok(!lstrcmpW(V_BSTR(&var), L"attr b"), "wrong attr value: %s\n", wine_dbgstr_w(V_BSTR(&var)));
     VariantClear(&var);
 
     hr = IXMLDOMElement_getAttribute( elem, _bstr_("b"), &var );
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_NULL, "vt = %x\n", V_VT(&var));
     VariantClear(&var);
 
     hr = IXMLDOMElement_getAttribute( elem, _bstr_("non-existent"), &var );
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok( V_VT(&var) == VT_NULL, "vt = %x\n", V_VT(&var));
     VariantClear(&var);
 
@@ -12002,7 +12126,7 @@ static void test_supporterrorinfo(void)
 
     EXPECT_REF(doc, 1);
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_ISupportErrorInfo, (void**)&errorinfo);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(doc, 1);
     ISupportErrorInfo_AddRef(errorinfo);
     EXPECT_REF(errorinfo, 2);
@@ -12010,14 +12134,14 @@ static void test_supporterrorinfo(void)
     ISupportErrorInfo_Release(errorinfo);
 
     hr = IXMLDOMDocument_QueryInterface(doc, &IID_ISupportErrorInfo, (void**)&info2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(errorinfo != info2, "got %p, %p\n", info2, errorinfo);
 
     /* error interface can't be queried back for DOM interface */
     hr = ISupportErrorInfo_QueryInterface(info2, &IID_IXMLDOMDocument, &dummy);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
     hr = ISupportErrorInfo_QueryInterface(info2, &IID_IXMLDOMNode, &dummy);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     ISupportErrorInfo_Release(info2);
 
@@ -12025,11 +12149,11 @@ static void test_supporterrorinfo(void)
     while (*iid)
     {
         hr = IXMLDOMDocument_QueryInterface(doc, *iid, (void**)&unk);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if (hr == S_OK)
         {
             hr = ISupportErrorInfo_InterfaceSupportsErrorInfo(errorinfo, *iid);
-            ok(hr == S_OK, "got 0x%08x for %s\n", hr, wine_dbgstr_guid(*iid));
+            ok(hr == S_OK, "Unexpected hr %#lx. for %s\n", hr, wine_dbgstr_guid(*iid));
             IUnknown_Release(unk);
         }
 
@@ -12047,15 +12171,15 @@ static void test_supporterrorinfo(void)
         V_I1(&type) = ptr->type;
 
         hr = IXMLDOMDocument_createNode(doc, type, _bstr_(ptr->name), NULL, &node);
-        ok(hr == S_OK, "%d: got 0x%08x\n", ptr->type, hr);
+        ok(hr == S_OK, "%d: Unexpected hr %#lx.\n", ptr->type, hr);
 
         EXPECT_REF(node, 1);
         hr = IXMLDOMNode_QueryInterface(node, &IID_ISupportErrorInfo, (void**)&errorinfo);
-        ok(hr == S_OK, "%d: got 0x%08x\n", ptr->type, hr);
+        ok(hr == S_OK, "%d: Unexpected hr %#lx.\n", ptr->type, hr);
         EXPECT_REF(node, 1);
 
         hr = ISupportErrorInfo_QueryInterface(errorinfo, &IID_IXMLDOMNode, &dummy);
-        ok(hr == E_NOINTERFACE, "%d: got 0x%08x\n", ptr->type, hr);
+        ok(hr == E_NOINTERFACE, "%d: Unexpected hr %#lx.\n", ptr->type, hr);
 
         iid = ptr->iids;
 
@@ -12065,7 +12189,7 @@ static void test_supporterrorinfo(void)
             if (hr == S_OK)
             {
                 hr = ISupportErrorInfo_InterfaceSupportsErrorInfo(errorinfo, *iid);
-                ok(hr == S_OK, "%d: got 0x%08x for %s\n", ptr->type, hr, wine_dbgstr_guid(*iid));
+                ok(hr == S_OK, "%d: unexpected hr %#lx for %s\n", ptr->type, hr, wine_dbgstr_guid(*iid));
                 IUnknown_Release(unk);
             }
 
@@ -12080,31 +12204,31 @@ static void test_supporterrorinfo(void)
     /* IXMLDOMNamedNodeMap */
     b = VARIANT_FALSE;
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(complete4A), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_attributes(elem, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(map, 1);
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_ISupportErrorInfo, (void**)&errorinfo);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(map, 2);
 
     hr = ISupportErrorInfo_InterfaceSupportsErrorInfo(errorinfo, &IID_IXMLDOMNamedNodeMap);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISupportErrorInfo_QueryInterface(errorinfo, &IID_IXMLDOMNamedNodeMap, (void**)&map2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(map == map2, "got %p\n", map2);
     IXMLDOMNamedNodeMap_Release(map2);
 
     EXPECT_REF(errorinfo, 2);
     hr = ISupportErrorInfo_QueryInterface(errorinfo, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(errorinfo, 3);
     EXPECT_REF(map, 3);
     IUnknown_Release(unk);
@@ -12117,13 +12241,13 @@ static void test_supporterrorinfo(void)
 
     /* 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);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection_QueryInterface(schemacache, &IID_ISupportErrorInfo, (void**)&errorinfo);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISupportErrorInfo_InterfaceSupportsErrorInfo(errorinfo, &IID_IXMLDOMSchemaCollection);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ISupportErrorInfo_Release(errorinfo);
     IXMLDOMSchemaCollection_Release(schemacache);
@@ -12172,16 +12296,16 @@ static void test_nodeValue(void)
         ok(hr == S_OK, "failed to create node type %d\n", ptr->type);
 
         hr = IXMLDOMNode_get_nodeValue(node, NULL);
-        ok(hr == E_INVALIDARG, "%d: got 0x%08x\n", ptr->type, hr);
+        ok(hr == E_INVALIDARG, "%d: unexpected hr %#lx\n", ptr->type, hr);
 
         V_VT(&v) = VT_BSTR;
         V_BSTR(&v) = _bstr_(ptr->put_content);
         hr = IXMLDOMNode_put_nodeValue(node, v);
-        ok(hr == ptr->put_hr, "%d: got 0x%08x\n", ptr->type, hr);
+        ok(hr == ptr->put_hr, "%d: unexpected hr %#lx\n", ptr->type, hr);
 
         V_VT(&v) = VT_EMPTY;
         hr = IXMLDOMNode_get_nodeValue(node, &v);
-        ok(hr == ptr->get_hr, "%d: got 0x%08x, expected 0x%08x\n", ptr->type, hr, ptr->get_hr);
+        ok(hr == ptr->get_hr, "%d: unexpected hr %#lx, expected %#lx.\n", ptr->type, hr, ptr->get_hr);
         ok(V_VT(&v) == ptr->get_vt, "%d: got %d, expected %d\n", ptr->type, V_VT(&v), ptr->get_vt);
         if (hr == S_OK)
             ok(!lstrcmpW(V_BSTR(&v), _bstr_(ptr->put_content)), "%d: got %s\n", ptr->type,
@@ -12209,31 +12333,31 @@ static void test_xmlns_attribute(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &root);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)root, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createAttribute(doc, _bstr_("xmlns:dt"), &pAttribute);
-    ok( hr == S_OK, "returns %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("urn:schemas-microsoft-com:datatypes");
     hr = IXMLDOMAttribute_put_nodeValue(pAttribute, v);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMElement_setAttributeNode(root, pAttribute, NULL);
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMNode_put_dataType((IXMLDOMNode*)root, _bstr_("bin.base64"));
-    ok(hr == S_OK, "ret %08x\n", hr );
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr );
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLDOMElement_get_xml(elem, &str);
-    ok( hr == S_OK, "got 0x%08x\n", hr);
+    ok( hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(lstrcmpW(str, L"<Testing xmlns:dt=\"urn:schemas-microsoft-com:datatypes\" dt:dt=\"bin.base64\"/>") == 0,
     "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
@@ -12289,12 +12413,12 @@ static void test_get_namespaces(void)
 
     /* null pointer */
     hr = IXMLDOMDocument2_get_namespaces(doc, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     /* no document loaded */
     collection = (void*)0xdeadbeef;
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (hr != S_OK)
     {
         IXMLDOMDocument2_Release(doc);
@@ -12304,113 +12428,113 @@ static void test_get_namespaces(void)
 
     collection2 = (void*)0xdeadbeef;
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection == collection2, "got %p\n", collection2);
     EXPECT_REF(collection, 3);
     IXMLDOMSchemaCollection_Release(collection);
 
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(collection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "got %ld\n", len);
     IXMLDOMSchemaCollection_Release(collection);
 
     /* now with document */
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(namespacesA), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(collection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 2, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 2, "got %ld\n", len);
 
     /* try to lookup some uris */
     node = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get(collection, _bstr_("http://blah.org"), &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     node = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get(collection, _bstr_("http://blah1.org"), &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "got %p\n", node);
 
     /* load schema and try to add it */
     doc2 = create_document(&IID_IXMLDOMDocument2);
     hr = IXMLDOMDocument2_loadXML(doc2, _bstr_(xsd_schema1_xml), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[0]) = VT_DISPATCH;
     V_DISPATCH(&v[0]) = (IDispatch*)doc2;
     hr = IXMLDOMSchemaCollection_add(collection, _bstr_(xsd_schema1_uri), v[0]);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 0, &s);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, L"http://blah.org"), "got %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 1, &s);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, L"http://blahblah.org"), "got %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
     s = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 2, &s);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(s == (void*)0xdeadbeef, "got %p\n", s);
 
     /* enumerate */
     enumv = (void*)0xdeadbeef;
     EXPECT_REF(collection, 2);
     hr = IXMLDOMSchemaCollection_get__newEnum(collection, (IUnknown**)&enumv);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(collection, 3);
     ok(enumv != NULL, "got %p\n", enumv);
 
     hr = IXMLDOMSchemaCollection_QueryInterface(collection, &IID_IUnknown, (void**)&unk1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IEnumVARIANT_QueryInterface(enumv, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(unk1 != unk2, "got %p, %p\n", unk1, unk2);
     IUnknown_Release(unk1);
     IUnknown_Release(unk2);
 
     hr = IXMLDOMSchemaCollection_QueryInterface(collection, &IID_IEnumVARIANT, (void**)&enum2);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
     VariantClear(&v[0]);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], &fetched);
-    EXPECT_HR(hr, S_OK);
-    ok(fetched == 1, "got %d, expected 1\n", fetched);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 1, "got %ld, expected 1\n", fetched);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blahblah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
     VariantClear(&v[0]);
 
     V_VT(&v[0]) = VT_NULL;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], &fetched);
-    EXPECT_HR(hr, S_FALSE);
-    ok(fetched == 0, "got %d, expected 0\n", fetched);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 0, "got %ld, expected 0\n", fetched);
     ok(V_VT(&v[0]) == VT_EMPTY, "got %d\n", V_VT(&v[0]));
 
     hr = IEnumVARIANT_Reset(enumv);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 2, v, &fetched);
-    EXPECT_HR(hr, S_OK);
-    ok(fetched == 2, "got %d, expected 2\n", fetched);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 2, "got %ld, expected 2\n", fetched);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_BSTR, "got %d\n", V_VT(&v[1]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
@@ -12420,8 +12544,8 @@ static void test_get_namespaces(void)
 
     V_VT(&v[0]) = VT_NULL;
     hr = IEnumVARIANT_Next(enumv, 1, v, &fetched);
-    EXPECT_HR(hr, S_FALSE);
-    ok(fetched == 0, "got %d, expected 0\n", fetched);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 0, "got %ld, expected 0\n", fetched);
     ok(V_VT(&v[0]) == VT_EMPTY, "got %d\n", V_VT(&v[0]));
 
     IEnumVARIANT_Release(enumv);
@@ -12434,12 +12558,12 @@ static void test_get_namespaces(void)
 
     /* null pointer */
     hr = IXMLDOMDocument2_get_namespaces(doc, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     /* no document loaded */
     collection = (void*)0xdeadbeef;
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (hr != S_OK)
     {
         IXMLDOMDocument2_Release(doc);
@@ -12449,94 +12573,94 @@ static void test_get_namespaces(void)
 
     collection2 = (void*)0xdeadbeef;
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection == collection2, "got %p\n", collection2);
     EXPECT_REF(collection, 3);
     IXMLDOMSchemaCollection_Release(collection);
 
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(collection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "got %ld\n", len);
     IXMLDOMSchemaCollection_Release(collection);
 
     /* now with document */
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(namespacesA), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument2_get_namespaces(doc, &collection);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(collection, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 2, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 2, "got %ld\n", len);
 
     /* try to lookup some uris */
     node = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get(collection, _bstr_("http://blah.org"), &node);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(broken(node == (void*)0xdeadbeef) || (node == NULL), "got %p\n", node);
 
     /* load schema and try to add it */
     doc2 = create_document(&IID_IXMLDOMDocument2);
     hr = IXMLDOMDocument2_loadXML(doc2, _bstr_(xsd_schema1_xml), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[0]) = VT_DISPATCH;
     V_DISPATCH(&v[0]) = (IDispatch*)doc2;
     hr = IXMLDOMSchemaCollection_add(collection, _bstr_(xsd_schema1_uri), v[0]);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     IXMLDOMDocument2_Release(doc2);
 
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 0, &s);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, L"http://blah.org"), "got %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 1, &s);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, L"http://blahblah.org"), "got %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
     s = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get_namespaceURI(collection, 2, &s);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(broken(s == (void*)0xdeadbeef) || (s == NULL), "got %p\n", s);
 
     /* enumerate */
     enumv = (void*)0xdeadbeef;
     hr = IXMLDOMSchemaCollection_get__newEnum(collection, (IUnknown**)&enumv);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enumv != NULL, "got %p\n", enumv);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
     VariantClear(&v[0]);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blahblah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
     VariantClear(&v[0]);
 
     V_VT(&v[0]) = VT_NULL;
     hr = IEnumVARIANT_Next(enumv, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_EMPTY, "got %d\n", V_VT(&v[0]));
 
     hr = IEnumVARIANT_Reset(enumv);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enumv, 2, v, &fetched);
-    EXPECT_HR(hr, S_OK);
-    ok(fetched == 2, "got %d, expected 2\n", fetched);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 2, "got %ld, expected 2\n", fetched);
     ok(V_VT(&v[0]) == VT_BSTR, "got %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_BSTR, "got %d\n", V_VT(&v[1]));
     ok(!lstrcmpW(V_BSTR(&v[0]), L"http://blah.org"), "got %s\n", wine_dbgstr_w(V_BSTR(&v[0])));
@@ -12546,8 +12670,8 @@ static void test_get_namespaces(void)
 
     V_VT(&v[0]) = VT_NULL;
     hr = IEnumVARIANT_Next(enumv, 1, v, &fetched);
-    EXPECT_HR(hr, S_FALSE);
-    ok(fetched == 0, "got %d, expected 0\n", fetched);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 0, "got %ld, expected 0\n", fetched);
     ok(V_VT(&v[0]) == VT_EMPTY, "got %d\n", V_VT(&v[0]));
 
     IEnumVARIANT_Release(enumv);
@@ -12589,7 +12713,7 @@ static void test_put_data(void)
        V_I2(&v) = *type;
 
        hr = IXMLDOMDocument_createNode(doc, v, _bstr_("name"), NULL, &node);
-       EXPECT_HR(hr, S_OK);
+       ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
        /* put_data() is interface-specific */
        switch (*type)
@@ -12597,12 +12721,12 @@ static void test_put_data(void)
            case NODE_TEXT:
            {
               hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
               hr = IXMLDOMText_put_data(text, data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               hr = IXMLDOMText_get_data(text, &get_data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               IXMLDOMText_Release(text);
               break;
@@ -12612,12 +12736,12 @@ static void test_put_data(void)
               IXMLDOMCDATASection *cdata;
 
               hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMCDATASection, (void**)&cdata);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
               hr = IXMLDOMCDATASection_put_data(cdata, data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               hr = IXMLDOMCDATASection_get_data(cdata, &get_data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               IXMLDOMCDATASection_Release(cdata);
               break;
@@ -12627,12 +12751,12 @@ static void test_put_data(void)
               IXMLDOMProcessingInstruction *pi;
 
               hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMProcessingInstruction, (void**)&pi);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
               hr = IXMLDOMProcessingInstruction_put_data(pi, data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               hr = IXMLDOMProcessingInstruction_get_data(pi, &get_data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               IXMLDOMProcessingInstruction_Release(pi);
               break;
@@ -12642,12 +12766,12 @@ static void test_put_data(void)
               IXMLDOMComment *comment;
 
               hr = IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMComment, (void**)&comment);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
               hr = IXMLDOMComment_put_data(comment, data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               hr = IXMLDOMComment_get_data(comment, &get_data);
-              EXPECT_HR(hr, S_OK);
+              ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
               IXMLDOMComment_Release(comment);
               break;
@@ -12694,63 +12818,63 @@ static void test_newline_normalization(void)
         }
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument, (void**)&doc);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_createNode(doc, v, _bstr_("name"), NULL, &node);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         IXMLDOMNode_QueryInterface(node, &IID_IXMLDOMText, (void**)&text);
 
         /* \r\n is normalized to \n and back to \r\n */
 
         hr = IXMLDOMText_put_data(text, _bstr_("\r\n"));
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMText_get_data(text, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"\n"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         hr = IXMLDOMText_get_length(text, &length);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        ok(length == 1, "got %d, expected 1\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 1, "got %ld, expected 1\n", length);
 
         hr = IXMLDOMText_get_xml(text, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"\r\n"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         /* \r\r\n is normalized to \n\n and back to \r\n\r\n */
 
         hr = IXMLDOMText_put_data(text, _bstr_("\r\r\n"));
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMText_get_data(text, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"\n\n"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         hr = IXMLDOMText_get_length(text, &length);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        ok(length == 2, "got %d, expected 2\n", length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 2, "got %ld, expected 2\n", length);
 
         hr = IXMLDOMText_get_xml(text, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"\r\n\r\n"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         /* the same normalizations are applied when loading a document as a whole */
 
         hr = IXMLDOMDocument_loadXML(doc, _bstr_("<?xml version=\"1.0\"?><root>foo\n\r\n\r\r\nbar</root>"), &b);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_get_text(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"foo\n\n\n\nbar"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         hr = IXMLDOMDocument_get_xml(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"<?xml version=\"1.0\"?>\r\n<root>foo\r\n\r\n\r\n\r\nbar</root>\r\n"),
            "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
@@ -12759,15 +12883,15 @@ static void test_newline_normalization(void)
 
         hr = IXMLDOMDocument_loadXML(doc, _bstr_("<?xml version=\"1.0\"?>"
                                                  "<root xml:space=\"preserve\">foo\n\r\n\r\r\nbar</root>"), &b);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_get_text(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"foo\n\n\n\nbar"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         hr = IXMLDOMDocument_get_xml(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, _bstr_("<?xml version=\"1.0\"?>\r\n"
                                "<root xml:space=\"preserve\">foo\r\n\r\n\r\n\r\nbar</root>\r\n")),
            "got %s\n", wine_dbgstr_w(s));
@@ -12776,18 +12900,18 @@ static void test_newline_normalization(void)
         /* or preserveWhiteSpace is set */
 
         hr = IXMLDOMDocument_put_preserveWhiteSpace(doc, VARIANT_TRUE);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_loadXML(doc, _bstr_("<?xml version=\"1.0\"?><root>foo\n\r\n\r\r\nbar</root>"), &b);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IXMLDOMDocument_get_text(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(s, L"foo\n\n\n\nbar"), "got %s\n", wine_dbgstr_w(s));
         SysFreeString(s);
 
         hr = IXMLDOMDocument_get_xml(doc, &s);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if (IsEqualGUID(table->clsid, &CLSID_DOMDocument60))
         {
             /* DOMDocument60 does the newline normalization but does not insert line breaks around the root node */
@@ -12827,33 +12951,33 @@ static void test_putref_schemas(void)
     V_VT(&schema) = VT_DISPATCH;
     V_DISPATCH(&schema) = NULL;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&schema) = VT_UNKNOWN;
     V_UNKNOWN(&schema) = NULL;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* set as VT_DISPATCH, reset with it */
     V_VT(&schema) = VT_DISPATCH;
     V_DISPATCH(&schema) = (IDispatch*)cache;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_DISPATCH(&schema) = NULL;
     hr = IXMLDOMDocument2_get_schemas(doc, &schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&schema) == (IDispatch*)cache, "got %p\n", V_DISPATCH(&schema));
 
     V_VT(&schema) = VT_DISPATCH;
     V_DISPATCH(&schema) = NULL;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_DISPATCH(&schema) = (IDispatch*)0xdeadbeef;
     V_VT(&schema) = VT_I2;
     hr = IXMLDOMDocument2_get_schemas(doc, &schema);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&schema) == NULL, "got %p\n", V_DISPATCH(&schema));
     ok(V_VT(&schema) == VT_NULL, "got %d\n", V_VT(&schema));
 
@@ -12861,22 +12985,22 @@ static void test_putref_schemas(void)
     V_VT(&schema) = VT_UNKNOWN;
     V_UNKNOWN(&schema) = (IUnknown*)cache;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_DISPATCH(&schema) = NULL;
     hr = IXMLDOMDocument2_get_schemas(doc, &schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&schema) == (IDispatch*)cache, "got %p\n", V_DISPATCH(&schema));
 
     V_VT(&schema) = VT_UNKNOWN;
     V_UNKNOWN(&schema) = NULL;
     hr = IXMLDOMDocument2_putref_schemas(doc, schema);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_DISPATCH(&schema) = (IDispatch*)0xdeadbeef;
     V_VT(&schema) = VT_I2;
     hr = IXMLDOMDocument2_get_schemas(doc, &schema);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&schema) == NULL, "got %p\n", V_DISPATCH(&schema));
     ok(V_VT(&schema) == VT_NULL, "got %d\n", V_VT(&schema));
 
@@ -12901,33 +13025,33 @@ static void test_namedmap_newenum(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(attributes_map), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(doc, &elem);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_attributes(elem, &map);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(elem);
 
     enum1 = NULL;
     EXPECT_REF(map, 1);
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IEnumVARIANT, (void**)&enum1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum1 != NULL, "got %p\n", enum1);
     EXPECT_REF(map, 1);
     EXPECT_REF(enum1, 2);
 
     enum2 = NULL;
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IEnumVARIANT, (void**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum2 == enum1, "got %p\n", enum2);
 
     IEnumVARIANT_Release(enum2);
 
     EXPECT_REF(map, 1);
     hr = IXMLDOMNamedNodeMap__newEnum(map, (IUnknown**)&enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(map, 2);
     EXPECT_REF(enum2, 1);
     ok(enum2 != enum1, "got %p, %p\n", enum2, enum1);
@@ -12936,9 +13060,9 @@ static void test_namedmap_newenum(void)
 
     /* enumerator created with _newEnum() doesn't share IUnknown* with main object */
     hr = IXMLDOMNamedNodeMap_QueryInterface(map, &IID_IUnknown, (void**)&unk1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IEnumVARIANT_QueryInterface(enum2, &IID_IUnknown, (void**)&unk2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(map, 3);
     EXPECT_REF(enum2, 2);
     ok(unk1 != unk2, "got %p, %p\n", unk1, unk2);
@@ -12946,69 +13070,69 @@ static void test_namedmap_newenum(void)
     IUnknown_Release(unk2);
 
     hr = IXMLDOMNamedNodeMap__newEnum(map, (IUnknown**)&enum3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enum2 != enum3, "got %p, %p\n", enum2, enum3);
     IEnumVARIANT_Release(enum3);
 
     /* iteration tests */
     hr = IXMLDOMNamedNodeMap_get_item(map, 0, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr1"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
 
     hr = IXMLDOMNamedNodeMap_nextNode(map, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr1"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
 
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum2, 1, &v[0], NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr1"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
     VariantClear(&v[0]);
 
     hr = IXMLDOMNamedNodeMap_nextNode(map, &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr2"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
 
     hr = IEnumVARIANT_Reset(enum2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum2, 2, v, &fetched);
-    EXPECT_HR(hr, S_OK);
-    ok(fetched == 2, "got %d, expected 2\n", fetched);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 2, "got %ld, expected 2\n", fetched);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[1]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr1"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[1]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr2"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
@@ -13019,22 +13143,22 @@ static void test_namedmap_newenum(void)
     V_VT(&v[1]) = VT_EMPTY;
     V_VT(&v[0]) = VT_EMPTY;
     hr = IEnumVARIANT_Next(enum2, 3, v, &fetched);
-    EXPECT_HR(hr, S_FALSE);
-    ok(fetched == 2, "got %d, expected 2\n", fetched);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(fetched == 2, "got %ld, expected 2\n", fetched);
     ok(V_VT(&v[0]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[0]));
     ok(V_VT(&v[1]) == VT_DISPATCH, "got var type %d\n", V_VT(&v[1]));
     ok(V_VT(&v[2]) == VT_EMPTY, "got var type %d\n", V_VT(&v[2]));
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[0]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr3"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
     hr = IDispatch_QueryInterface(V_DISPATCH(&v[1]), &IID_IXMLDOMNode, (void**)&node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMNode_get_nodeName(node, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"attr4"), "got node name %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
     IXMLDOMNode_Release(node);
@@ -13090,24 +13214,24 @@ static void test_xsltext(void)
     doc2 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(xsltext_xsl), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_loadXML(doc2, _bstr_("<testkey/>"), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_transformNode(doc2, (IXMLDOMNode*)doc, &ret);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(ret, L"testdata"), "transform result %s\n", wine_dbgstr_w(ret));
     SysFreeString(ret);
 
     /* omit-xml-declaration */
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(omitxmldecl_xsl), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_loadXML(doc2, _bstr_(omitxmldecl_doc), &b);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_transformNode(doc2, (IXMLDOMNode*)doc, &ret);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(ret, L"<node>item1</node><node>item2</node>"), "transform result %s\n", wine_dbgstr_w(ret));
     SysFreeString(ret);
 
@@ -13152,25 +13276,25 @@ static void test_create_attribute(void)
         V_VT(&var) = VT_I1;
         V_I1(&var) = NODE_ATTRIBUTE;
         hr = IXMLDOMDocument_createNode(doc, var, _bstr_(ptr->name), _bstr_(ptr->uri), &node);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         str = NULL;
         hr = IXMLDOMNode_get_prefix(node, &str);
         if (ptr->prefix)
         {
-            ok(hr == S_OK, "%d: got 0x%08x\n", i, hr);
+            ok(hr == S_OK, "%d: unexpected hr %#lx\n", i, hr);
             ok(!lstrcmpW(str, _bstr_(ptr->prefix)), "%d: got prefix %s, expected %s\n", i, wine_dbgstr_w(str), ptr->prefix);
         }
         else
         {
-            ok(hr == S_FALSE, "%d: got 0x%08x\n", i, hr);
+            ok(hr == S_FALSE, "%d: unexpected hr %#lx\n", i, hr);
             ok(str == NULL, "%d: got prefix %s\n", i, wine_dbgstr_w(str));
         }
         SysFreeString(str);
 
         str = NULL;
         hr = IXMLDOMNode_get_namespaceURI(node, &str);
-        ok(hr == S_OK, "%d: got 0x%08x\n", i, hr);
+        ok(hr == S_OK, "%d: unexpected hr %#lx\n", i, hr);
         ok(!lstrcmpW(str, _bstr_(ptr->href)), "%d: got uri %s, expected %s\n", i, wine_dbgstr_w(str), ptr->href);
         SysFreeString(str);
 
@@ -13184,23 +13308,23 @@ static void test_create_attribute(void)
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ELEMENT;
     hr = IXMLDOMDocument_createNode(doc, var, _bstr_("e"), NULL, &node2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_QueryInterface(node2, &IID_IXMLDOMElement, (void**)&el);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMNode_Release(node2);
 
     V_VT(&var) = VT_I1;
     V_I1(&var) = NODE_ATTRIBUTE;
     hr = IXMLDOMDocument_createNode(doc, var, _bstr_("xmlns:a"), _bstr_("http://www.w3.org/2000/xmlns/"), &node);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_setAttributeNode(el, (IXMLDOMAttribute*)node, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* for some reason default namespace uri is not reported */
     hr = IXMLDOMNode_get_namespaceURI(node, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L""), "got uri %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -13219,11 +13343,11 @@ static void test_url(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_get_url(doc, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     s = (void *)0xdeadbeef;
     hr = IXMLDOMDocument_get_url(doc, &s);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(s == NULL, "got %s\n", wine_dbgstr_w(s));
 
     IXMLDOMDocument_Release(doc);
@@ -13244,10 +13368,10 @@ static void test_merging_text(void)
     doc = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_createElement(doc, _bstr_("Testing"), &root);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_appendChild(doc, (IXMLDOMNode*)root, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* test xmlAddChild */
     for (i = 0; i < 10; i++)
@@ -13255,11 +13379,11 @@ static void test_merging_text(void)
         str = SysAllocString(L"str1");
         hr = IXMLDOMDocument_createTextNode(doc, str, &nodetext);
         SysFreeString(str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         newtext = NULL;
         hr = IXMLDOMElement_appendChild(root, (IXMLDOMNode*)nodetext, (IXMLDOMNode**)&newtext);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(nodetext == newtext, "expected %p, got %p\n", nodetext, newtext);
 
         IXMLDOMText_Release(newtext);
@@ -13268,7 +13392,7 @@ static void test_merging_text(void)
 
     /* test xmlAddPrevSibling */
     hr = IXMLDOMElement_get_firstChild(root, &first);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)first;
     for (i = 0; i < 10; i++)
@@ -13276,11 +13400,11 @@ static void test_merging_text(void)
         str = SysAllocString(L"str2");
         hr = IXMLDOMDocument_createTextNode(doc, str, &nodetext);
         SysFreeString(str);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         newtext = NULL;
         hr = IXMLDOMElement_insertBefore(root, (IXMLDOMNode*)nodetext, v, (IXMLDOMNode**)&newtext);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(nodetext == newtext, "expected %p, got %p\n", nodetext, newtext);
 
         IXMLDOMText_Release(newtext);
@@ -13344,45 +13468,45 @@ static void test_transformNodeToObject(void)
     doc3 = create_document(&IID_IXMLDOMDocument);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(szTransformXML), &b);
-    ok(hr == S_OK, "Failed to load document, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to load document, hr %#lx.\n", hr);
     hr = IXMLDOMDocument_loadXML(doc2, _bstr_(szTransformSSXML), &b);
-    ok(hr == S_OK, "Failed to load document, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to load document, hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = &transformdest;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = NULL;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#lx.\n", hr);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == E_INVALIDARG, "Failed to transform node, hr %#lx.\n", hr);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = (IDispatch *)doc3;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == S_OK, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to transform node, hr %#lx.\n", hr);
 
     /* IStream */
     istream = SHCreateMemStream(NULL, 0);
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown *)istream;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == S_OK, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to transform node, hr %#lx.\n", hr);
 
     off.QuadPart = 0;
     hr = IStream_Seek(istream, off, STREAM_SEEK_SET, NULL);
-    ok(hr == S_OK, "Failed to seek, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to seek, hr %#lx.\n", hr);
 
     nread = 0;
     memset(buffer, 0xcc, sizeof(buffer));
     hr = IStream_Read(istream, buffer, sizeof(buffer), &nread);
-    ok(hr == S_OK, "Failed to read, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to read, hr %#lx.\n", hr);
     buffer[nread/2] = 0;
     ok(buffer[0] == 0xfeff, "got %x\n", buffer[0]);
     ok(compareIgnoreReturns(&buffer[1], _bstr_(szTransformOutput)), "got output %s\n", wine_dbgstr_w(buffer));
@@ -13392,21 +13516,21 @@ static void test_transformNodeToObject(void)
     istream = SHCreateMemStream(NULL, 0);
     sstream = NULL;
     hr = IStream_QueryInterface(istream, &IID_ISequentialStream, (void**)&sstream);
-    ok(hr == S_OK, "Failed to QI, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to QI, hr %#lx.\n", hr);
 
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown *)sstream;
     hr = IXMLDOMDocument_transformNodeToObject(doc, (IXMLDOMNode *)doc2, v);
-    ok(hr == S_OK, "Failed to transform node, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to transform node, hr %#lx.\n", hr);
 
     off.QuadPart = 0;
     hr = IStream_Seek(istream, off, STREAM_SEEK_SET, NULL);
-    ok(hr == S_OK, "Failed to seek, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to seek, hr %#lx.\n", hr);
 
     nread = 0;
     memset(buffer, 0xcc, sizeof(buffer));
     hr = ISequentialStream_Read(sstream, buffer, sizeof(buffer), &nread);
-    ok(hr == S_OK, "Failed to read, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to read, hr %#lx.\n", hr);
     buffer[nread/2] = 0;
     ok(buffer[0] == 0xfeff, "got %x\n", buffer[0]);
     ok(compareIgnoreReturns(&buffer[1], _bstr_(szTransformOutput)), "got output %s\n", wine_dbgstr_w(buffer));
@@ -13437,20 +13561,20 @@ static void test_normalize_attribute_values(void)
     V_I2(&var) = 10;
     hr = IXMLDOMDocument2_getProperty(doc, _bstr_("NormalizeAttributeValues"), &var);
 todo_wine {
-    ok(hr == S_OK, "Failed to get property value, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get property value, hr %#lx.\n", hr);
     ok(V_VT(&var) == VT_BOOL, "Unexpected property value type, vt %d.\n", V_VT(&var));
     ok(V_BOOL(&var) == VARIANT_FALSE, "Unexpected property value.\n");
 }
     V_VT(&var) = VT_BOOL;
     V_BOOL(&var) = VARIANT_TRUE;
     hr = IXMLDOMDocument2_setProperty(doc, _bstr_("NormalizeAttributeValues"), var);
-    ok(hr == S_OK, "Failed to set property, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to set property, hr %#lx.\n", hr);
 
     V_VT(&var) = VT_I2;
     V_I2(&var) = 10;
     hr = IXMLDOMDocument2_getProperty(doc, _bstr_("NormalizeAttributeValues"), &var);
 todo_wine {
-    ok(hr == S_OK, "Failed to get property value, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get property value, hr %#lx.\n", hr);
     ok(V_VT(&var) == VT_BOOL, "Unexpected property value type, vt %d.\n", V_VT(&var));
     ok(V_BOOL(&var) == VARIANT_TRUE, "Unexpected property value.\n");
 }
@@ -13539,37 +13663,37 @@ static void test_namespaces_as_attributes(void)
         test = tests;
         while (test->xml) {
             hr = CoCreateInstance(entry->guid, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument2, (void **)&doc);
-            ok(SUCCEEDED(hr), "Failed to create document %s, hr %#x.\n", wine_dbgstr_guid(entry->guid), hr);
+            ok(SUCCEEDED(hr), "Failed to create document %s, hr %#lx.\n", wine_dbgstr_guid(entry->guid), hr);
 
             hr = IXMLDOMDocument_loadXML(doc, _bstr_(test->xml), &b);
-            ok(hr == S_OK, "Failed to load xml, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to load xml, hr %#lx.\n", hr);
 
             node = NULL;
             hr = IXMLDOMDocument_selectSingleNode(doc, _bstr_("a"), &node);
-            ok(SUCCEEDED(hr), "Failed to select a node, hr %#x.\n", hr);
+            ok(SUCCEEDED(hr), "Failed to select a node, hr %#lx.\n", hr);
 
             hr = IXMLDOMNode_get_attributes(node, &map);
-            ok(SUCCEEDED(hr), "Failed to get attributes, hr %#x.\n", hr);
+            ok(SUCCEEDED(hr), "Failed to get attributes, hr %#lx.\n", hr);
 
             len = -1;
             hr = IXMLDOMNamedNodeMap_get_length(map, &len);
-            ok(SUCCEEDED(hr), "Failed to get map length, hr %#x.\n", hr);
-            ok(len == test->explen, "got %d\n", len);
+            ok(SUCCEEDED(hr), "Failed to get map length, hr %#lx.\n", hr);
+            ok(len == test->explen, "got %ld\n", len);
 
             item = NULL;
             hr = IXMLDOMNamedNodeMap_get_item(map, test->explen+1, &item);
-            ok(hr == S_FALSE, "Failed to get item, hr %#x.\n", hr);
+            ok(hr == S_FALSE, "Failed to get item, hr %#lx.\n", hr);
             ok(!item, "Item should be NULL\n");
 
             for (i = 0; i < len; i++)
             {
                 item = NULL;
                 hr = IXMLDOMNamedNodeMap_get_item(map, i, &item);
-                ok(SUCCEEDED(hr), "Failed to get item, hr %#x.\n", hr);
+                ok(SUCCEEDED(hr), "Failed to get item, hr %#lx.\n", hr);
 
                 str = NULL;
                 hr = IXMLDOMNode_get_nodeName(item, &str);
-                ok(SUCCEEDED(hr), "Failed to get node name, hr %#x.\n", hr);
+                ok(SUCCEEDED(hr), "Failed to get node name, hr %#lx.\n", hr);
                 ok(!lstrcmpW(str, _bstr_(test->names[i])), "got %s\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
@@ -13577,16 +13701,16 @@ static void test_namespaces_as_attributes(void)
                 hr = IXMLDOMNode_get_prefix(item, &str);
                 if (test->prefixes[i])
                 {
-                    ok(hr == S_OK, "Failed to get node name, hr %#x.\n", hr);
+                    ok(hr == S_OK, "Failed to get node name, hr %#lx.\n", hr);
                     ok(!lstrcmpW(str, _bstr_(test->prefixes[i])), "got %s\n", wine_dbgstr_w(str));
                     SysFreeString(str);
                 }
                 else
-                    ok(hr == S_FALSE, "Failed to get node name, hr %#x.\n", hr);
+                    ok(hr == S_FALSE, "Failed to get node name, hr %#lx.\n", hr);
 
                 str = NULL;
                 hr = IXMLDOMNode_get_baseName(item, &str);
-                ok(SUCCEEDED(hr), "Failed to get base name, hr %#x.\n", hr);
+                ok(SUCCEEDED(hr), "Failed to get base name, hr %#lx.\n", hr);
                 ok(!lstrcmpW(str, _bstr_(test->basenames[i])), "got %s\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
@@ -13594,7 +13718,7 @@ static void test_namespaces_as_attributes(void)
                 hr = IXMLDOMNode_get_namespaceURI(item, &str);
                 if (test->uris[i])
                 {
-                    ok(hr == S_OK, "Failed to get node name, hr %#x.\n", hr);
+                    ok(hr == S_OK, "Failed to get node name, hr %#lx.\n", hr);
                     if (test->prefixes[i] && !strcmp(test->prefixes[i], "xmlns"))
                         ok(!lstrcmpW(str, _bstr_(entry->xmlns_uri)), "got %s\n", wine_dbgstr_w(str));
                     else
@@ -13602,11 +13726,11 @@ static void test_namespaces_as_attributes(void)
                     SysFreeString(str);
                 }
                 else
-                    ok(hr == S_FALSE, "Failed to get node name, hr %#x.\n", hr);
+                    ok(hr == S_FALSE, "Failed to get node name, hr %#lx.\n", hr);
 
                 str = NULL;
                 hr = IXMLDOMNode_get_text(item, &str);
-                ok(SUCCEEDED(hr), "Failed to get node text, hr %#x.\n", hr);
+                ok(SUCCEEDED(hr), "Failed to get node text, hr %#lx.\n", hr);
                 ok(!lstrcmpW(str, _bstr_(test->texts[i])), "got %s\n", wine_dbgstr_w(str));
                 SysFreeString(str);
 
@@ -13727,11 +13851,11 @@ static void test_load_with_site(void)
     doc = create_document(&IID_IXMLDOMDocument2);
 
     hr = IXMLDOMDocument2_QueryInterface(doc, &IID_IObjectWithSite, (void **)&site);
-    ok(hr == S_OK, "got %#x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     qi_count = 0;
     hr = IObjectWithSite_SetSite(site, (IUnknown *)&sp);
-    ok(hr == S_OK, "got %#x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(qi_count != 0, "got %d QI calls\n", qi_count);
     todo_wine
     ok(qi_list_contains(&IID_IXMLDOMDocument), "QI(IID_IXMLDOMDocument) was not called\n");
@@ -13749,7 +13873,7 @@ static void test_load_with_site(void)
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = _bstr_(path);
     hr = IXMLDOMDocument2_load(doc, var, &b);
-    ok(hr == S_OK, "got %#x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
     ok(qi_count == 0, "got %d QI calls\n", qi_count);
 
diff --git a/dlls/msxml3/tests/httpreq.c b/dlls/msxml3/tests/httpreq.c
index 9368ab3c93c..bf52e71a6e7 100644
--- a/dlls/msxml3/tests/httpreq.c
+++ b/dlls/msxml3/tests/httpreq.c
@@ -38,16 +38,13 @@
 #include "wine/heap.h"
 #include "wine/test.h"
 
-#define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
-
 #define EXPECT_REF(node,ref) _expect_ref((IUnknown*)node, ref, __LINE__)
 static void _expect_ref(IUnknown* obj, ULONG ref, int line)
 {
     ULONG rc;
     IUnknown_AddRef(obj);
     rc = IUnknown_Release(obj);
-    ok_(__FILE__, line)(rc == ref, "expected refcount %d, got %d\n", ref, rc);
+    ok_(__FILE__, line)(rc == ref, "expected refcount %ld, got %ld.\n", ref, rc);
 }
 
 #define check_interface(a, b, c) check_interface_(__LINE__, a, b, c)
@@ -60,7 +57,7 @@ static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOO
     expected_hr = supported ? S_OK : E_NOINTERFACE;
 
     hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
-    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#x, expected %#x.\n", hr, expected_hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#lx, expected %#lx.\n", hr, expected_hr);
     if (SUCCEEDED(hr))
         IUnknown_Release(unk);
 }
@@ -1286,8 +1283,8 @@ static HRESULT WINAPI dispevent_Invoke(IDispatch *iface, DISPID member, REFIID r
     LONG state;
     HRESULT hr;
 
-    ok(member == 0, "expected 0 member, got %d\n", member);
-    ok(lcid == LOCALE_SYSTEM_DEFAULT, "expected LOCALE_SYSTEM_DEFAULT, got lcid %x\n", lcid);
+    ok(!member, "expected 0 member, got %ld.\n", member);
+    ok(lcid == LOCALE_SYSTEM_DEFAULT, "expected LOCALE_SYSTEM_DEFAULT, got lcid %lx.\n", lcid);
     ok(flags == DISPATCH_METHOD, "expected DISPATCH_METHOD, got %d\n", flags);
 
     ok(params->cArgs == 0, "got %d\n", params->cArgs);
@@ -1303,13 +1300,13 @@ static HRESULT WINAPI dispevent_Invoke(IDispatch *iface, DISPID member, REFIID r
 
     state = READYSTATE_UNINITIALIZED;
     hr = IXMLHttpRequest_get_readyState(httpreq, &state);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (state == READYSTATE_COMPLETE)
     {
         BSTR text = NULL;
 
         hr = IXMLHttpRequest_get_responseText(httpreq, &text);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         SysFreeString(text);
     }
 
@@ -1364,10 +1361,10 @@ static void set_safety_opt(IUnknown *unk, DWORD mask, DWORD opts)
     HRESULT hr;
 
     hr = IUnknown_QueryInterface(unk, &IID_IObjectSafety, (void**)&obj_safety);
-    ok(hr == S_OK, "Could not get IObjectSafety iface: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IObjectSafety_SetInterfaceSafetyOptions(obj_safety, &IID_IDispatch, mask, mask&opts);
-    ok(hr == S_OK, "SetInterfaceSafetyOptions failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IObjectSafety_Release(obj_safety);
 }
@@ -1378,7 +1375,7 @@ static void set_xhr_site(IXMLHttpRequest *xhr)
     HRESULT hr;
 
     hr = IXMLHttpRequest_QueryInterface(xhr, &IID_IObjectWithSite, (void**)&obj_site);
-    ok(hr == S_OK, "Could not get IObjectWithSite iface: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     g_enablecallchecks = TRUE;
 
@@ -1398,7 +1395,7 @@ static void set_xhr_site(IXMLHttpRequest *xhr)
     SET_EXPECT(site_qi_IOleClientSite);
 
     hr = IObjectWithSite_SetSite(obj_site, &testsite);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     CHECK_CALLED(site_qi_IServiceProvider);
     todo_wine
@@ -1436,7 +1433,7 @@ static void _test_open(unsigned line, IXMLHttpRequest *xhr, const char *method,
     V_BOOL(&vfalse) = VARIANT_FALSE;
 
     hr = IXMLHttpRequest_open(xhr, _bstr_(method), _bstr_(url), vfalse, empty, empty);
-    ok_(__FILE__,line)(hr == exhres, "open(%s %s) failed: %08x, expected %08x\n", method, url, hr, exhres);
+    ok_(__FILE__,line)(hr == exhres, "open(%s %s) failed: %#lx, expected %#lx.\n", method, url, hr, exhres);
 }
 
 #define test_server_open(a,b,c,d) _test_server_open(__LINE__,a,b,c,d)
@@ -1450,7 +1447,7 @@ static void _test_server_open(unsigned line, IServerXMLHTTPRequest *xhr, const c
     V_BOOL(&vfalse) = VARIANT_FALSE;
 
     hr = IServerXMLHTTPRequest_open(xhr, _bstr_(method), _bstr_(url), vfalse, empty, empty);
-    ok_(__FILE__,line)(hr == exhres, "open(%s %s) failed: %08x, expected %08x\n", method, url, hr, exhres);
+    ok_(__FILE__,line)(hr == exhres, "open(%s %s) failed: %#lx, expected %#lx.\n", method, url, hr, exhres);
 }
 
 static void test_XMLHTTP(void)
@@ -1481,38 +1478,38 @@ static void test_XMLHTTP(void)
     V_ERROR(&dummy) = DISP_E_MEMBERNOTFOUND;
 
     hr = IXMLHttpRequest_put_onreadystatechange(xhr, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_abort(xhr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&varbody) = VT_I2;
     V_I2(&varbody) = 1;
     hr = IXMLHttpRequest_get_responseBody(xhr, &varbody);
-    EXPECT_HR(hr, E_PENDING);
+    ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&varbody) == VT_EMPTY, "got type %d\n", V_VT(&varbody));
 
     V_VT(&varbody) = VT_I2;
     V_I2(&varbody) = 1;
     hr = IXMLHttpRequest_get_responseStream(xhr, &varbody);
-    EXPECT_HR(hr, E_PENDING);
+    ok(hr == E_PENDING, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&varbody) == VT_EMPTY, "got type %d\n", V_VT(&varbody));
 
     /* send before open */
     hr = IXMLHttpRequest_send(xhr, dummy);
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
 
     /* initial status code */
     hr = IXMLHttpRequest_get_status(xhr, NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
 
     status = 0xdeadbeef;
     hr = IXMLHttpRequest_get_status(xhr, &status);
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
-    ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "got %d\n", status);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
+    ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "Unexpected state %ld.\n", status);
 
     hr = IXMLHttpRequest_get_statusText(xhr, &str);
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* invalid parameters */
     test_open(xhr, NULL, NULL, E_INVALIDARG);
@@ -1520,31 +1517,31 @@ static void test_XMLHTTP(void)
     test_open(xhr, NULL, urlA, E_INVALIDARG);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, _bstr_("header1"), NULL);
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, NULL, _bstr_("value1"));
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, _bstr_("header1"), _bstr_("value1"));
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_readyState(xhr, NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
 
     state = -1;
     hr = IXMLHttpRequest_get_readyState(xhr, &state);
-    EXPECT_HR(hr, S_OK);
-    ok(state == READYSTATE_UNINITIALIZED, "got %d, expected READYSTATE_UNINITIALIZED\n", state);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(state == READYSTATE_UNINITIALIZED, "Unexpected state %ld.\n", state);
 
     httpreq = xhr;
     event = create_dispevent();
 
     EXPECT_REF(event, 1);
     hr = IXMLHttpRequest_put_onreadystatechange(xhr, event);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(event, 2);
 
     g_unexpectedcall = g_expectedcall = 0;
@@ -1557,33 +1554,33 @@ static void test_XMLHTTP(void)
     /* status code after ::open() */
     status = 0xdeadbeef;
     hr = IXMLHttpRequest_get_status(xhr, &status);
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
-    ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "got %d\n", status);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
+    ok(status == READYSTATE_UNINITIALIZED || broken(status == 0xdeadbeef) /* <win8 */, "Unexpected state %ld.\n", status);
 
     state = -1;
     hr = IXMLHttpRequest_get_readyState(xhr, &state);
-    EXPECT_HR(hr, S_OK);
-    ok(state == READYSTATE_LOADING, "got %d, expected READYSTATE_LOADING\n", state);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(state == READYSTATE_LOADING, "Unexpected state %ld.\n", state);
 
     hr = IXMLHttpRequest_abort(xhr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     state = -1;
     hr = IXMLHttpRequest_get_readyState(xhr, &state);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(state == READYSTATE_UNINITIALIZED || broken(state == READYSTATE_LOADING) /* win2k */,
-        "got %d, expected READYSTATE_UNINITIALIZED\n", state);
+        "Unexpected state %ld.\n", state);
 
     test_open(xhr, "POST", urlA, S_OK);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, _bstr_("header1"), _bstr_("value1"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, NULL, _bstr_("value1"));
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_setRequestHeader(xhr, _bstr_(""), _bstr_("value1"));
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&varbody) = VT_BSTR;
     V_BSTR(&varbody) = _bstr_(bodyA);
@@ -1595,42 +1592,42 @@ static void test_XMLHTTP(void)
         IXMLHttpRequest_Release(xhr);
         return;
     }
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* response headers */
     hr = IXMLHttpRequest_getAllResponseHeaders(xhr, NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
     hr = IXMLHttpRequest_getAllResponseHeaders(xhr, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* status line is stripped already */
     ok(memcmp(str, L"HTTP", 4*sizeof(WCHAR)), "got response headers %s\n", wine_dbgstr_w(str));
     ok(*str, "got empty headers\n");
     hr = IXMLHttpRequest_getAllResponseHeaders(xhr, &str1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(str1 != str, "got %p\n", str1);
     SysFreeString(str1);
     SysFreeString(str);
 
     hr = IXMLHttpRequest_getResponseHeader(xhr, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     hr = IXMLHttpRequest_getResponseHeader(xhr, _bstr_("Date"), NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
     hr = IXMLHttpRequest_getResponseHeader(xhr, _bstr_("Date"), &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(*str != ' ', "got leading space in header %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* status code after ::send() */
-    status = 0xdeadbeef;
+    status = 0;
     hr = IXMLHttpRequest_get_status(xhr, &status);
-    EXPECT_HR(hr, S_OK);
-    ok(status == 200, "got %d\n", status);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(status == 200, "Unexpected status %ld.\n", status);
 
     hr = IXMLHttpRequest_get_statusText(xhr, NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_statusText(xhr, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"OK"), "got status %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -1639,10 +1636,10 @@ static void test_XMLHTTP(void)
     V_BSTR(&varbody) = _bstr_(bodyA);
 
     hr = IXMLHttpRequest_send(xhr, varbody);
-    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL || broken(hr == E_UNEXPECTED) /* win2k */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_responseText(xhr, &bstrResponse);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* the server currently returns "FAILED" because the Content-Type header is
      * not what the server expects */
     if(hr == S_OK)
@@ -1656,7 +1653,7 @@ static void test_XMLHTTP(void)
     test_open(xhr, "POST", urlA, S_OK);
 
     hr = IXMLHttpRequest_send(xhr, varbody);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* GET request */
     test_open(xhr, "GET", xmltestA, S_OK);
@@ -1670,33 +1667,33 @@ static void test_XMLHTTP(void)
         IXMLHttpRequest_Release(xhr);
         return;
     }
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_responseText(xhr, NULL);
-    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER || broken(hr == E_INVALIDARG) /* <win8 */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_responseText(xhr, &bstrResponse);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!memcmp(bstrResponse, _bstr_(xmltestbodyA), sizeof(xmltestbodyA)*sizeof(WCHAR)),
         "expected %s, got %s\n", xmltestbodyA, wine_dbgstr_w(bstrResponse));
     SysFreeString(bstrResponse);
 
     hr = IXMLHttpRequest_get_responseBody(xhr, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_get_responseBody(xhr, &varbody);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&varbody) == (VT_ARRAY|VT_UI1), "got type %d, expected %d\n", V_VT(&varbody), VT_ARRAY|VT_UI1);
     ok(SafeArrayGetDim(V_ARRAY(&varbody)) == 1, "got %d, expected one dimension\n", SafeArrayGetDim(V_ARRAY(&varbody)));
 
     bound = -1;
     hr = SafeArrayGetLBound(V_ARRAY(&varbody), 1, &bound);
-    EXPECT_HR(hr, S_OK);
-    ok(bound == 0, "got %d, expected zero bound\n", bound);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(!bound, "Unexpected bound %ld.\n", bound);
 
     hr = SafeArrayAccessData(V_ARRAY(&varbody), &ptr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(memcmp(ptr, xmltestbodyA, sizeof(xmltestbodyA)-1) == 0, "got wrong body data\n");
     SafeArrayUnaccessData(V_ARRAY(&varbody));
 
@@ -1704,17 +1701,17 @@ static void test_XMLHTTP(void)
 
     /* get_responseStream */
     hr = IXMLHttpRequest_get_responseStream(xhr, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_get_responseStream(xhr, &varbody);
     ok(V_VT(&varbody) == VT_UNKNOWN, "got type %d\n", V_VT(&varbody));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(V_UNKNOWN(&varbody), 1);
 
     g = NULL;
     hr = GetHGlobalFromStream((IStream*)V_UNKNOWN(&varbody), &g);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(g != NULL, "got %p\n", g);
     VariantClear(&varbody);
 
@@ -1725,21 +1722,21 @@ static void test_XMLHTTP(void)
 
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_send(xhr, varbody);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLHttpRequest_get_responseText(xhr, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"no referer set"), "got response text %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* interaction with object site */
     hr = IXMLHttpRequest_QueryInterface(xhr, &IID_IObjectWithSite, (void**)&obj_site);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IObjectWithSite_SetSite(obj_site, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_QueryInterface(xhr, &IID_IObjectWithSite, (void**)&obj_site2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(obj_site == obj_site2 || broken(obj_site != obj_site2), "got new instance\n");
     IObjectWithSite_Release(obj_site2);
 
@@ -1750,38 +1747,38 @@ static void test_XMLHTTP(void)
 
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_send(xhr, varbody);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLHttpRequest_get_responseText(xhr, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, str1), "got response text %s, expected %s\n", wine_dbgstr_w(str), wine_dbgstr_w(str1));
     SysFreeString(str);
     SysFreeString(str1);
 
     /* try to set site another time */
     hr = IObjectWithSite_SetSite(obj_site, &testsite);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IObjectWithSite_Release(obj_site);
 
     /* HEAD request */
     hr = IXMLHttpRequest_put_onreadystatechange(xhr, NULL);
-    ok(hr == S_OK, "Failed to reset state change handler, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     test_open(xhr, "HEAD", xmltestA, S_OK);
 
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_send(xhr, varbody);
-    ok(hr == S_OK, "Failed to send HEAD request, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = NULL;
     hr = IXMLHttpRequest_get_responseText(xhr, &str);
-    ok(hr == S_OK, "Failed to get response text, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!*str, "Unexpected text %s.\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IXMLHttpRequest_getAllResponseHeaders(xhr, &str);
-    ok(hr == S_OK, "Failed to get response headers, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(str && *str, "Expected response headers.\n");
     SysFreeString(str);
 
@@ -1795,7 +1792,7 @@ static void test_XMLHTTP(void)
     V_VT(&varbody) = VT_EMPTY;
     hr = IXMLHttpRequest_send(xhr, varbody);
     todo_wine
-    ok(hr == INET_E_RESOURCE_NOT_FOUND, "send to invalid host returned %#x.\n", hr);
+    ok(hr == INET_E_RESOURCE_NOT_FOUND, "Unexpected hr %#lx.\n", hr);
 
     IXMLHttpRequest_Release(xhr);
     free_bstrs();
@@ -1822,10 +1819,10 @@ static void test_server_xhr(void)
         IServerXMLHTTPRequest_Release(xhr);
         return;
     }
-    ok(hr == S_OK, "send failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IServerXMLHTTPRequest_get_responseText(xhr, &response);
-    ok(hr == S_OK, "get_responseText failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!strcmp_wa(response, xmltestbodyA), "got %s\n", wine_dbgstr_w(response));
     SysFreeString(response);
 
@@ -1839,7 +1836,7 @@ static void test_server_xhr(void)
     V_VT(&body) = VT_EMPTY;
     hr = IServerXMLHTTPRequest_send(xhr, body);
     todo_wine
-    ok(hr == WININET_E_NAME_NOT_RESOLVED, "send to invalid host returned %#x.\n", hr);
+    ok(hr == WININET_E_NAME_NOT_RESOLVED, "Unexpected hr %#lx.\n", hr);
 
     IServerXMLHTTPRequest_Release(xhr);
     free_bstrs();
@@ -1876,11 +1873,11 @@ static void test_supporterrorinfo(void)
 
     EXPECT_REF(xhr, 1);
     hr = IXMLHttpRequest_QueryInterface(xhr, &IID_ISupportErrorInfo, (void **)&errorinfo);
-    ok(hr == S_OK, "Failed to get ISupportErrorInfo, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(xhr, 2);
 
     hr = IXMLHttpRequest_QueryInterface(xhr, &IID_ISupportErrorInfo, (void **)&errorinfo2);
-    ok(hr == S_OK, "Failed to get ISupportErrorInfo, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(errorinfo == errorinfo2, "Unexpected error info instance.\n");
     EXPECT_REF(xhr, 3);
 
@@ -1894,11 +1891,11 @@ static void test_supporterrorinfo(void)
 
     EXPECT_REF(server_xhr, 1);
     hr = IServerXMLHTTPRequest_QueryInterface(server_xhr, &IID_ISupportErrorInfo, (void **)&errorinfo);
-    ok(hr == S_OK, "Failed to get ISupportErrorInfo, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(server_xhr, 2);
 
     hr = IServerXMLHTTPRequest_QueryInterface(server_xhr, &IID_ISupportErrorInfo, (void **)&errorinfo2);
-    ok(hr == S_OK, "Failed to get ISupportErrorInfo, hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(errorinfo == errorinfo2, "Unexpected error info instance.\n");
     EXPECT_REF(server_xhr, 3);
 
diff --git a/dlls/msxml3/tests/saxreader.c b/dlls/msxml3/tests/saxreader.c
index ef3818f6f2c..d8101c4ce94 100644
--- a/dlls/msxml3/tests/saxreader.c
+++ b/dlls/msxml3/tests/saxreader.c
@@ -36,16 +36,13 @@
 #include "wine/heap.h"
 #include "wine/test.h"
 
-#define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
-
 #define EXPECT_REF(obj,ref) _expect_ref((IUnknown*)obj, ref, __LINE__)
 static void _expect_ref(IUnknown* obj, ULONG ref, int line)
 {
     ULONG rc;
     IUnknown_AddRef(obj);
     rc = IUnknown_Release(obj);
-    ok_(__FILE__, line)(rc == ref, "expected refcount %d, got %d\n", ref, rc);
+    ok_(__FILE__, line)(rc == ref, "expected refcount %ld, got %ld.\n", ref, rc);
 }
 
 #define check_interface(a, b, c) check_interface_(__LINE__, a, b, c)
@@ -58,7 +55,7 @@ static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOO
     expected_hr = supported ? S_OK : E_NOINTERFACE;
 
     hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
-    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#x, expected %#x.\n", hr, expected_hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#lx, expected %#lx.\n", hr, expected_hr);
     if (SUCCEEDED(hr))
         IUnknown_Release(unk);
 }
@@ -473,12 +470,12 @@ static void ok_sequence_(struct call_sequence **seq, int sequence_index,
                 {
                      failcount++;
                      ok_(file, line) (FALSE,
-                         "%s: in event %s expecting ret 0x%08x got 0x%08x\n",
+                         "%s: in event %s expecting ret %#lx got %#lx\n",
                          context, get_event_name(actual->id), expected->ret, actual->ret);
                 }
                 else
                      ok_(file, line) (expected->ret == actual->ret,
-                         "%s: in event %s expecting ret 0x%08x got 0x%08x\n",
+                         "%s: in event %s expecting ret %#lx got %#lx\n",
                          context, get_event_name(actual->id), expected->ret, actual->ret);
                 break;
             case EH_ERROR:
@@ -1105,7 +1102,7 @@ static HRESULT WINAPI contentHandler_putDocumentLocator(
     add_call(sequences, CONTENT_HANDLER_INDEX, &call);
 
     hr = ISAXLocator_QueryInterface(pLocator, &IID_IVBSAXLocator, (void**)&unk);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     if (msxml_version >= 6) {
         ISAXAttributes *attr, *attr1;
@@ -1113,21 +1110,21 @@ static HRESULT WINAPI contentHandler_putDocumentLocator(
 
         EXPECT_REF(pLocator, 1);
         hr = ISAXLocator_QueryInterface(pLocator, &IID_ISAXAttributes, (void**)&attr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(pLocator, 2);
         hr = ISAXLocator_QueryInterface(pLocator, &IID_ISAXAttributes, (void**)&attr1);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(pLocator, 3);
         ok(attr == attr1, "got %p, %p\n", attr, attr1);
 
         hr = ISAXAttributes_QueryInterface(attr, &IID_IVBSAXAttributes, (void**)&unk);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXLocator_QueryInterface(pLocator, &IID_IVBSAXAttributes, (void**)&unk);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_QueryInterface(attr, &IID_IMXAttributes, (void**)&mxattr);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
         ISAXAttributes_Release(attr);
         ISAXAttributes_Release(attr1);
@@ -1215,7 +1212,7 @@ static HRESULT WINAPI contentHandler_startElement(
     ok(qname != NULL, "qname == NULL\n");
 
     hr = ISAXAttributes_QueryInterface(saxattr, &IID_IMXAttributes, (void**)&mxattr);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     init_call_entry(locator, &call);
     call.id = CH_STARTELEMENT;
@@ -1230,7 +1227,7 @@ static HRESULT WINAPI contentHandler_startElement(
     /* store actual attributes */
     len = 0;
     hr = ISAXAttributes_getLength(saxattr, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     if (len)
     {
@@ -1242,7 +1239,7 @@ static HRESULT WINAPI contentHandler_startElement(
 
         v = VARIANT_TRUE;
         hr = ISAXXMLReader_getFeature(g_reader, _bstr_("http://xml.org/sax/features/namespaces"), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         for (i = 0; i < len; i++)
         {
@@ -1251,10 +1248,10 @@ static HRESULT WINAPI contentHandler_startElement(
 
             hr = ISAXAttributes_getName(saxattr, i, &uri, &uri_len,
                 &localname, &local_len, &qname, &qname_len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXAttributes_getValue(saxattr, i, &value, &value_len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             /* if 'namespaces' switched off uri and local name contains garbage */
             if (v == VARIANT_FALSE && msxml_version > 0)
@@ -1930,7 +1927,7 @@ typedef struct mxwriter_stream_test_t {
 } mxwriter_stream_test;
 
 static const mxwriter_write_test *current_write_test;
-static DWORD current_stream_test_index;
+static unsigned int current_stream_test_index;
 
 static HRESULT WINAPI istream_QueryInterface(IStream *iface, REFIID riid, void **ppvObject)
 {
@@ -2038,7 +2035,7 @@ static HRESULT WINAPI mxstream_Write(IStream *iface, const void *pv, ULONG cb, U
 
     fail = current_write_test->fail_write;
 
-    ok(current_write_test->cb == cb, "Expected %d, but got %d on test %d\n",
+    ok(current_write_test->cb == cb, "Expected %ld, but got %ld on test %d\n",
         current_write_test->cb, cb, current_stream_test_index);
 
     if(!pcbWritten)
@@ -2175,7 +2172,7 @@ static void test_saxreader(void)
         }
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER, &IID_ISAXXMLReader, (void**)&reader);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         g_reader = reader;
 
         if (IsEqualGUID(table->clsid, &CLSID_SAXXMLReader40))
@@ -2190,31 +2187,31 @@ static void test_saxreader(void)
             !IsEqualGUID(table->clsid, &CLSID_SAXXMLReader60))
         {
             hr = ISAXXMLReader_getContentHandler(reader, NULL);
-            EXPECT_HR(hr, E_POINTER);
+            ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXXMLReader_getErrorHandler(reader, NULL);
-            EXPECT_HR(hr, E_POINTER);
+            ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
         }
 
         hr = ISAXXMLReader_getContentHandler(reader, &content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(content == NULL, "Expected %p, got %p\n", NULL, content);
 
         hr = ISAXXMLReader_getErrorHandler(reader, &lpErrorHandler);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(lpErrorHandler == NULL, "Expected %p, got %p\n", NULL, lpErrorHandler);
 
         hr = ISAXXMLReader_putContentHandler(reader, NULL);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXXMLReader_putContentHandler(reader, &contentHandler);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXXMLReader_putErrorHandler(reader, &errorHandler);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXXMLReader_getContentHandler(reader, &content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(content == &contentHandler, "Expected %p, got %p\n", &contentHandler, content);
 
         V_VT(&var) = VT_BSTR;
@@ -2227,7 +2224,7 @@ static void test_saxreader(void)
             test_seq = content_handler_test1;
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test 1", FALSE);
 
         VariantClear(&var);
@@ -2243,7 +2240,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test 1: from safe array", FALSE);
 
         SafeArrayDestroy(sa);
@@ -2251,12 +2248,12 @@ static void test_saxreader(void)
         V_VT(&var) = VT_UNKNOWN;
         V_UNKNOWN(&var) = NULL;
         hr = ISAXXMLReader_parse(reader, var);
-        ok(hr == E_INVALIDARG, "got %#x\n", hr);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&var) = VT_DISPATCH;
         V_DISPATCH(&var) = NULL;
         hr = ISAXXMLReader_parse(reader, var);
-        ok(hr == E_INVALIDARG, "got %#x\n", hr);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         stream = create_test_stream(testXML, -1);
         V_VT(&var) = VT_UNKNOWN;
@@ -2264,7 +2261,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test 1: from stream", FALSE);
 
         IStream_Release(stream);
@@ -2282,7 +2279,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         if (IsEqualGUID(table->clsid, &CLSID_SAXXMLReader40) ||
             IsEqualGUID(table->clsid, &CLSID_SAXXMLReader60))
@@ -2299,7 +2296,7 @@ static void test_saxreader(void)
         read_cnt = 0;
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(read_cnt == 7, "read_cnt = %d\n", read_cnt);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "Read call test", FALSE);
 
@@ -2314,14 +2311,14 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test 2", FALSE);
 
         VariantClear(&var);
 
         /* from file url */
         file = CreateFileA(testXmlA, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-        ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
+        ok(file != INVALID_HANDLE_VALUE, "Could not create file: %lu\n", GetLastError());
         WriteFile(file, testXML, sizeof(testXML)-1, &written, NULL);
         CloseHandle(file);
 
@@ -2332,12 +2329,12 @@ static void test_saxreader(void)
             IVBSAXXMLReader *vb_reader;
 
             hr = ISAXXMLReader_parseURL(reader, NULL);
-            ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXXMLReader_QueryInterface(reader, &IID_IVBSAXXMLReader, (void **)&vb_reader);
-            ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             hr = IVBSAXXMLReader_parseURL(vb_reader, NULL);
-            ok(hr == E_INVALIDARG, "Unexpected hr %#x.\n", hr);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
             IVBSAXXMLReader_Release(vb_reader);
         }
 
@@ -2348,7 +2345,7 @@ static void test_saxreader(void)
             test_seq = content_handler_test1;
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parseURL(reader, L"test.xml");
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test 1: from file url", FALSE);
 
         /* error handler */
@@ -2359,7 +2356,7 @@ static void test_saxreader(void)
             test_seq = content_handler_testerror;
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parseURL(reader, L"test.xml");
-        EXPECT_HR(hr, E_FAIL);
+        ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test error", FALSE);
 
         /* callback ret values */
@@ -2369,14 +2366,14 @@ static void test_saxreader(void)
             test_seq = content_handler_test_callback_rets_alt;
             set_expected_seq(test_seq);
             hr = ISAXXMLReader_parseURL(reader, L"test.xml");
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         }
         else
         {
             test_seq = content_handler_test_callback_rets;
             set_expected_seq(test_seq);
             hr = ISAXXMLReader_parseURL(reader, L"test.xml");
-            EXPECT_HR(hr, S_FALSE);
+            ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         }
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content callback ret values", FALSE);
 
@@ -2385,11 +2382,11 @@ static void test_saxreader(void)
         /* parse from IXMLDOMDocument */
         hr = CoCreateInstance(&CLSID_DOMDocument, NULL, CLSCTX_INPROC_SERVER,
                 &IID_IXMLDOMDocument, (void**)&doc);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         str = SysAllocString(szSimpleXML);
         hr = IXMLDOMDocument_loadXML(doc, str, &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         SysFreeString(str);
 
         V_VT(&var) = VT_UNKNOWN;
@@ -2403,7 +2400,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "parse from IXMLDOMDocument", FALSE);
         IXMLDOMDocument_Release(doc);
 
@@ -2420,7 +2417,7 @@ static void test_saxreader(void)
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = _bstr_(xmlspace_attr);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         if (IsEqualGUID(table->clsid, &CLSID_SAXXMLReader40) ||
             IsEqualGUID(table->clsid, &CLSID_SAXXMLReader60))
@@ -2432,7 +2429,7 @@ static void test_saxreader(void)
 
         /* switch off 'namespaces' feature */
         hr = ISAXXMLReader_putFeature(reader, _bstr_("http://xml.org/sax/features/namespaces"), VARIANT_FALSE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         stream = create_test_stream(test_attributes, -1);
         V_VT(&var) = VT_UNKNOWN;
@@ -2448,15 +2445,15 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test attributes", TRUE);
         IStream_Release(stream);
         hr = ISAXXMLReader_putFeature(reader, _bstr_("http://xml.org/sax/features/namespaces"), VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* switch off 'namespace-prefixes' feature */
         hr = ISAXXMLReader_putFeature(reader, _bstr_("http://xml.org/sax/features/namespace-prefixes"), VARIANT_FALSE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         stream = create_test_stream(test_attributes, -1);
         V_VT(&var) = VT_UNKNOWN;
@@ -2472,12 +2469,12 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "content test attributes", FALSE);
         IStream_Release(stream);
 
         hr = ISAXXMLReader_putFeature(reader, _bstr_("http://xml.org/sax/features/namespace-prefixes"), VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* attribute normalization */
         stream = create_test_stream(attribute_normalize, -1);
@@ -2494,17 +2491,17 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, "attribute value normalization", TRUE);
         IStream_Release(stream);
 
         resolver = (void*)0xdeadbeef;
         hr = ISAXXMLReader_getEntityResolver(reader, &resolver);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(resolver == NULL, "got %p\n", resolver);
 
         hr = ISAXXMLReader_putEntityResolver(reader, NULL);
-        ok(hr == S_OK || broken(hr == E_FAIL), "got 0x%08x\n", hr);
+        ok(hr == S_OK || broken(hr == E_FAIL), "Unexpected hr %#lx.\n", hr);
 
         /* CDATA sections */
         init_saxlexicalhandler(&lexicalhandler, S_OK);
@@ -2512,7 +2509,7 @@ static void test_saxreader(void)
         V_VT(&var) = VT_UNKNOWN;
         V_UNKNOWN(&var) = (IUnknown*)&lexicalhandler.ISAXLexicalHandler_iface;
         hr = ISAXXMLReader_putProperty(reader, _bstr_("http://xml.org/sax/properties/lexical-handler"), var);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         stream = create_test_stream(test_cdata_xml, -1);
         V_VT(&var) = VT_UNKNOWN;
@@ -2526,7 +2523,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         sprintf(seqname, "%s: cdata test", table->name);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, seqname, TRUE);
 
@@ -2545,7 +2542,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         sprintf(seqname, "%s: cdata test 2", table->name);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, seqname, TRUE);
 
@@ -2564,7 +2561,7 @@ static void test_saxreader(void)
 
         set_expected_seq(test_seq);
         hr = ISAXXMLReader_parse(reader, var);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         sprintf(seqname, "%s: cdata test 3", table->name);
         ok_sequence(sequences, CONTENT_HANDLER_INDEX, test_seq, seqname, TRUE);
 
@@ -2599,10 +2596,10 @@ static void test_saxreader_properties(void)
 
     hr = CoCreateInstance(&CLSID_SAXXMLReader, NULL, CLSCTX_INPROC_SERVER,
             &IID_ISAXXMLReader, (void**)&reader);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXXMLReader_getProperty(reader, _bstr_("http://xml.org/sax/properties/lexical-handler"), NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     while (ptr->prop_name)
     {
@@ -2615,7 +2612,7 @@ static void test_saxreader_properties(void)
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) == NULL, "got %p\n", V_UNKNOWN(&v));
 
@@ -2624,7 +2621,7 @@ static void test_saxreader_properties(void)
         V_UNKNOWN(&v) = ptr->iface;
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(ref < get_refcount(ptr->iface), "expected inreased refcount\n");
 
         /* VT_DISPATCH */
@@ -2632,8 +2629,8 @@ static void test_saxreader_properties(void)
         V_UNKNOWN(&v) = ptr->iface;
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
-        ok(ref == get_refcount(ptr->iface), "got wrong refcount %d, expected %d\n", get_refcount(ptr->iface), ref);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(ref == get_refcount(ptr->iface), "got wrong refcount %ld, expected %ld\n", get_refcount(ptr->iface), ref);
 
         /* VT_VARIANT|VT_BYREF with VT_UNKNOWN in referenced variant */
         V_VT(&varref) = VT_UNKNOWN;
@@ -2643,8 +2640,8 @@ static void test_saxreader_properties(void)
         V_VARIANTREF(&v) = &varref;
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
-        ok(ref == get_refcount(ptr->iface), "got wrong refcount %d, expected %d\n", get_refcount(ptr->iface), ref);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(ref == get_refcount(ptr->iface), "got wrong refcount %ld, expected %ld\n", get_refcount(ptr->iface), ref);
 
         /* VT_VARIANT|VT_BYREF with VT_DISPATCH in referenced variant */
         V_VT(&varref) = VT_DISPATCH;
@@ -2654,15 +2651,15 @@ static void test_saxreader_properties(void)
         V_VARIANTREF(&v) = &varref;
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
-        ok(ref == get_refcount(ptr->iface), "got wrong refcount %d, expected %d\n", get_refcount(ptr->iface), ref);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(ref == get_refcount(ptr->iface), "got wrong refcount %ld, expected %ld\n", get_refcount(ptr->iface), ref);
 
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
 
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) == ptr->iface, "got %p\n", V_UNKNOWN(&v));
         ok(ref < get_refcount(ptr->iface), "expected inreased refcount\n");
@@ -2671,30 +2668,30 @@ static void test_saxreader_properties(void)
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) == NULL, "got %p\n", V_UNKNOWN(&v));
 
         V_VT(&v) = VT_UNKNOWN;
         V_UNKNOWN(&v) = ptr->iface;
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* only VT_EMPTY seems to be valid to reset property */
         V_VT(&v) = VT_I4;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) == ptr->iface, "got %p\n", V_UNKNOWN(&v));
         VariantClear(&v);
@@ -2702,12 +2699,12 @@ static void test_saxreader_properties(void)
         V_VT(&v) = VT_UNKNOWN;
         V_UNKNOWN(&v) = NULL;
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) == NULL, "got %p\n", V_UNKNOWN(&v));
 
@@ -2715,7 +2712,7 @@ static void test_saxreader_properties(void)
         V_VT(&v) = VT_UNKNOWN;
         V_UNKNOWN(&v) = ptr->iface;
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         init_saxlexicalhandler(&lexicalhandler, E_NOINTERFACE);
         init_saxdeclhandler(&declhandler, E_NOINTERFACE);
@@ -2725,13 +2722,13 @@ static void test_saxreader_properties(void)
         EXPECT_REF(ptr->iface, 1);
         ref = get_refcount(ptr->iface);
         hr = ISAXXMLReader_putProperty(reader, _bstr_(ptr->prop_name), v);
-        EXPECT_HR(hr, E_NOINTERFACE);
+        ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
         EXPECT_REF(ptr->iface, 1);
 
         V_VT(&v) = VT_EMPTY;
         V_UNKNOWN(&v) = (IUnknown*)0xdeadbeef;
         hr = ISAXXMLReader_getProperty(reader, _bstr_(ptr->prop_name), &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&v) == VT_UNKNOWN, "got %d\n", V_VT(&v));
         ok(V_UNKNOWN(&v) != NULL, "got %p\n", V_UNKNOWN(&v));
 
@@ -2746,13 +2743,13 @@ static void test_saxreader_properties(void)
 
     hr = CoCreateInstance(&CLSID_SAXXMLReader40, NULL, CLSCTX_INPROC_SERVER,
             &IID_ISAXXMLReader, (void**)&reader);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* xmldecl-version property */
     V_VT(&v) = VT_EMPTY;
     V_BSTR(&v) = (void*)0xdeadbeef;
     hr = ISAXXMLReader_getProperty(reader, _bstr_("xmldecl-version"), &v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got %d\n", V_VT(&v));
     ok(V_BSTR(&v) == NULL, "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
 
@@ -2760,12 +2757,12 @@ static void test_saxreader_properties(void)
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("<element></element>");
     hr = ISAXXMLReader_parse(reader, v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_EMPTY;
     V_BSTR(&v) = (void*)0xdeadbeef;
     hr = ISAXXMLReader_getProperty(reader, _bstr_("xmldecl-version"), &v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got %d\n", V_VT(&v));
     ok(V_BSTR(&v) == NULL, "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
 
@@ -2773,19 +2770,19 @@ static void test_saxreader_properties(void)
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = _bstr_("<?xml version=\"1.0\"?><element></element>");
     hr = ISAXXMLReader_parse(reader, v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* VT_BSTR|VT_BYREF input type */
     str = _bstr_("<?xml version=\"1.0\"?><element></element>");
     V_VT(&v) = VT_BSTR|VT_BYREF;
     V_BSTRREF(&v) = &str;
     hr = ISAXXMLReader_parse(reader, v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_EMPTY;
     V_BSTR(&v) = (void*)0xdeadbeef;
     hr = ISAXXMLReader_getProperty(reader, _bstr_("xmldecl-version"), &v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_BSTR, "got %d\n", V_VT(&v));
     ok(!lstrcmpW(V_BSTR(&v), L"1.0"), "got %s\n", wine_dbgstr_w(V_BSTR(&v)));
     VariantClear(&v);
@@ -2839,28 +2836,28 @@ static void test_saxreader_features(void)
         {
             value = VARIANT_TRUE;
             hr = ISAXXMLReader_getFeature(reader, _bstr_("exhaustive-errors"), &value);
-            ok(hr == S_OK, "Failed to get feature value, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to get feature value, hr %#lx.\n", hr);
             ok(value == VARIANT_FALSE, "Unexpected default feature value.\n");
             hr = ISAXXMLReader_putFeature(reader, _bstr_("exhaustive-errors"), VARIANT_FALSE);
-            ok(hr == S_OK, "Failed to put feature value, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to put feature value, hr %#lx.\n", hr);
 
             value = VARIANT_TRUE;
             hr = ISAXXMLReader_getFeature(reader, _bstr_("schema-validation"), &value);
-            ok(hr == S_OK, "Failed to get feature value, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to get feature value, hr %#lx.\n", hr);
             ok(value == VARIANT_FALSE, "Unexpected default feature value.\n");
             hr = ISAXXMLReader_putFeature(reader, _bstr_("exhaustive-errors"), VARIANT_FALSE);
-            ok(hr == S_OK, "Failed to put feature value, hr %#x.\n", hr);
+            ok(hr == S_OK, "Failed to put feature value, hr %#lx.\n", hr);
         }
         else
         {
             value = 123;
             hr = ISAXXMLReader_getFeature(reader, _bstr_("exhaustive-errors"), &value);
-            ok(hr == E_INVALIDARG, "Failed to get feature value, hr %#x.\n", hr);
+            ok(hr == E_INVALIDARG, "Failed to get feature value, hr %#lx.\n", hr);
             ok(value == 123, "Unexpected value %d.\n", value);
 
             value = 123;
             hr = ISAXXMLReader_getFeature(reader, _bstr_("schema-validation"), &value);
-            ok(hr == E_INVALIDARG, "Failed to get feature value, hr %#x.\n", hr);
+            ok(hr == E_INVALIDARG, "Failed to get feature value, hr %#lx.\n", hr);
             ok(value == 123, "Unexpected value %d.\n", value);
         }
 
@@ -2869,30 +2866,30 @@ static void test_saxreader_features(void)
         {
             value = 0xc;
             hr = ISAXXMLReader_getFeature(reader, _bstr_(*name), &value);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(entry->value == value, "%s: got wrong default value %x, expected %x\n", entry->clsid, value, entry->value);
 
             value = 0xc;
             hr = ISAXXMLReader_putFeature(reader, _bstr_(*name), value);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             value = 0xd;
             hr = ISAXXMLReader_getFeature(reader, _bstr_(*name), &value);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(entry->value2 == value, "%s: got wrong value %x, expected %x\n", entry->clsid, value, entry->value2);
 
             hr = ISAXXMLReader_putFeature(reader, _bstr_(*name), VARIANT_FALSE);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             value = 0xd;
             hr = ISAXXMLReader_getFeature(reader, _bstr_(*name), &value);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(value == VARIANT_FALSE, "%s: got wrong value %x, expected VARIANT_FALSE\n", entry->clsid, value);
 
             hr = ISAXXMLReader_putFeature(reader, _bstr_(*name), VARIANT_TRUE);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             value = 0xd;
             hr = ISAXXMLReader_getFeature(reader, _bstr_(*name), &value);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(value == VARIANT_TRUE, "%s: got wrong value %x, expected VARIANT_TRUE\n", entry->clsid, value);
 
             name++;
@@ -2947,13 +2944,13 @@ static void test_saxreader_encoding(void)
         }
 
         file = CreateFileA(testXmlA, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-        ok(file != INVALID_HANDLE_VALUE, "Could not create file: %u\n", GetLastError());
+        ok(file != INVALID_HANDLE_VALUE, "Could not create file: %lu\n", GetLastError());
         WriteFile(file, UTF8BOMTest, sizeof(UTF8BOMTest)-1, &written, NULL);
         CloseHandle(file);
 
         hr = ISAXXMLReader_parseURL(reader, L"test.xml");
         todo_wine_if(entry->todo)
-            ok(hr == entry->hr, "Expected 0x%08x, got 0x%08x. CLSID %s\n", entry->hr, hr, entry->clsid);
+            ok(hr == entry->hr, "Expected %#lx, got %#lx. CLSID %s\n", entry->hr, hr, entry->clsid);
 
         DeleteFileA(testXmlA);
 
@@ -2961,7 +2958,7 @@ static void test_saxreader_encoding(void)
         V_VT(&input) = VT_BSTR;
         V_BSTR(&input) = _bstr_("<element></element>");
         hr = ISAXXMLReader_parse(reader, input);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         ISAXXMLReader_Release(reader);
 
@@ -2992,7 +2989,7 @@ static void test_mxwriter_handlers(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     EXPECT_REF(writer, 1);
 
@@ -3003,13 +3000,13 @@ static void test_mxwriter_handlers(void)
 
         /* handler from IMXWriter */
         hr = IMXWriter_QueryInterface(writer, riids[i], (void**)&handler);
-        ok(hr == S_OK, "%s, expected S_OK, got %08x\n", wine_dbgstr_guid(riids[i]), hr);
+        ok(hr == S_OK, "%s, unexpected hr %#lx.\n", wine_dbgstr_guid(riids[i]), hr);
         EXPECT_REF(writer, 2);
         EXPECT_REF(handler, 2);
 
         /* IMXWriter from a handler */
         hr = IUnknown_QueryInterface(handler, &IID_IMXWriter, (void**)&writer2);
-        ok(hr == S_OK, "%s, expected S_OK, got %08x\n", wine_dbgstr_guid(riids[i]), hr);
+        ok(hr == S_OK, "%s, unexpected hr %#lx.\n", wine_dbgstr_guid(riids[i]), hr);
         ok(writer2 == writer, "got %p, expected %p\n", writer2, writer);
         EXPECT_REF(writer, 3);
         IMXWriter_Release(writer2);
@@ -3077,36 +3074,36 @@ static void test_mxwriter_default_properties(const struct mxwriter_props_t *tabl
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         b = !table->bom;
         hr = IMXWriter_get_byteOrderMark(writer, &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(table->bom == b, "test %d: got BOM %d, expected %d\n", i, b, table->bom);
 
         b = !table->disable_escape;
         hr = IMXWriter_get_disableOutputEscaping(writer, &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(table->disable_escape == b, "test %d: got disable escape %d, expected %d\n", i, b,
            table->disable_escape);
 
         b = !table->indent;
         hr = IMXWriter_get_indent(writer, &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(table->indent == b, "test %d: got indent %d, expected %d\n", i, b, table->indent);
 
         b = !table->omitdecl;
         hr = IMXWriter_get_omitXMLDeclaration(writer, &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(table->omitdecl == b, "test %d: got omitdecl %d, expected %d\n", i, b, table->omitdecl);
 
         b = !table->standalone;
         hr = IMXWriter_get_standalone(writer, &b);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(table->standalone == b, "test %d: got standalone %d, expected %d\n", i, b, table->standalone);
 
         hr = IMXWriter_get_encoding(writer, &encoding);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(!lstrcmpW(encoding, _bstr_(table->encoding)), "test %d: got encoding %s, expected %s\n",
             i, wine_dbgstr_w(encoding), table->encoding);
         SysFreeString(encoding);
@@ -3131,44 +3128,44 @@ static void test_mxwriter_properties(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_disableOutputEscaping(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_byteOrderMark(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_indent(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_omitXMLDeclaration(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_standalone(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     /* set and check */
     hr = IMXWriter_put_standalone(writer, VARIANT_TRUE);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_FALSE;
     hr = IMXWriter_get_standalone(writer, &b);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     hr = IMXWriter_get_encoding(writer, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     /* UTF-16 is a default setting apparently */
     str = (void*)0xdeadbeef;
     hr = IMXWriter_get_encoding(writer, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"UTF-16"), "Unexpected string %s.\n", wine_dbgstr_w(str));
 
     str2 = (void*)0xdeadbeef;
     hr = IMXWriter_get_encoding(writer, &str2);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(str != str2, "expected newly allocated, got same %p\n", str);
 
     SysFreeString(str2);
@@ -3177,50 +3174,50 @@ static void test_mxwriter_properties(void)
     /* put empty string */
     str = SysAllocString(L"");
     hr = IMXWriter_put_encoding(writer, str);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     str = (void*)0xdeadbeef;
     hr = IMXWriter_get_encoding(writer, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"UTF-16"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* invalid encoding name */
     str = SysAllocString(L"test");
     hr = IMXWriter_put_encoding(writer, str);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     /* test case sensitivity */
     hr = IMXWriter_put_encoding(writer, _bstr_("utf-8"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     str = (void*)0xdeadbeef;
     hr = IMXWriter_get_encoding(writer, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"utf-8"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IMXWriter_put_encoding(writer, _bstr_("uTf-16"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     str = (void*)0xdeadbeef;
     hr = IMXWriter_get_encoding(writer, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"uTf-16"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* how it affects document creation */
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"yes\"?>\r\n",
         V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -3228,38 +3225,38 @@ static void test_mxwriter_properties(void)
     ISAXContentHandler_Release(content);
 
     hr = IMXWriter_get_version(writer, NULL);
-    ok(hr == E_POINTER, "got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
     /* default version is 'surprisingly' 1.0 */
     hr = IMXWriter_get_version(writer, &str);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"1.0"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* store version string as is */
     hr = IMXWriter_put_version(writer, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_version(writer, _bstr_("1.0"));
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_version(writer, _bstr_(""));
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IMXWriter_get_version(writer, &str);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L""), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IMXWriter_put_version(writer, _bstr_("a.b"));
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IMXWriter_get_version(writer, &str);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"a.b"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     hr = IMXWriter_put_version(writer, _bstr_("2.0"));
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IMXWriter_get_version(writer, &str);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"2.0"), "got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -3282,98 +3279,98 @@ static void test_mxwriter_flush(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(stream, 1);
 
     /* detach when nothing was attached */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* attach stream */
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(stream, 3);
 
     /* detach setting VT_EMPTY destination */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(stream, 1);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* flush() doesn't detach a stream */
     hr = IMXWriter_flush(writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine EXPECT_REF(stream, 3);
 
     pos.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart == 0, "expected stream beginning\n");
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart != 0, "expected stream beginning\n");
 
     /* already started */
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* flushed on endDocument() */
     pos.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart != 0, "expected stream position moved\n");
 
     IStream_Release(stream);
 
     /* auto-flush feature */
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(stream, 1);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_byteOrderMark(writer, VARIANT_FALSE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("a"), -1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* internal buffer is flushed automatically on certain threshold */
     pos.QuadPart = 0;
     pos2.QuadPart = 1;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart == 0, "expected stream beginning\n");
 
     len = 2048;
@@ -3381,81 +3378,81 @@ static void test_mxwriter_flush(void)
     memset(buff, 'A', len);
     buff[len] = 0;
     hr = ISAXContentHandler_characters(content, _bstr_(buff), len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     pos2.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart != 0, "unexpected stream beginning\n");
 
     hr = IMXWriter_get_output(writer, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     ref = get_refcount(stream);
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_UNKNOWN, "got vt type %d\n", V_VT(&dest));
     ok(V_UNKNOWN(&dest) == (IUnknown*)stream, "got pointer %p\n", V_UNKNOWN(&dest));
     ok(ref+1 == get_refcount(stream), "expected increased refcount\n");
     VariantClear(&dest);
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IStream_Release(stream);
 
     /* test char count lower than threshold */
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     EXPECT_REF(stream, 1);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("a"), -1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     pos2.QuadPart = 1;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart == 0, "expected stream beginning\n");
 
     memset(buff, 'A', len);
     buff[len] = 0;
     hr = ISAXContentHandler_characters(content, _bstr_(buff), len - 8);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     pos2.QuadPart = 1;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart == 0, "expected stream beginning\n");
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* test auto-flush function when stream is not set */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("a"), -1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     memset(buff, 'A', len);
     buff[len] = 0;
     hr = ISAXContentHandler_characters(content, _bstr_(buff), len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len += strlen("<a>");
     ok(SysStringLen(V_BSTR(&dest)) == len, "got len=%d, expected %d\n", SysStringLen(V_BSTR(&dest)), len);
     VariantClear(&dest);
@@ -3476,20 +3473,20 @@ static void test_mxwriter_startenddocument(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n", V_BSTR(&dest)),
         "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -3497,11 +3494,11 @@ static void test_mxwriter_startenddocument(void)
 
     /* now try another startDocument */
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     /* and get duplicated prolog */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_("<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n"
                         "<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n"), V_BSTR(&dest)),
@@ -3514,23 +3511,23 @@ static void test_mxwriter_startenddocument(void)
     /* now with omitted declaration */
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -3707,21 +3704,21 @@ static void test_mxwriter_startendelement_batch(const struct writer_startendelem
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_startDocument(content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         if (table->type & DisableEscaping)
         {
             hr = IMXWriter_put_disableOutputEscaping(writer, VARIANT_TRUE);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         }
 
         if (table->type & StartElement)
@@ -3729,7 +3726,7 @@ static void test_mxwriter_startendelement_batch(const struct writer_startendelem
             hr = ISAXContentHandler_startElement(content, _bstr_(table->uri), table->uri ? strlen(table->uri) : 0,
                 _bstr_(table->local_name), table->local_name ? strlen(table->local_name) : 0, _bstr_(table->qname),
                 table->qname ? strlen(table->qname) : 0, table->attr);
-            ok(hr == table->hr, "test %d: got 0x%08x, expected 0x%08x\n", i, hr, table->hr);
+            ok(hr == table->hr, "test %d: got %#lx, expected %#lx\n", i, hr, table->hr);
         }
 
         if (table->type & EndElement)
@@ -3737,7 +3734,7 @@ static void test_mxwriter_startendelement_batch(const struct writer_startendelem
             hr = ISAXContentHandler_endElement(content, _bstr_(table->uri), table->uri ? strlen(table->uri) : 0,
                 _bstr_(table->local_name), table->local_name ? strlen(table->local_name) : 0, _bstr_(table->qname),
                 table->qname ? strlen(table->qname) : 0);
-            ok(hr == table->hr, "test %d: got 0x%08x, expected 0x%08x\n", i, hr, table->hr);
+            ok(hr == table->hr, "test %d: got %#lx, expected %#lx\n", i, hr, table->hr);
         }
 
         /* test output */
@@ -3747,7 +3744,7 @@ static void test_mxwriter_startendelement_batch(const struct writer_startendelem
 
             V_VT(&dest) = VT_EMPTY;
             hr = IMXWriter_get_output(writer, &dest);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
             ok(!lstrcmpW(_bstr_(table->output), V_BSTR(&dest)),
                 "test %d: got wrong content %s, expected %s\n", i, wine_dbgstr_w(V_BSTR(&dest)), table->output);
@@ -3808,24 +3805,24 @@ static void test_mxwriter_startendelement_batch2(const struct writer_startendele
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_startDocument(content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0,
             _bstr_(table->qnamestart), table->qnamestart_len, NULL);
-        ok(hr == table->hr, "test %d: got 0x%08x, expected 0x%08x\n", i, hr, table->hr);
+        ok(hr == table->hr, "test %d: got %#lx, expected %#lx\n", i, hr, table->hr);
 
         hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0,
             _bstr_(table->qnameend), table->qnameend_len);
-        ok(hr == table->hr, "test %d: got 0x%08x, expected 0x%08x\n", i, hr, table->hr);
+        ok(hr == table->hr, "test %d: got %#lx, expected %#lx\n", i, hr, table->hr);
 
         /* test output */
         if (hr == S_OK)
@@ -3834,7 +3831,7 @@ static void test_mxwriter_startendelement_batch2(const struct writer_startendele
 
             V_VT(&dest) = VT_EMPTY;
             hr = IMXWriter_get_output(writer, &dest);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
             ok(!lstrcmpW(_bstr_(table->output), V_BSTR(&dest)),
                 "test %d: got wrong content %s, expected %s\n", i, wine_dbgstr_w(V_BSTR(&dest)), table->output);
@@ -3866,16 +3863,16 @@ static void test_mxwriter_startendelement(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXContentHandler, (void**)&vb_content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_startDocument(vb_content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     bstr_empty = SysAllocString(L"");
     bstr_a = SysAllocString(L"a");
@@ -3883,49 +3880,49 @@ static void test_mxwriter_startendelement(void)
     bstr_ab = SysAllocString(L"a:b");
 
     hr = IVBSAXContentHandler_startElement(vb_content, &bstr_null, &bstr_empty, &bstr_b, NULL);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_startElement(vb_content, &bstr_empty, &bstr_b, &bstr_empty, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = IVBSAXContentHandler_startElement(vb_content, &bstr_empty, &bstr_empty, &bstr_b, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<><b>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_null, &bstr_null, &bstr_b);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_null, &bstr_a, &bstr_b);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_a, &bstr_b, &bstr_null);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_empty, &bstr_null, &bstr_b);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_empty, &bstr_b, &bstr_null);
-    ok(hr == E_INVALIDARG, "got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_endElement(vb_content, &bstr_empty, &bstr_empty, &bstr_b);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<><b></b>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -3936,115 +3933,115 @@ static void test_mxwriter_startendelement(void)
     SysFreeString(bstr_ab);
 
     hr = IVBSAXContentHandler_endDocument(vb_content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IVBSAXContentHandler_Release(vb_content);
     IMXWriter_Release(writer);
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* all string pointers should be not null */
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_("b"), 1, _bstr_(""), 0, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("b"), 1, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<><b>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_endElement(content, NULL, 0, NULL, 0, _bstr_("a:b"), 3);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, NULL, 0, _bstr_("b"), 1, _bstr_("a:b"), 3);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     /* only local name is an error too */
     hr = ISAXContentHandler_endElement(content, NULL, 0, _bstr_("b"), 1, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("b"), 1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<><b></b>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("abcdef"), 3, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<abc>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IMXWriter_flush(writer);
 
     hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("abdcdef"), 3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<abc></abd>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* length -1 */
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("a"), -1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<a>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -4082,42 +4079,42 @@ static void test_mxwriter_characters(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXContentHandler, (void**)&vb_content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, L"TESTCHARDATA .", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = _bstr_("VbChars");
     hr = IVBSAXContentHandler_characters(vb_content, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, L"TESTCHARDATA .", 14);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"VbCharsTESTCHARDATA .", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ISAXContentHandler_Release(content);
     IVBSAXContentHandler_Release(vb_content);
@@ -4126,29 +4123,29 @@ static void test_mxwriter_characters(void)
     /* try empty characters data to see if element is closed */
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("a"), 1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, L"TESTCHARDATA .", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("a"), 1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<a></a>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -4159,23 +4156,23 @@ static void test_mxwriter_characters(void)
     /* test embedded null bytes */
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, embedded_nullbytes, ARRAY_SIZE(embedded_nullbytes));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(SysStringLen(V_BSTR(&dest)) == ARRAY_SIZE(embedded_nullbytes), "unexpected len %d\n", SysStringLen(V_BSTR(&dest)));
     ok(!memcmp(V_BSTR(&dest), embedded_nullbytes, ARRAY_SIZE(embedded_nullbytes)),
@@ -4187,25 +4184,25 @@ static void test_mxwriter_characters(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXContentHandler, (void**)&vb_content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXContentHandler_startDocument(vb_content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = SysAllocStringLen(embedded_nullbytes, ARRAY_SIZE(embedded_nullbytes));
     hr = IVBSAXContentHandler_characters(vb_content, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(SysStringLen(V_BSTR(&dest)) == ARRAY_SIZE(embedded_nullbytes), "unexpected len %d\n", SysStringLen(V_BSTR(&dest)));
     ok(!memcmp(V_BSTR(&dest), embedded_nullbytes, ARRAY_SIZE(embedded_nullbytes)),
@@ -4232,26 +4229,26 @@ static void test_mxwriter_characters(void)
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_startDocument(content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_characters(content, _bstr_(table->data), strlen(table->data));
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* test output */
         if (hr == S_OK)
         {
             V_VT(&dest) = VT_EMPTY;
             hr = IMXWriter_get_output(writer, &dest);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
             ok(!lstrcmpW(_bstr_(table->output), V_BSTR(&dest)),
                 "test %d: got wrong content %s, expected \"%s\"\n", i, wine_dbgstr_w(V_BSTR(&dest)), table->output);
@@ -4261,20 +4258,20 @@ static void test_mxwriter_characters(void)
         /* with disabled escaping */
         V_VT(&dest) = VT_EMPTY;
         hr = IMXWriter_put_output(writer, dest);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_put_disableOutputEscaping(writer, VARIANT_TRUE);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_characters(content, _bstr_(table->data), strlen(table->data));
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* test output */
         if (hr == S_OK)
         {
             V_VT(&dest) = VT_EMPTY;
             hr = IMXWriter_get_output(writer, &dest);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
             ok(!lstrcmpW(_bstr_(table->data), V_BSTR(&dest)),
                 "test %d: got wrong content %s, expected \"%s\"\n", i, wine_dbgstr_w(V_BSTR(&dest)), table->data);
@@ -4363,29 +4360,29 @@ static void test_mxwriter_stream(void)
 
         hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
                 &IID_IMXWriter, (void**)&writer);
-        ok(hr == S_OK, "CoCreateInstance failed: %08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-        ok(hr == S_OK, "QueryInterface(ISAXContentHandler) failed: %08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         hr = IMXWriter_put_encoding(writer, _bstr_(test->encoding));
-        ok(hr == S_OK, "put_encoding failed with %08x on test %d\n", hr, current_stream_test_index);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         V_VT(&dest) = VT_UNKNOWN;
         V_UNKNOWN(&dest) = (IUnknown*)&mxstream;
         hr = IMXWriter_put_output(writer, dest);
-        ok(hr == S_OK, "put_output failed with %08x on test %d\n", hr, current_stream_test_index);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         hr = IMXWriter_put_byteOrderMark(writer, test->bom);
-        ok(hr == S_OK, "put_byteOrderMark failed with %08x on test %d\n", hr, current_stream_test_index);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         current_write_test = test->expected_writes;
 
         hr = ISAXContentHandler_startDocument(content);
-        ok(hr == S_OK, "startDocument failed with %08x on test %d\n", hr, current_stream_test_index);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         hr = ISAXContentHandler_endDocument(content);
-        ok(hr == S_OK, "endDocument failed with %08x on test %d\n", hr, current_stream_test_index);
+        ok(hr == S_OK, "Unexpected hr %#lx on test %d\n", hr, current_stream_test_index);
 
         ISAXContentHandler_Release(content);
         IMXWriter_Release(writer);
@@ -4396,46 +4393,46 @@ static void test_mxwriter_stream(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "CoCreateInstance failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "CreateStreamOnHGlobal failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "QueryInterface(ISAXContentHandler) failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_encoding(writer, _bstr_("UTF-8"));
-    ok(hr == S_OK, "put_encoding failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "put_output failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "startDocument failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* Setting output of the mxwriter causes the current output to be flushed,
      * and the writer to start over.
      */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "put_output failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    ok(hr == S_OK, "Seek failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart != 0, "expected stream position moved\n");
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "startDocument failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "endDocument failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "get_output failed: %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "Expected VT_BSTR, got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n", V_BSTR(&dest)),
             "Got wrong content: %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -4444,30 +4441,30 @@ static void test_mxwriter_stream(void)
     /* test when BOM is written to output stream */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_SET, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_byteOrderMark(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_encoding(writer, _bstr_("UTF-16"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     pos.QuadPart = 0;
     pos2.QuadPart = 0;
     hr = IStream_Seek(stream, pos, STREAM_SEEK_CUR, &pos2);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(pos2.QuadPart == 2, "got wrong position\n");
 
     IStream_Release(stream);
@@ -4492,20 +4489,20 @@ static void test_mxwriter_domdoc(void)
 
     /* Create writer and attach DOMDocument output */
     hr = CoCreateInstance(&CLSID_MXXMLWriter60, NULL, CLSCTX_INPROC_SERVER, &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Failed to create a writer, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to create a writer, hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = CoCreateInstance(&CLSID_DOMDocument60, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLDOMDocument, (void **)&domdoc);
-    ok(hr == S_OK, "Failed to create a document, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to create a document, hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_DISPATCH;
     V_DISPATCH(&dest) = (IDispatch *)domdoc;
 
     hr = IMXWriter_put_output(writer, dest);
     todo_wine
-    ok(hr == S_OK, "Failed to set writer output, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to set writer output, hr %#lx.\n", hr);
     if (FAILED(hr))
     {
         IXMLDOMDocument_Release(domdoc);
@@ -4515,83 +4512,83 @@ static void test_mxwriter_domdoc(void)
 
     /* Add root element to document. */
     hr = IXMLDOMDocument_createElement(domdoc, _bstr_("TestElement"), &root);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMDocument_appendChild(domdoc, (IXMLDOMNode *)root, NULL);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(root);
 
     hr = IXMLDOMDocument_get_documentElement(domdoc, &root);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(root != NULL, "Unexpected document root.\n");
     IXMLDOMElement_Release(root);
 
     /* startDocument clears root element and disables methods. */
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(domdoc, &root);
     todo_wine
-    ok(hr == S_FALSE, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(domdoc, _bstr_("TestElement"), &root);
     todo_wine
-    ok(hr == E_FAIL, "Unexpected hr %#x.\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* startElement allows document root node to be accessed. */
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, L"BankAccount", 11, NULL);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_get_documentElement(domdoc, &root);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(root != NULL, "Unexpected document root.\n");
 
     hr = IXMLDOMElement_get_nodeName(root, &str);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine
     ok(!lstrcmpW(L"BankAccount", str), "Unexpected name %s.\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     /* startElement immediately updates previous node. */
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, L"Number", 6, NULL);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMElement_get_childNodes(root, &node_list);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_length(node_list, &list_length);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine
-    ok(list_length == 1, "list length %i, expected 1\n", list_length);
+    ok(list_length == 1, "list length %ld, expected 1\n", list_length);
 
     hr = IXMLDOMNodeList_get_item(node_list, 0, &node);
     todo_wine
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_nodeName(node, &str);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"Number", str), "got %s\n", wine_dbgstr_w(str));
 }
     SysFreeString(str);
 
     /* characters not immediately visible. */
     hr = ISAXContentHandler_characters(content, L"12345", 5);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_text(node, &str);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"", str), "got %s\n", wine_dbgstr_w(str));
 }
     SysFreeString(str);
 
     /* characters visible after endElement. */
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, L"Number", 6);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_text(node, &str);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"12345", str), "got %s\n", wine_dbgstr_w(str));
 }
     SysFreeString(str);
@@ -4601,37 +4598,37 @@ todo_wine {
     /* second startElement updates the existing node list. */
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, L"Name", 4, NULL);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, L"Captain Ahab", 12);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, L"Name", 4);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, L"BankAccount", 11);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNodeList_get_length(node_list, &list_length);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
-    ok(2 == list_length, "list length %i, expected 2\n", list_length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(2 == list_length, "list length %ld, expected 2\n", list_length);
 }
     hr = IXMLDOMNodeList_get_item(node_list, 1, &node);
     todo_wine
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMNode_get_nodeName(node, &str);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"Name", str), "got %s\n", wine_dbgstr_w(str));
 }
     SysFreeString(str);
 
     hr = IXMLDOMNode_get_text(node, &str);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(L"Captain Ahab", str), "got %s\n", wine_dbgstr_w(str));
 }
     SysFreeString(str);
@@ -4643,16 +4640,16 @@ todo_wine {
     /* endDocument makes document modifiable again. */
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMDocument_createElement(domdoc, _bstr_("TestElement"), &root);
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IXMLDOMElement_Release(root);
 
     /* finally check doc output */
     hr = IXMLDOMDocument_get_xml(domdoc, &str);
 todo_wine {
-    ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(
             L"<BankAccount>"
             "<Number>12345</Number>"
@@ -4698,26 +4695,26 @@ static void test_mxwriter_encoding(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_encoding(writer, _bstr_("UTF-8"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* The content is always re-encoded to UTF-16 when the output is
      * retrieved as a BSTR.
      */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "Expected VT_BSTR, got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n", V_BSTR(&dest)),
             "got wrong content: %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -4725,32 +4722,32 @@ static void test_mxwriter_encoding(void)
 
     /* switch encoding when something is written already */
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_UNKNOWN;
     V_UNKNOWN(&dest) = (IUnknown*)stream;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_encoding(writer, _bstr_("UTF-8"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* write empty element */
     hr = ISAXContentHandler_startElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("a"), 1, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, _bstr_(""), 0, _bstr_(""), 0, _bstr_("a"), 1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* switch */
     hr = IMXWriter_put_encoding(writer, _bstr_("UTF-16"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_flush(writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = GetHGlobalFromStream(stream, &g);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     ptr = GlobalLock(g);
     ok(!strncmp(ptr, "<a/>", 4), "got %c%c%c%c\n", ptr[0],ptr[1],ptr[2],ptr[3]);
@@ -4758,7 +4755,7 @@ static void test_mxwriter_encoding(void)
 
     /* so output is unaffected, encoding name is stored however */
     hr = IMXWriter_get_encoding(writer, &s);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(s, L"UTF-16"), "got %s\n", wine_dbgstr_w(s));
     SysFreeString(s);
 
@@ -4771,12 +4768,12 @@ static void test_mxwriter_encoding(void)
         char expectedA[200];
 
         hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         V_VT(&dest) = VT_UNKNOWN;
         V_UNKNOWN(&dest) = (IUnknown*)stream;
         hr = IMXWriter_put_output(writer, dest);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_put_encoding(writer, _bstr_(enc));
         ok(hr == S_OK || broken(hr != S_OK) /* old win versions do not support certain encodings */,
@@ -4789,13 +4786,13 @@ static void test_mxwriter_encoding(void)
         }
 
         hr = ISAXContentHandler_startDocument(content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXContentHandler_endDocument(content);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXWriter_flush(writer);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* prepare expected string */
         *expectedA = 0;
@@ -4804,7 +4801,7 @@ static void test_mxwriter_encoding(void)
         strcat(expectedA, "\" standalone=\"no\"?>\r\n");
 
         hr = GetHGlobalFromStream(stream, &g);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         ptr = GlobalLock(g);
         ok(!strncmp(ptr, expectedA, strlen(expectedA)), "%s: got %s, expected %.50s\n", enc, ptr, expectedA);
@@ -4812,7 +4809,7 @@ static void test_mxwriter_encoding(void)
 
         V_VT(&dest) = VT_EMPTY;
         hr = IMXWriter_put_output(writer, dest);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         IStream_Release(stream);
 
@@ -4837,42 +4834,42 @@ static void test_obj_dispex(IUnknown *obj)
     DISPID did;
 
     hr = IUnknown_QueryInterface(obj, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (FAILED(hr)) return;
 
     ticnt = 0;
     hr = IDispatchEx_GetTypeInfoCount(dispex, &ticnt);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ticnt == 1, "ticnt=%u\n", ticnt);
 
     name = SysAllocString(L"*");
     hr = IDispatchEx_DeleteMemberByName(dispex, name, fdexNameCaseSensitive);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     hr = IDispatchEx_DeleteMemberByDispID(dispex, dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     props = 0;
     hr = IDispatchEx_GetMemberProperties(dispex, dispid, grfdexPropCanAll, &props);
-    EXPECT_HR(hr, E_NOTIMPL);
-    ok(props == 0, "expected 0 got %d\n", props);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
+    ok(props == 0, "Unexpected value %ld.\n", props);
 
     hr = IDispatchEx_GetMemberName(dispex, dispid, &name);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     if (SUCCEEDED(hr)) SysFreeString(name);
 
     hr = IDispatchEx_GetNextDispID(dispex, fdexEnumDefault, DISPID_SAX_XMLREADER_GETFEATURE, &dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     unk = (IUnknown*)0xdeadbeef;
     hr = IDispatchEx_GetNameSpaceParent(dispex, &unk);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(unk == (IUnknown*)0xdeadbeef, "got %p\n", unk);
 
     name = SysAllocString(L"testprop");
     hr = IDispatchEx_GetDispID(dispex, name, fdexNameEnsure, &did);
-    ok(hr == DISP_E_UNKNOWNNAME, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_UNKNOWNNAME, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     IDispatchEx_Release(dispex);
@@ -4890,7 +4887,7 @@ static void test_saxreader_dispex(void)
 
     hr = CoCreateInstance(&CLSID_SAXXMLReader, NULL, CLSCTX_INPROC_SERVER,
                 &IID_ISAXXMLReader, (void**)&reader);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     check_interface(reader, &IID_ISAXXMLReader, TRUE);
     check_interface(reader, &IID_IVBSAXXMLReader, TRUE);
@@ -4898,14 +4895,14 @@ static void test_saxreader_dispex(void)
     check_interface(reader, &IID_IDispatchEx, TRUE);
 
     hr = ISAXXMLReader_QueryInterface(reader, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_obj_dispex(unk);
     IUnknown_Release(unk);
 
     hr = ISAXXMLReader_QueryInterface(reader, &IID_IVBSAXXMLReader, (void**)&vbreader);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IVBSAXXMLReader_QueryInterface(vbreader, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_obj_dispex(unk);
     IUnknown_Release(unk);
 
@@ -4928,7 +4925,7 @@ static void test_saxreader_dispex(void)
         NULL,
         NULL,
         NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXXMLReader_Invoke(vbreader,
         DISPID_SAX_XMLREADER_CONTENTHANDLER,
@@ -4939,7 +4936,7 @@ static void test_saxreader_dispex(void)
         NULL,
         NULL,
         NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IVBSAXXMLReader_Release(vbreader);
     ISAXXMLReader_Release(reader);
@@ -4947,7 +4944,7 @@ static void test_saxreader_dispex(void)
     if (is_clsid_supported(&CLSID_SAXXMLReader60, reader_support_data))
     {
         hr = CoCreateInstance(&CLSID_SAXXMLReader60, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&unk);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         test_obj_dispex(unk);
         IUnknown_Release(unk);
     }
@@ -4962,10 +4959,10 @@ static void test_mxwriter_dispex(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IDispatchEx_QueryInterface(dispex, &IID_IUnknown, (void**)&unk);
     test_obj_dispex(unk);
     IUnknown_Release(unk);
@@ -4975,7 +4972,7 @@ static void test_mxwriter_dispex(void)
     if (is_clsid_supported(&CLSID_MXXMLWriter60, mxwriter_support_data))
     {
         hr = CoCreateInstance(&CLSID_MXXMLWriter60, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void**)&unk);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         test_obj_dispex(unk);
         IUnknown_Release(unk);
     }
@@ -4992,45 +4989,45 @@ static void test_mxwriter_comment(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXLexicalHandler, (void**)&lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXLexicalHandler, (void**)&vblexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_comment(lexical, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXLexicalHandler_comment(vblexical, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_comment(lexical, L"comment", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!---->\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXLexicalHandler_comment(lexical, L"comment", 7);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!---->\r\n<!--comment-->\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -5053,46 +5050,46 @@ static void test_mxwriter_cdata(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXLexicalHandler, (void**)&lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXLexicalHandler, (void**)&vblexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startCDATA(lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<![CDATA[", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = IVBSAXLexicalHandler_startCDATA(vblexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* all these are escaped for text nodes */
     hr = ISAXContentHandler_characters(content, _bstr_("< > & \""), 7);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_endCDATA(lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<![CDATA[<![CDATA[< > & \"]]>", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -5113,47 +5110,47 @@ static void test_mxwriter_pi(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_processingInstruction(content, NULL, 0, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_processingInstruction(content, L"target", 0, NULL, 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_processingInstruction(content, L"target", 6, NULL, 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?\?>\r\n<?target?>\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXContentHandler_processingInstruction(content, L"target", 4, L"data", 4);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?\?>\r\n<?target?>\r\n<?targ data?>\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_processingInstruction(content, L"target", 6, L"data", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?target?>\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -5172,26 +5169,26 @@ static void test_mxwriter_ignorablespaces(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_ignorableWhitespace(content, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_ignorableWhitespace(content, L"data", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_ignorableWhitespace(content, L"data", 4);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_ignorableWhitespace(content, L"data", 1);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"datad", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -5214,78 +5211,78 @@ static void test_mxwriter_dtd(void)
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXWriter, (void**)&writer);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXLexicalHandler, (void**)&lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXDeclHandler, (void**)&decl);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXDeclHandler, (void**)&vbdecl);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_IVBSAXLexicalHandler, (void**)&vblexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_omitXMLDeclaration(writer, VARIANT_TRUE);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, NULL, 0, NULL, 0, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXLexicalHandler_startDTD(vblexical, NULL, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, NULL, 0, L"pub", 3, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, NULL, 0, NULL, 0, L"sys", 3);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, NULL, 0, L"pub", 3, L"sys", 3);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, L"name", 4, NULL, 0, NULL, 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!DOCTYPE name [\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     /* system id is required if public is present */
     hr = ISAXLexicalHandler_startDTD(lexical, L"name", 4, L"pub", 3, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXLexicalHandler_startDTD(lexical, L"name", 4, L"pub", 3, L"sys", 3);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_("<!DOCTYPE name [\r\n<!DOCTYPE name PUBLIC \"pub\""
         "<!DOCTYPE name PUBLIC \"pub\" \"sys\" [\r\n"), V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
 
     hr = ISAXLexicalHandler_endDTD(lexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXLexicalHandler_endDTD(vblexical);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_("<!DOCTYPE name [\r\n<!DOCTYPE name PUBLIC \"pub\""
          "<!DOCTYPE name PUBLIC \"pub\" \"sys\" [\r\n]>\r\n]>\r\n"),
@@ -5295,23 +5292,23 @@ static void test_mxwriter_dtd(void)
     /* element declaration */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_elementDecl(decl, NULL, 0, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXDeclHandler_elementDecl(vbdecl, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_elementDecl(decl, L"name", 4, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_elementDecl(decl, L"name", 4, L"content", 7);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!ELEMENT name content>\r\n",
         V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -5319,14 +5316,14 @@ static void test_mxwriter_dtd(void)
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_elementDecl(decl, L"name", 4, L"content", 0);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!ELEMENT name >\r\n",
         V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -5335,16 +5332,16 @@ static void test_mxwriter_dtd(void)
     /* attribute declaration */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_attributeDecl(decl, _bstr_("element"), strlen("element"),
         _bstr_("attribute"), strlen("attribute"), _bstr_("CDATA"), strlen("CDATA"),
         _bstr_("#REQUIRED"), strlen("#REQUIRED"), _bstr_("value"), strlen("value"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!ATTLIST element attribute CDATA #REQUIRED \"value\">\r\n",
         V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
@@ -5353,16 +5350,16 @@ static void test_mxwriter_dtd(void)
     hr = ISAXDeclHandler_attributeDecl(decl, _bstr_("element"), strlen("element"),
         _bstr_("attribute2"), strlen("attribute2"), _bstr_("CDATA"), strlen("CDATA"),
         _bstr_("#REQUIRED"), strlen("#REQUIRED"), _bstr_("value2"), strlen("value2"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_attributeDecl(decl, _bstr_("element2"), strlen("element2"),
         _bstr_("attribute3"), strlen("attribute3"), _bstr_("CDATA"), strlen("CDATA"),
         _bstr_("#REQUIRED"), strlen("#REQUIRED"), _bstr_("value3"), strlen("value3"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_("<!ATTLIST element attribute CDATA #REQUIRED \"value\">\r\n"
                         "<!ATTLIST element attribute2 CDATA #REQUIRED \"value2\">\r\n"
@@ -5373,23 +5370,23 @@ static void test_mxwriter_dtd(void)
     /* internal entities */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_internalEntityDecl(decl, NULL, 0, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXDeclHandler_internalEntityDecl(vbdecl, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_internalEntityDecl(decl, _bstr_("name"), -1, NULL, 0);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_internalEntityDecl(decl, _bstr_("name"), strlen("name"), _bstr_("value"), strlen("value"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<!ENTITY name \"value\">\r\n", V_BSTR(&dest)), "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
     VariantClear(&dest);
@@ -5397,34 +5394,34 @@ static void test_mxwriter_dtd(void)
     /* external entities */
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, NULL, 0, NULL, 0, NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IVBSAXDeclHandler_externalEntityDecl(vbdecl, NULL, NULL, NULL);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, _bstr_("name"), 0, NULL, 0, NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, _bstr_("name"), -1, NULL, 0, NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, _bstr_("name"), strlen("name"), _bstr_("pubid"), strlen("pubid"),
         _bstr_("sysid"), strlen("sysid"));
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, _bstr_("name"), strlen("name"), NULL, 0, _bstr_("sysid"), strlen("sysid"));
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDeclHandler_externalEntityDecl(decl, _bstr_("name"), strlen("name"), _bstr_("pubid"), strlen("pubid"),
         NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_(
         "<!ENTITY name PUBLIC \"pubid\" \"sysid\">\r\n"
@@ -5435,29 +5432,29 @@ static void test_mxwriter_dtd(void)
 
     /* notation declaration */
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXDTDHandler, (void**)&dtd);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_put_output(writer, dest);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDTDHandler_notationDecl(dtd, NULL, 0, NULL, 0, NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDTDHandler_notationDecl(dtd, _bstr_("name"), strlen("name"), NULL, 0, NULL, 0);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDTDHandler_notationDecl(dtd, _bstr_("name"), strlen("name"), _bstr_("pubid"), strlen("pubid"), NULL, 0);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDTDHandler_notationDecl(dtd, _bstr_("name"), strlen("name"), _bstr_("pubid"), strlen("pubid"), _bstr_("sysid"), strlen("sysid"));
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXDTDHandler_notationDecl(dtd, _bstr_("name"), strlen("name"), NULL, 0, _bstr_("sysid"), strlen("sysid"));
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(_bstr_(
         "<!NOTATION name"
@@ -5535,51 +5532,51 @@ static void test_mxattr_addAttribute(void)
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXAttributes, (void**)&mxattr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXAttributes_QueryInterface(mxattr, &IID_ISAXAttributes, (void**)&saxattr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         /* SAXAttributes40 and SAXAttributes60 both crash on this test */
         if (IsEqualGUID(table->clsid, &CLSID_SAXAttributes) ||
             IsEqualGUID(table->clsid, &CLSID_SAXAttributes30))
         {
             hr = ISAXAttributes_getLength(saxattr, NULL);
-            EXPECT_HR(hr, E_POINTER);
+            ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
         }
 
         len = -1;
         hr = ISAXAttributes_getLength(saxattr, &len);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(len == 0, "got %d\n", len);
 
         hr = ISAXAttributes_getValue(saxattr, 0, &value, &len);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getValue(saxattr, 0, NULL, &len);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getValue(saxattr, 0, &value, NULL);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getValue(saxattr, 0, NULL, NULL);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getType(saxattr, 0, &value, &len);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getType(saxattr, 0, NULL, &len);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getType(saxattr, 0, &value, NULL);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getType(saxattr, 0, NULL, NULL);
-        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+        ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXAttributes_addAttribute(mxattr, _bstr_(table->uri), _bstr_(table->local),
             _bstr_(table->qname), _bstr_(table->type), _bstr_(table->value));
-        ok(hr == table->hr, "%d: got 0x%08x, expected 0x%08x\n", i, hr, table->hr);
+        ok(hr == table->hr, "%d: got %#lx, expected %#lx.\n", i, hr, table->hr);
 
         if (hr == S_OK)
         {
@@ -5588,27 +5585,27 @@ static void test_mxattr_addAttribute(void)
                 IsEqualGUID(table->clsid, &CLSID_SAXAttributes30))
             {
                hr = ISAXAttributes_getValue(saxattr, 0, NULL, &len);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                hr = ISAXAttributes_getValue(saxattr, 0, &value, NULL);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                hr = ISAXAttributes_getValue(saxattr, 0, NULL, NULL);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                hr = ISAXAttributes_getType(saxattr, 0, NULL, &len);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                hr = ISAXAttributes_getType(saxattr, 0, &value, NULL);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                hr = ISAXAttributes_getType(saxattr, 0, NULL, NULL);
-               EXPECT_HR(hr, E_POINTER);
+               ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
             }
 
             len = -1;
             hr = ISAXAttributes_getValue(saxattr, 0, &value, &len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(!lstrcmpW(_bstr_(table->value), value), "%d: got %s, expected %s\n", i, wine_dbgstr_w(value),
                 table->value);
             ok(lstrlenW(value) == len, "%d: got wrong value length %d\n", i, len);
@@ -5616,7 +5613,7 @@ static void test_mxattr_addAttribute(void)
             len = -1;
             value = (void*)0xdeadbeef;
             hr = ISAXAttributes_getType(saxattr, 0, &value, &len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
             if (table->type)
             {
@@ -5634,95 +5631,95 @@ static void test_mxattr_addAttribute(void)
             if (IsEqualGUID(table->clsid, &CLSID_SAXAttributes) ||
                 IsEqualGUID(table->clsid, &CLSID_SAXAttributes30))
             {
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
             }
             else
-                EXPECT_HR(hr, E_INVALIDARG);
+                ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXAttributes_getIndexFromQName(saxattr, NULL, 0, &index);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             index = -1;
             hr = ISAXAttributes_getIndexFromQName(saxattr, _bstr_("nonexistent"), 11, &index);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
             ok(index == -1, "%d: got wrong index %d\n", i, index);
 
             index = -1;
             hr = ISAXAttributes_getIndexFromQName(saxattr, _bstr_(table->qname), 0, &index);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
             ok(index == -1, "%d: got wrong index %d\n", i, index);
 
             index = -1;
             hr = ISAXAttributes_getIndexFromQName(saxattr, _bstr_(table->qname), strlen(table->qname), &index);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(index == 0, "%d: got wrong index %d\n", i, index);
 
             index = -1;
             hr = ISAXAttributes_getIndexFromQName(saxattr, _bstr_(table->qname), strlen(table->qname)-1, &index);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
             ok(index == -1, "%d: got wrong index %d\n", i, index);
 
             if (IsEqualGUID(table->clsid, &CLSID_SAXAttributes40) ||
                 IsEqualGUID(table->clsid, &CLSID_SAXAttributes60))
             {
                 hr = ISAXAttributes_getValueFromQName(saxattr, NULL, 0, NULL, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), 0, NULL, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), 0, &value, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, NULL, 0, NULL, 0, NULL, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, NULL, 0, NULL, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, NULL, 0, &value, NULL);
-                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "got 0x%08x\n", hr);
+                ok(hr == E_POINTER /* win8 */ || hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
             }
             else
             {
                 hr = ISAXAttributes_getValueFromQName(saxattr, NULL, 0, NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), 0, NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), 0, &value, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 /* versions 4 and 6 crash */
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), strlen(table->qname), NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), strlen(table->qname), NULL, &len);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, NULL, 0, NULL, 0, NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, NULL, 0, NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, NULL, 0, &value, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, _bstr_(table->local), 0, &value, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), 0, _bstr_(table->local), 0, NULL, &len);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), strlen(table->uri), _bstr_(table->local),
                     strlen(table->local), NULL, NULL);
-                EXPECT_HR(hr, E_POINTER);
+                ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
             }
 
             hr = ISAXAttributes_getValueFromQName(saxattr, _bstr_(table->qname), strlen(table->qname), &value, &len);
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(!lstrcmpW(_bstr_(table->value), value), "%d: got %s, expected %s\n", i, wine_dbgstr_w(value),
                 table->value);
             ok(lstrlenW(value) == len, "%d: got wrong value length %d\n", i, len);
@@ -5730,7 +5727,7 @@ static void test_mxattr_addAttribute(void)
             if (table->uri) {
                 hr = ISAXAttributes_getValueFromName(saxattr, _bstr_(table->uri), strlen(table->uri),
                     _bstr_(table->local), strlen(table->local), &value, &len);
-                EXPECT_HR(hr, S_OK);
+                ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
                 ok(!lstrcmpW(_bstr_(table->value), value), "%d: got %s, expected %s\n", i, wine_dbgstr_w(value),
                     table->value);
                 ok(lstrlenW(value) == len, "%d: got wrong value length %d\n", i, len);
@@ -5739,7 +5736,7 @@ static void test_mxattr_addAttribute(void)
 
         len = -1;
         hr = ISAXAttributes_getLength(saxattr, &len);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if (table->hr == S_OK)
             ok(len == 1, "%d: got %d length, expected 1\n", i, len);
         else
@@ -5765,57 +5762,57 @@ static void test_mxattr_clear(void)
 
     hr = CoCreateInstance(&CLSID_SAXAttributes, NULL, CLSCTX_INPROC_SERVER,
         &IID_IMXAttributes, (void**)&mxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXAttributes_QueryInterface(mxattr, &IID_ISAXAttributes, (void**)&saxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXAttributes_getQName(saxattr, 0, NULL, NULL);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXAttributes_getQName(saxattr, 0, &ptr, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXAttributes_clear(mxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXAttributes_addAttribute(mxattr, _bstr_("uri"), _bstr_("local"),
         _bstr_("qname"), _bstr_("type"), _bstr_("value"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = ISAXAttributes_getLength(saxattr, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 1, "got %d\n", len);
 
     len = -1;
     hr = ISAXAttributes_getQName(saxattr, 0, NULL, &len);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
     ok(len == -1, "got %d\n", len);
 
     ptr = (void*)0xdeadbeef;
     hr = ISAXAttributes_getQName(saxattr, 0, &ptr, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
     ok(ptr == (void*)0xdeadbeef, "got %p\n", ptr);
 
     len = 0;
     hr = ISAXAttributes_getQName(saxattr, 0, &ptr, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 5, "got %d\n", len);
     ok(!lstrcmpW(ptr, L"qname"), "got %s\n", wine_dbgstr_w(ptr));
 
     hr = IMXAttributes_clear(mxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = ISAXAttributes_getLength(saxattr, &len);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(len == 0, "got %d\n", len);
 
     len = -1;
     ptr = (void*)0xdeadbeef;
     hr = ISAXAttributes_getQName(saxattr, 0, &ptr, &len);
-    EXPECT_HR(hr, E_INVALIDARG);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(len == -1, "got %d\n", len);
     ok(ptr == (void*)0xdeadbeef, "got %p\n", ptr);
 
@@ -5833,10 +5830,10 @@ static void test_mxattr_dispex(void)
 
     hr = CoCreateInstance(&CLSID_SAXAttributes, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXAttributes, (void**)&mxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXAttributes_QueryInterface(mxattr, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IDispatchEx_QueryInterface(dispex, &IID_IUnknown, (void**)&unk);
     test_obj_dispex(unk);
     IUnknown_Release(unk);
@@ -5852,7 +5849,7 @@ static void test_mxattr_qi(void)
 
     hr = CoCreateInstance(&CLSID_SAXAttributes, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXAttributes, (void **)&mxattr);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     check_interface(mxattr, &IID_IMXAttributes, TRUE);
     check_interface(mxattr, &IID_ISAXAttributes, TRUE);
@@ -5891,60 +5888,60 @@ static void test_mxattr_localname(void)
 
         hr = CoCreateInstance(table->clsid, NULL, CLSCTX_INPROC_SERVER,
             &IID_IMXAttributes, (void**)&mxattr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = IMXAttributes_QueryInterface(mxattr, &IID_ISAXAttributes, (void**)&saxattr);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getIndexFromName(saxattr, NULL, 0, NULL, 0, &index);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         /* add some ambiguous attribute names */
         hr = IMXAttributes_addAttribute(mxattr, _bstr_("uri"), _bstr_("localname"),
             _bstr_("a:localname"), _bstr_(""), _bstr_("value"));
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         hr = IMXAttributes_addAttribute(mxattr, _bstr_("uri"), _bstr_("localname"),
             _bstr_("b:localname"), _bstr_(""), _bstr_("value"));
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         index = -1;
         hr = ISAXAttributes_getIndexFromName(saxattr, L"uri", 3, L"localname", 9, &index);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(index == 0, "%s: got index %d\n", table->name, index);
 
         index = -1;
         hr = ISAXAttributes_getIndexFromName(saxattr, L"uri1", 4, L"localname", 9, &index);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         ok(index == -1, "%s: got index %d\n", table->name, index);
 
         index = -1;
         hr = ISAXAttributes_getIndexFromName(saxattr, L"uri", 3, L"localname1", 10, &index);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         ok(index == -1, "%s: got index %d\n", table->name, index);
 
         if (IsEqualGUID(table->clsid, &CLSID_SAXAttributes) ||
             IsEqualGUID(table->clsid, &CLSID_SAXAttributes30))
         {
             hr = ISAXAttributes_getIndexFromName(saxattr, NULL, 0, NULL, 0, NULL);
-            EXPECT_HR(hr, E_POINTER);
+            ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXAttributes_getIndexFromName(saxattr, L"uri", 3, L"localname1", 10, NULL);
-            EXPECT_HR(hr, E_POINTER);
+            ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
         }
         else
         {
             hr = ISAXAttributes_getIndexFromName(saxattr, NULL, 0, NULL, 0, NULL);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
             hr = ISAXAttributes_getIndexFromName(saxattr, L"uri", 3, L"localname1", 10, NULL);
-            EXPECT_HR(hr, E_INVALIDARG);
+            ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
         }
 
         hr = ISAXAttributes_getIndexFromName(saxattr, L"uri", 3, NULL, 0, &index);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         hr = ISAXAttributes_getIndexFromName(saxattr, NULL, 0, L"localname1", 10, &index);
-        EXPECT_HR(hr, E_INVALIDARG);
+        ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
         table++;
 
@@ -5962,44 +5959,44 @@ static void test_mxwriter_indent(void)
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_MXXMLWriter, NULL, CLSCTX_INPROC_SERVER, &IID_IMXWriter, (void**)&writer);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_put_indent(writer, VARIANT_TRUE);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IMXWriter_QueryInterface(writer, &IID_ISAXContentHandler, (void**)&content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("a"), -1, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_characters(content, _bstr_(""), 0);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("b"), -1, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_startElement(content, L"", 0, L"", 0, _bstr_("c"), -1, NULL);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, _bstr_("c"), -1);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, _bstr_("b"), -1);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endElement(content, L"", 0, L"", 0, _bstr_("a"), -1);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = ISAXContentHandler_endDocument(content);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&dest) = VT_EMPTY;
     hr = IMXWriter_get_output(writer, &dest);
-    ok(hr == S_OK, "got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dest) == VT_BSTR, "got %d\n", V_VT(&dest));
     ok(!lstrcmpW(L"<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"no\"?>\r\n<a><b>\r\n\t\t<c/>\r\n\t</b>\r\n</a>", V_BSTR(&dest)),
         "got wrong content %s\n", wine_dbgstr_w(V_BSTR(&dest)));
diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c
index 4cdfedf9c29..cf55f53dbc9 100644
--- a/dlls/msxml3/tests/schema.c
+++ b/dlls/msxml3/tests/schema.c
@@ -34,9 +34,6 @@
 
 #include "wine/test.h"
 
-#define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
-
 #define check_interface(a, b, c) check_interface_(__LINE__, a, b, c)
 static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOOL supported)
 {
@@ -47,7 +44,7 @@ static void check_interface_(unsigned int line, void *iface_ptr, REFIID iid, BOO
     expected_hr = supported ? S_OK : E_NOINTERFACE;
 
     hr = IUnknown_QueryInterface(iface, iid, (void **)&unk);
-    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#x, expected %#x.\n", hr, expected_hr);
+    ok_(__FILE__, line)(hr == expected_hr, "Got hr %#lx, expected %#lx.\n", hr, expected_hr);
     if (SUCCEEDED(hr))
         IUnknown_Release(unk);
 }
@@ -415,26 +412,10 @@ static const CHAR szOpenSeqXML2[] = "<test><x/><x/><y/><z/><z/><w/></test>";
 static const CHAR szOpenSeqXML3[] = "<test><w/><x/><x/><y/><z/><z/></test>";
 static const CHAR szOpenSeqXML4[] = "<test><x/><x/><y/><z/><z/><v/></test>";
 
-#define check_ref_expr(expr, n) { \
-    LONG ref = expr; \
-    ok(ref == n, "expected %i refs, got %i\n", n, ref); \
-}
-
-#define check_refs(iface, obj, n) { \
-    LONG ref = iface ## _AddRef(obj); \
-    ok(ref == n+1, "expected %i refs, got %i\n", n+1, ref); \
-    ref = iface ## _Release(obj); \
-    ok(ref == n, "expected %i refs, got %i\n", n, ref); \
-}
-
-#define ole_check(expr) { \
-    HRESULT r = expr; \
-    ok(r == S_OK, #expr " returned %x\n", r); \
-}
-
-#define ole_expect(expr, expect) { \
-    HRESULT r = expr; \
-    ok(r == (expect), #expr " returned %x, expected %x\n", r, expect); \
+static ULONG get_refcount(void *iface)
+{
+    IUnknown_AddRef((IUnknown *)iface);
+    return IUnknown_Release((IUnknown *)iface);
 }
 
 #define _expect64(expr, str, base, TYPE, CONV) { \
@@ -488,7 +469,7 @@ static void* _create_object(const GUID *clsid, const char *name, const IID *iid,
 
     hr = CoCreateInstance(clsid, NULL, CLSCTX_INPROC_SERVER, iid, &obj);
     if (hr != S_OK)
-        win_skip_(__FILE__,line)("failed to create %s instance: 0x%08x\n", name, hr);
+        win_skip_(__FILE__,line)("failed to create %s instance: hr %#lx.\n", name, hr);
 
     return obj;
 }
@@ -510,10 +491,10 @@ static void test_schema_refs(void)
     IXMLDOMDocument2 *doc;
     IXMLDOMNode *node;
     IXMLDOMSchemaCollection *cache;
+    LONG len, refcount;
     VARIANT v;
     VARIANT_BOOL b;
     BSTR str;
-    LONG len;
     HRESULT hr;
 
     doc = create_document(&IID_IXMLDOMDocument2);
@@ -529,150 +510,190 @@ static void test_schema_refs(void)
 
     VariantInit(&v);
     str = SysAllocString(xdr_schema_xml);
-    ole_check(IXMLDOMDocument2_loadXML(doc, str, &b));
+    hr = IXMLDOMDocument2_loadXML(doc, str, &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "b %04x\n", b);
     SysFreeString(str);
 
     node = (void*)0xdeadbeef;
-    ole_check(IXMLDOMSchemaCollection_get(cache, NULL, &node));
+    hr = IXMLDOMSchemaCollection_get(cache, NULL, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node == NULL, "%p\n", node);
 
     /* NULL uri pointer, still adds a document */
-    ole_check(IXMLDOMSchemaCollection_add(cache, NULL, _variantdoc_(doc)));
+    hr = IXMLDOMSchemaCollection_add(cache, NULL, _variantdoc_(doc));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &len));
-    ok(len == 1, "got %d\n", len);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
     /* read back - empty valid BSTR */
     str = NULL;
-    ole_check(IXMLDOMSchemaCollection_get_namespaceURI(cache, 0, &str));
+    hr = IXMLDOMSchemaCollection_get_namespaceURI(cache, 0, &str);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(str && *str == 0, "got %p\n", str);
     SysFreeString(str);
 
     node = NULL;
-    ole_check(IXMLDOMSchemaCollection_get(cache, NULL, &node));
+    hr = IXMLDOMSchemaCollection_get(cache, NULL, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node != NULL, "%p\n", node);
     IXMLDOMNode_Release(node);
 
     node = NULL;
     str = SysAllocString(L"");
-    ole_check(IXMLDOMSchemaCollection_get(cache, str, &node));
+    hr = IXMLDOMSchemaCollection_get(cache, str, &node);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(node != NULL, "%p\n", node);
     IXMLDOMNode_Release(node);
     SysFreeString(str);
 
     /* remove with NULL uri */
-    ole_check(IXMLDOMSchemaCollection_remove(cache, NULL));
+    hr = IXMLDOMSchemaCollection_remove(cache, NULL);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &len));
-    ok(len == 0, "got %d\n", len);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "Unexpected length %ld.\n", len);
 
     /* same, but with VT_UNKNOWN type */
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)doc;
     hr = IXMLDOMSchemaCollection_add(cache, NULL, v);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(cache, &len);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
 
     hr = IXMLDOMSchemaCollection_remove(cache, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     len = -1;
     hr = IXMLDOMSchemaCollection_get_length(cache, &len);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "Unexpected length %ld.\n", len);
 
     str = SysAllocString(L"x-schema:test.xml");
-    ole_check(IXMLDOMSchemaCollection_add(cache, str, _variantdoc_(doc)));
+    hr = IXMLDOMSchemaCollection_add(cache, str, _variantdoc_(doc));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* IXMLDOMSchemaCollection_add doesn't add a ref on doc */
-    check_refs(IXMLDOMDocument2, doc, 1);
+    refcount = get_refcount(doc);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
 
     SysFreeString(str);
 
     V_VT(&v) = VT_INT;
-    ole_expect(IXMLDOMDocument2_get_schemas(doc, &v), S_FALSE);
+    hr = IXMLDOMDocument2_get_schemas(doc, &v);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_NULL, "vt %x\n", V_VT(&v));
 
-    check_ref_expr(IXMLDOMSchemaCollection_AddRef(cache), 2);
+    refcount = IXMLDOMSchemaCollection_AddRef(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = (IDispatch*)cache;
 
     /* check that putref_schemas takes a ref */
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
-    check_refs(IXMLDOMSchemaCollection, cache, 3);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 3, "Unexpected refcount %ld.\n", refcount);
 
     VariantClear(&v); /* refs now 2 */
 
     V_VT(&v) = VT_INT;
     /* check that get_schemas adds a ref */
-    ole_check(IXMLDOMDocument2_get_schemas(doc, &v));
+    hr = IXMLDOMDocument2_get_schemas(doc, &v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_DISPATCH, "vt %x\n", V_VT(&v));
-    check_refs(IXMLDOMSchemaCollection, cache, 3);
+    refcount = get_refcount(cache);
+    ok(refcount == 3, "Unexpected refcount %ld.\n", refcount);
 
     /* get_schemas doesn't release a ref if passed VT_DISPATCH - ie it doesn't call VariantClear() */
-    ole_check(IXMLDOMDocument2_get_schemas(doc, &v));
+    hr = IXMLDOMDocument2_get_schemas(doc, &v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&v) == VT_DISPATCH, "vt %x\n", V_VT(&v));
-    check_refs(IXMLDOMSchemaCollection, cache, 4);
+    refcount = get_refcount(cache);
+    ok(refcount == 4, "Unexpected refcount %ld.\n", refcount);
 
     /* release the two refs returned by get_schemas */
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache), 3);
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache), 2);
+    refcount = IXMLDOMSchemaCollection_Release(cache);
+    ok(refcount == 3, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMSchemaCollection_Release(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
 
     /* check that taking another ref on the document doesn't change the schema's ref count */
-    check_ref_expr(IXMLDOMDocument2_AddRef(doc), 2);
-    check_refs(IXMLDOMSchemaCollection, cache, 2);
-    check_ref_expr(IXMLDOMDocument2_Release(doc), 1);
+    refcount = IXMLDOMDocument2_AddRef(doc);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
+    refcount = get_refcount(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMDocument2_Release(doc);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
 
     /* call putref_schema with some odd variants */
     V_VT(&v) = VT_INT;
-    ole_expect(IXMLDOMDocument2_putref_schemas(doc, v), E_FAIL);
-    check_refs(IXMLDOMSchemaCollection, cache, 2);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
 
     /* calling with VT_EMPTY releases the schema */
     V_VT(&v) = VT_EMPTY;
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
-    check_refs(IXMLDOMSchemaCollection, cache, 1);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
 
     /* try setting with VT_UNKNOWN */
-    check_ref_expr(IXMLDOMSchemaCollection_AddRef(cache), 2);
+    refcount = IXMLDOMSchemaCollection_AddRef(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)cache;
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
-    check_refs(IXMLDOMSchemaCollection, cache, 3);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 3, "Unexpected refcount %ld.\n", refcount);
 
     VariantClear(&v); /* refs now 2 */
 
     /* calling with VT_NULL releases the schema */
     V_VT(&v) = VT_NULL;
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
-    check_refs(IXMLDOMSchemaCollection, cache, 1);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
 
     /* refs now 1 */
     /* set again */
-    check_ref_expr(IXMLDOMSchemaCollection_AddRef(cache), 2);
+    refcount = IXMLDOMSchemaCollection_AddRef(cache);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     V_VT(&v) = VT_UNKNOWN;
     V_UNKNOWN(&v) = (IUnknown*)cache;
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
-    check_refs(IXMLDOMSchemaCollection, cache, 3);
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = get_refcount(cache);
+    ok(refcount == 3, "Unexpected refcount %ld.\n", refcount);
 
     VariantClear(&v); /* refs now 2 */
 
     /* release the final ref on the doc which should release its ref on the schema */
-    check_ref_expr(IXMLDOMDocument2_Release(doc), 0);
+    refcount = IXMLDOMDocument2_Release(doc);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
 
-    check_refs(IXMLDOMSchemaCollection, cache, 1);
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache), 0);
+    refcount = get_refcount(cache);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMSchemaCollection_Release(cache);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
 }
 
 static void test_collection_refs(void)
 {
     IXMLDOMDocument2 *schema1, *schema2, *schema3;
     IXMLDOMSchemaCollection *cache1, *cache2, *cache3;
+    LONG refcount, length;
     VARIANT_BOOL b;
-    LONG length;
+    HRESULT hr;
 
     schema1 = create_document(&IID_IXMLDOMDocument2);
     ok(schema1 != NULL, "Failed to create a document.\n");
@@ -695,93 +716,166 @@ static void test_collection_refs(void)
     cache2 = create_cache(&IID_IXMLDOMSchemaCollection);
     cache3 = create_cache(&IID_IXMLDOMSchemaCollection);
 
-    ole_check(IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema1_uri), _variantdoc_(schema1)));
-    ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema2_uri), _variantdoc_(schema2)));
-    ole_check(IXMLDOMSchemaCollection_add(cache3, _bstr_(xdr_schema3_uri), _variantdoc_(schema3)));
-
-    check_ref_expr(IXMLDOMDocument2_Release(schema1), 0);
-    check_ref_expr(IXMLDOMDocument2_Release(schema2), 0);
-    check_ref_expr(IXMLDOMDocument2_Release(schema3), 0);
+    hr = IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema1_uri), _variantdoc_(schema1));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema2_uri), _variantdoc_(schema2));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_add(cache3, _bstr_(xdr_schema3_uri), _variantdoc_(schema3));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+
+    refcount = IXMLDOMDocument2_Release(schema1);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMDocument2_Release(schema2);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMDocument2_Release(schema3);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
     schema1 = NULL;
     schema2 = NULL;
     schema3 = NULL;
 
     /* releasing the original doc does not affect the schema cache */
-    ole_check(IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), (IXMLDOMNode**)&schema1));
-    ole_check(IXMLDOMSchemaCollection_get(cache2, _bstr_(xdr_schema2_uri), (IXMLDOMNode**)&schema2));
-    ole_check(IXMLDOMSchemaCollection_get(cache3, _bstr_(xdr_schema3_uri), (IXMLDOMNode**)&schema3));
+    hr = IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), (IXMLDOMNode**)&schema1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_get(cache2, _bstr_(xdr_schema2_uri), (IXMLDOMNode**)&schema2);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_get(cache3, _bstr_(xdr_schema3_uri), (IXMLDOMNode**)&schema3);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* we get a read-only domdoc interface, created just for us */
-    if (schema1) check_refs(IXMLDOMDocument2, schema1, 1);
-    if (schema2) check_refs(IXMLDOMDocument2, schema2, 1);
-    if (schema3) check_refs(IXMLDOMDocument2, schema3, 1);
+    if (schema1)
+    {
+        refcount = get_refcount(schema1);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
 
-    ole_expect(IXMLDOMSchemaCollection_addCollection(cache1, NULL), E_POINTER);
-    ole_check(IXMLDOMSchemaCollection_addCollection(cache2, cache1));
-    ole_check(IXMLDOMSchemaCollection_addCollection(cache3, cache2));
+    if (schema2)
+    {
+        refcount = get_refcount(schema2);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
 
-    length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache1, &length));
-    ok(length == 1, "expected length 1, got %i\n", length);
+    if (schema3)
+    {
+        refcount = get_refcount(schema3);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
+
+    hr = IXMLDOMSchemaCollection_addCollection(cache1, NULL);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_addCollection(cache2, cache1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_addCollection(cache3, cache2);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache2, &length));
-    ok(length == 2, "expected length 2, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache1, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "Unexpected length %ld.\n", length);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache3, &length));
-    ok(length == 3, "expected length 3, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache2, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected length %ld.\n", length);
 
+    length = -1;
+    hr = IXMLDOMSchemaCollection_get_length(cache3, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 3, "Unexpected length %ld.\n", length);
 
     /* merging collections does not affect the ref count */
-    check_refs(IXMLDOMSchemaCollection, cache1, 1);
-    check_refs(IXMLDOMSchemaCollection, cache2, 1);
-    check_refs(IXMLDOMSchemaCollection, cache3, 1);
+    refcount = get_refcount(cache1);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    refcount = get_refcount(cache2);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    refcount = get_refcount(cache3);
+    ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
 
     /* nor does it affect the domdoc instances */
-    if (schema1) check_refs(IXMLDOMDocument2, schema1, 1);
-    if (schema2) check_refs(IXMLDOMDocument2, schema2, 1);
-    if (schema3) check_refs(IXMLDOMDocument2, schema3, 1);
+    if (schema1)
+    {
+        refcount = IXMLDOMDocument2_Release(schema1);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
+
+    if (schema2)
+    {
+        refcount = IXMLDOMDocument2_Release(schema2);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
+
+    if (schema3)
+    {
+        refcount = IXMLDOMDocument2_Release(schema3);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
 
-    if (schema1) check_ref_expr(IXMLDOMDocument2_Release(schema1), 0);
-    if (schema2) check_ref_expr(IXMLDOMDocument2_Release(schema2), 0);
-    if (schema3) check_ref_expr(IXMLDOMDocument2_Release(schema3), 0);
     schema1 = NULL;
     schema2 = NULL;
     schema3 = NULL;
 
     /* releasing the domdoc instances doesn't change the cache */
-    ole_check(IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), (IXMLDOMNode**)&schema1));
-    ole_check(IXMLDOMSchemaCollection_get(cache2, _bstr_(xdr_schema2_uri), (IXMLDOMNode**)&schema2));
-    ole_check(IXMLDOMSchemaCollection_get(cache3, _bstr_(xdr_schema3_uri), (IXMLDOMNode**)&schema3));
+    hr = IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), (IXMLDOMNode**)&schema1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_get(cache2, _bstr_(xdr_schema2_uri), (IXMLDOMNode**)&schema2);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_get(cache3, _bstr_(xdr_schema3_uri), (IXMLDOMNode**)&schema3);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* we can just get them again */
-    if (schema1) check_refs(IXMLDOMDocument2, schema1, 1);
-    if (schema2) check_refs(IXMLDOMDocument2, schema2, 1);
-    if (schema3) check_refs(IXMLDOMDocument2, schema3, 1);
+    if (schema1)
+    {
+        refcount = get_refcount(schema1);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
+
+    if (schema2)
+    {
+        refcount = get_refcount(schema2);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
+
+    if (schema3)
+    {
+        refcount = get_refcount(schema3);
+        ok(refcount == 1, "Unexpected refcount %ld.\n", refcount);
+    }
 
     /* releasing the caches does not affect the domdoc instances */
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache1), 0);
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache2), 0);
-    check_ref_expr(IXMLDOMSchemaCollection_Release(cache3), 0);
+    refcount = IXMLDOMSchemaCollection_Release(cache1);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMSchemaCollection_Release(cache2);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    refcount = IXMLDOMSchemaCollection_Release(cache3);
+    ok(!refcount, "Unexpected refcount %ld.\n", refcount);
 
     /* they're just for us */
-    if (schema1) check_refs(IXMLDOMDocument2, schema1, 1);
-    if (schema2) check_refs(IXMLDOMDocument2, schema2, 1);
-    if (schema3) check_refs(IXMLDOMDocument2, schema3, 1);
-
-    if (schema1) check_ref_expr(IXMLDOMDocument2_Release(schema1), 0);
-    if (schema2) check_ref_expr(IXMLDOMDocument2_Release(schema2), 0);
-    if (schema3) check_ref_expr(IXMLDOMDocument2_Release(schema3), 0);
+    if (schema1)
+    {
+        refcount = IXMLDOMDocument2_Release(schema1);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
+    if (schema2)
+    {
+        refcount = IXMLDOMDocument2_Release(schema2);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
+    if (schema3)
+    {
+        refcount = IXMLDOMDocument2_Release(schema3);
+        ok(!refcount, "Unexpected refcount %ld.\n", refcount);
+    }
 
     free_bstrs();
 }
@@ -791,6 +885,7 @@ static void test_length(void)
     IXMLDOMDocument2 *schema1, *schema2, *schema3;
     IXMLDOMSchemaCollection *cache;
     VARIANT_BOOL b;
+    HRESULT hr;
     VARIANT v;
     LONG length;
 
@@ -813,62 +908,81 @@ static void test_length(void)
 
     VariantInit(&v);
 
-    ole_check(IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_expect(IXMLDOMSchemaCollection_get_length(cache, NULL), E_POINTER);
+    hr = IXMLDOMSchemaCollection_get_length(cache, NULL);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     /* MSDN lies; removing a nonexistent entry produces no error */
-    ole_check(IXMLDOMSchemaCollection_remove(cache, NULL));
-    ole_check(IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema1_uri)));
+    hr = IXMLDOMSchemaCollection_remove(cache, NULL);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema1_uri));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 0, "expected length 0, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 0, "Unexpected length %ld.\n", length);
 
-    ole_check(IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema1_uri), _variantdoc_(schema1)));
+    hr = IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema1_uri), _variantdoc_(schema1));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 1, "expected length 1, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "Unexpected length %ld.\n", length);
 
-    ole_check(IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema2_uri), _variantdoc_(schema2)));
+    hr = IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema2_uri), _variantdoc_(schema2));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 2, "expected length 2, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected length %ld.\n", length);
 
-    ole_check(IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema3_uri), _variantdoc_(schema3)));
+    hr = IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema3_uri), _variantdoc_(schema3));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 3, "expected length 3, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 3, "Unexpected length %ld.\n", length);
 
     /* adding with VT_NULL is the same as removing */
     V_VT(&v) = VT_NULL;
-    ole_check(IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema1_uri), v));
+    hr = IXMLDOMSchemaCollection_add(cache, _bstr_(xdr_schema1_uri), v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 2, "expected length 2, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected length %ld.\n", length);
 
-    ole_check(IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema2_uri)));
+    hr = IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema2_uri));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 1, "expected length 1, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "Unexpected length %ld.\n", length);
 
-    ole_check(IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema3_uri)));
+    hr = IXMLDOMSchemaCollection_remove(cache, _bstr_(xdr_schema3_uri));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache, &length));
-    ok(length == 0, "expected length 0, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 0, "Unexpected length %ld.\n", length);
 
     IXMLDOMDocument2_Release(schema1);
     IXMLDOMDocument2_Release(schema2);
@@ -907,22 +1021,29 @@ static void test_collection_content(void)
         return;
     }
 
-    ole_check(IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b));
+    hr = IXMLDOMDocument2_loadXML(schema3, _bstr_(xdr_schema3_xml), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
 
-    ole_check(IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema1_uri), _variantdoc_(schema1)));
-    ole_check(IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema2_uri), _variantdoc_(schema2)));
-    ole_check(IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema3_uri), _variantdoc_(schema3)));
+    hr = IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema1_uri), _variantdoc_(schema1));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema2_uri), _variantdoc_(schema2));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    hr = IXMLDOMSchemaCollection_add(cache1, _bstr_(xdr_schema3_uri), _variantdoc_(schema3));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
-    ole_check(IXMLDOMSchemaCollection_get_length(cache1, &length));
-    ok(length == 3, "expected length 3, got %i\n", length);
+    hr = IXMLDOMSchemaCollection_get_length(cache1, &length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 3, "Unexpected length %ld.\n", length);
 
     IXMLDOMDocument2_Release(schema1);
     IXMLDOMDocument2_Release(schema2);
@@ -935,27 +1056,38 @@ static void test_collection_content(void)
         schema3 = create_document_version(40, &IID_IXMLDOMDocument2);
         schema4 = create_document_version(40, &IID_IXMLDOMDocument2);
         schema5 = create_document_version(40, &IID_IXMLDOMDocument2);
-        ole_check(IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b));
+        hr = IXMLDOMDocument2_loadXML(schema1, _bstr_(xdr_schema1_xml), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML\n");
-        ole_check(IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b));
+        hr = IXMLDOMDocument2_loadXML(schema2, _bstr_(xdr_schema2_xml), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML\n");
-        ole_check(IXMLDOMDocument2_loadXML(schema3, _bstr_(xsd_schema1_xml), &b));
+        hr = IXMLDOMDocument2_loadXML(schema3, _bstr_(xsd_schema1_xml), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML\n");
-        ole_check(IXMLDOMDocument2_loadXML(schema4, _bstr_(xsd_schema2_xml), &b));
+        hr = IXMLDOMDocument2_loadXML(schema4, _bstr_(xsd_schema2_xml), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML\n");
-        ole_check(IXMLDOMDocument2_loadXML(schema5, _bstr_(xsd_schema3_xml), &b));
+        hr = IXMLDOMDocument2_loadXML(schema5, _bstr_(xsd_schema3_xml), &b);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(b == VARIANT_TRUE, "failed to load XML\n");
 
         /* combining XDR and XSD schemas in the same cache is fine */
-        ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema1_uri), _variantdoc_(schema1)));
-        ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema2_uri), _variantdoc_(schema2)));
-        ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema1_uri), _variantdoc_(schema3)));
-        ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema2_uri), _variantdoc_(schema4)));
-        ole_check(IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema3_uri), _variantdoc_(schema5)));
+        hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema1_uri), _variantdoc_(schema1));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xdr_schema2_uri), _variantdoc_(schema2));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema1_uri), _variantdoc_(schema3));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema2_uri), _variantdoc_(schema4));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        hr = IXMLDOMSchemaCollection_add(cache2, _bstr_(xsd_schema3_uri), _variantdoc_(schema5));
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         length = -1;
-        ole_check(IXMLDOMSchemaCollection_get_length(cache2, &length));
-        ok(length == 5, "expected length 5, got %i\n", length);
+        hr = IXMLDOMSchemaCollection_get_length(cache2, &length);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+        ok(length == 5, "Unexpected length %ld.\n", length);
 
         IXMLDOMDocument2_Release(schema1);
         IXMLDOMDocument2_Release(schema2);
@@ -967,27 +1099,33 @@ static void test_collection_content(void)
     bstr = (void*)0xdeadbeef;
     /* error if index is out of range */
     hr = IXMLDOMSchemaCollection_get_namespaceURI(cache1, 3, &bstr);
-    EXPECT_HR(hr, E_FAIL);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(bstr == (void*)0xdeadbeef, "got %p\n", bstr);
     /* error if return pointer is NULL */
-    ole_expect(IXMLDOMSchemaCollection_get_namespaceURI(cache1, 0, NULL), E_POINTER);
+    hr = IXMLDOMSchemaCollection_get_namespaceURI(cache1, 0, NULL);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
     /* pointer is checked first */
-    ole_expect(IXMLDOMSchemaCollection_get_namespaceURI(cache1, 3, NULL), E_POINTER);
+    hr = IXMLDOMSchemaCollection_get_namespaceURI(cache1, 3, NULL);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     schema1 = NULL;
     /* no error if ns uri does not exist */
-    ole_check(IXMLDOMSchemaCollection_get(cache1, _bstr_(xsd_schema1_uri), (IXMLDOMNode**)&schema1));
+    hr = IXMLDOMSchemaCollection_get(cache1, _bstr_(xsd_schema1_uri), (IXMLDOMNode**)&schema1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!schema1, "expected NULL\n");
     /* a NULL bstr corresponds to no-uri ns */
-    ole_check(IXMLDOMSchemaCollection_get(cache1, NULL, (IXMLDOMNode**)&schema1));
+    hr = IXMLDOMSchemaCollection_get(cache1, NULL, (IXMLDOMNode**)&schema1);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!schema1, "expected NULL\n");
     /* error if return pointer is NULL */
-    ole_expect(IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), NULL), E_POINTER);
+    hr = IXMLDOMSchemaCollection_get(cache1, _bstr_(xdr_schema1_uri), NULL);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     for (i = 0; i < 3; ++i)
     {
         bstr = NULL;
-        ole_check(IXMLDOMSchemaCollection_get_namespaceURI(cache1, i, &bstr));
+        hr = IXMLDOMSchemaCollection_get_namespaceURI(cache1, i, &bstr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(bstr != NULL && *bstr, "expected non-empty string\n");
         content[i] = bstr;
 
@@ -1006,7 +1144,8 @@ static void test_collection_content(void)
         for (i = 0; i < 5; ++i)
         {
             bstr = NULL;
-            ole_check(IXMLDOMSchemaCollection_get_namespaceURI(cache2, i, &bstr));
+            hr = IXMLDOMSchemaCollection_get_namespaceURI(cache2, i, &bstr);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(bstr != NULL && *bstr, "expected non-empty string\n");
 
             for (j = 0; j < i; ++j)
@@ -1060,20 +1199,23 @@ L"<?xml version='1.0'?>"
 
     swprintf(buffer, ARRAY_SIZE(buffer), regex_doc, input);
     bstr = SysAllocString(buffer);
-    ole_check(IXMLDOMDocument2_loadXML(doc, bstr, &b));
+    hr = IXMLDOMDocument2_loadXML(doc, bstr, &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
     SysFreeString(bstr);
 
     swprintf(buffer, ARRAY_SIZE(buffer), regex_schema, regex);
     bstr = SysAllocString(buffer);
-    ole_check(IXMLDOMDocument2_loadXML(schema, bstr, &b));
+    hr = IXMLDOMDocument2_loadXML(schema, bstr, &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML\n");
     SysFreeString(bstr);
 
     /* add the schema to the cache */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMDocument2_QueryInterface(schema, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMDocument2_QueryInterface(schema, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
     namespace = alloc_str_from_narrow("urn:test");
     hr = IXMLDOMSchemaCollection_add(cache, namespace, v);
@@ -1085,9 +1227,11 @@ L"<?xml version='1.0'?>"
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc
@@ -1154,13 +1298,13 @@ static void test_regex(void)
         {
             HRESULT hr = validate_regex_document(doc60, schema60, cache60, tests[i].regex, tests[i].input);
             todo_wine_if(tests[i].todo)
-                ok(hr == S_OK, "got 0x%08x for version 60 regex %s input %s\n",
+                ok(hr == S_OK, "got %#lx for version 60 regex %s input %s\n",
                     hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
             if (doc40 && schema40 && cache40)
             {
                 hr = validate_regex_document(doc40, schema40, cache40, tests[i].regex, tests[i].input);
                 todo_wine_if(tests[i].todo)
-                    ok(hr == S_OK, "got 0x%08x for version 40 regex %s input %s\n",
+                    ok(hr == S_OK, "got %#lx version 40 regex %s input %s\n",
                         hr, wine_dbgstr_w(tests[i].regex), wine_dbgstr_w(tests[i].input));
             }
         }
@@ -1188,6 +1332,7 @@ static void test_XDR_schemas(void)
     IXMLDOMSchemaCollection* cache;
     IXMLDOMParseError* err;
     VARIANT_BOOL b;
+    HRESULT hr;
     VARIANT v;
     BSTR bstr;
 
@@ -1206,26 +1351,32 @@ static void test_XDR_schemas(void)
 
     VariantInit(&v);
 
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML1), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML1), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
-    ole_check(IXMLDOMDocument2_loadXML(schema, _bstr_(szOpenSeqXDR), &b));
+    hr = IXMLDOMDocument2_loadXML(schema, _bstr_(szOpenSeqXDR), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* load the schema */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMDocument2_QueryInterface(schema, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMDocument2_QueryInterface(schema, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMSchemaCollection_add(cache, _bstr_(""), v));
+    hr = IXMLDOMSchemaCollection_add(cache, _bstr_(""), v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc
@@ -1233,9 +1384,11 @@ static void test_XDR_schemas(void)
      * this is fine */
     err = NULL;
     bstr = NULL;
-    ole_check(IXMLDOMDocument2_validate(doc, &err));
+    hr = IXMLDOMDocument2_validate(doc, &err);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
-    ole_expect(IXMLDOMParseError_get_reason(err, &bstr), S_FALSE);
+    hr = IXMLDOMParseError_get_reason(err, &bstr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(IXMLDOMParseError_get_reason(err, &bstr) == S_FALSE, "got error: %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
     IXMLDOMParseError_Release(err);
@@ -1243,15 +1396,18 @@ static void test_XDR_schemas(void)
     /* load the next doc */
     IXMLDOMDocument2_Release(doc);
     doc = create_document(&IID_IXMLDOMDocument2);
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML2), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML2), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc
@@ -1259,9 +1415,11 @@ static void test_XDR_schemas(void)
      * this is fine */
     err = NULL;
     bstr = NULL;
-    ole_check(IXMLDOMDocument2_validate(doc, &err));
+    hr = IXMLDOMDocument2_validate(doc, &err);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
-    ole_expect(IXMLDOMParseError_get_reason(err, &bstr), S_FALSE);
+    hr = IXMLDOMParseError_get_reason(err, &bstr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(IXMLDOMParseError_get_reason(err, &bstr) == S_FALSE, "got error: %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
     IXMLDOMParseError_Release(err);
@@ -1269,22 +1427,26 @@ static void test_XDR_schemas(void)
     /* load the next doc */
     IXMLDOMDocument2_Release(doc);
     doc = create_document(&IID_IXMLDOMDocument2);
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML3), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML3), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc
      * fails, extra elements are only allowed at the end */
     err = NULL;
     bstr = NULL;
-    ole_expect(IXMLDOMDocument2_validate(doc, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(doc, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
     todo_wine ok(IXMLDOMParseError_get_reason(err, &bstr) == S_OK, "got error: %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
@@ -1293,22 +1455,26 @@ static void test_XDR_schemas(void)
     /* load the next doc */
     IXMLDOMDocument2_Release(doc);
     doc = create_document(&IID_IXMLDOMDocument2);
-    ole_check(IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML4), &b));
+    hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szOpenSeqXML4), &b);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
-    ole_check(IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v)));
+    hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
-    ole_check(IXMLDOMDocument2_putref_schemas(doc, v));
+    hr = IXMLDOMDocument2_putref_schemas(doc, v);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc
      * fails, undeclared elements are not allowed */
     err = NULL;
     bstr = NULL;
-    ole_expect(IXMLDOMDocument2_validate(doc, &err), S_FALSE);
+    hr = IXMLDOMDocument2_validate(doc, &err);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
     todo_wine ok(IXMLDOMParseError_get_reason(err, &bstr) == S_OK, "got error: %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
@@ -1389,53 +1555,53 @@ static void test_XDR_datatypes(void)
     }
 
     hr = IXMLDOMDocument2_loadXML(doc, _bstr_(szDatatypeXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument2_loadXML(doc2, _bstr_(szDatatypeXML), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     hr = IXMLDOMDocument2_loadXML(schema, _bstr_(szDatatypeXDR), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "failed to load XML string\n");
 
     err = NULL;
     hr = IXMLDOMDocument2_validate(doc, &err);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
     hr = IXMLDOMParseError_get_errorCode(err, &l);
-    EXPECT_HR(hr, S_OK);
-    ok(l == E_XML_NODTD, "got %08x\n", l);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(l == E_XML_NODTD, "Unexpected error code %#lx.\n", l);
     IXMLDOMParseError_Release(err);
 
     err = NULL;
     hr = IXMLDOMDocument2_validate(doc2, &err);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
     hr = IXMLDOMParseError_get_errorCode(err, &l);
-    EXPECT_HR(hr, S_OK);
-    ok(l == E_XML_NODTD, "got %08x\n", l);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(l == E_XML_NODTD, "Unexpected error code %#lx.\n", l);
     IXMLDOMParseError_Release(err);
 
     /* now load the schema */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
     hr = IXMLDOMDocument2_QueryInterface(schema, &IID_IDispatch, (void**)&V_DISPATCH(&v));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
     hr = IXMLDOMSchemaCollection_add(cache, _bstr_("urn:x-schema:datatype-test-xdr"), v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* associate the cache to the doc */
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = NULL;
     hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatch, (void**)&V_DISPATCH(&v));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_DISPATCH(&v) != NULL, "failed to get IDispatch interface\n");
     hr = IXMLDOMDocument2_putref_schemas(doc2, v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     VariantClear(&v);
 
     /* validate the doc */
@@ -1443,13 +1609,13 @@ static void test_XDR_datatypes(void)
     l = 0;
     bstr = NULL;
     hr = IXMLDOMDocument2_validate(doc2, &err);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(err != NULL, "domdoc_validate() should always set err\n");
     hr = IXMLDOMParseError_get_errorCode(err, &l);
-    EXPECT_HR(hr, S_FALSE);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     hr = IXMLDOMParseError_get_reason(err, &bstr);
-    EXPECT_HR(hr, S_FALSE);
-    ok(l == 0, "got %08x : %s\n", l, wine_dbgstr_w(bstr));
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
+    ok(l == 0, "Unexpected value %lx : %s\n", l, wine_dbgstr_w(bstr));
     SysFreeString(bstr);
     IXMLDOMParseError_Release(err);
 
@@ -1461,20 +1627,20 @@ static void test_XDR_datatypes(void)
 
         /* check data types without the schema */
         hr = IXMLDOMDocument2_selectSingleNode(doc, _bstr_(ptr->query), &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(node != NULL, "expected node\n");
 
         V_VT(&type) = VT_EMPTY;
         V_BSTR(&type) = (void*)-1;
         hr = IXMLDOMNode_get_dataType(node, &type);
-        EXPECT_HR(hr, S_FALSE);
+        ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&type) == VT_NULL, "got type %i\n", V_VT(&type));
         /* when returning VT_NULL, the pointer is set to NULL */
         ok(V_BSTR(&type) == NULL, "got %p\n", V_BSTR(&type));
 
         VariantClear(&type);
         hr = IXMLDOMNode_get_nodeTypedValue(node, &type);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(V_VT(&type) == VT_BSTR, "got variant type %i\n", V_VT(&v));
         VariantClear(&type);
         IXMLDOMNode_Release(node);
@@ -1482,27 +1648,27 @@ static void test_XDR_datatypes(void)
         /* check the data with schema */
         node = NULL;
         hr = IXMLDOMDocument2_selectSingleNode(doc2, _bstr_(ptr->query), &node);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         ok(node != NULL, "expected node\n");
 
         V_VT(&type) = VT_EMPTY;
         hr = IXMLDOMNode_get_dataType(node, &type);
         if (ptr->typename)
         {
-            EXPECT_HR(hr, S_OK);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&type) == VT_BSTR, "got type %i\n", V_VT(&type));
             ok(!lstrcmpW(V_BSTR(&type), _bstr_(ptr->typename)), "got %s\n", wine_dbgstr_w(V_BSTR(&type)));
         }
         else
         {
-            EXPECT_HR(hr, S_FALSE);
+            ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
             ok(V_VT(&type) == VT_NULL, "%s: got type %i\n", ptr->query, V_VT(&type));
         }
         VariantClear(&type);
 
         VariantClear(&v);
         hr = IXMLDOMNode_get_nodeTypedValue(node, &v);
-        EXPECT_HR(hr, S_OK);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
         todo_wine_if(ptr->todo)
             ok(V_VT(&v) == ptr->type_schema, "%s: got variant type %i\n", ptr->query, V_VT(&v));
@@ -1520,12 +1686,12 @@ static void test_XDR_datatypes(void)
             break;
         case VT_I4:
             if (!strcmp(ptr->typename, "int"))
-                ok(V_I4(&v) == 42, "got %i\n", V_I4(&v));
+                ok(V_I4(&v) == 42, "got %ld\n", V_I4(&v));
             else if (!strcmp(ptr->typename, "char"))
             todo_wine
-                ok(V_I4(&v) == 'u', "got %x\n", V_I4(&v));
+                ok(V_I4(&v) == 'u', "got %lx\n", V_I4(&v));
             else
-                ok(V_I4(&v) == -420000000, "got %i\n", V_I4(&v));
+                ok(V_I4(&v) == -420000000, "got %ld\n", V_I4(&v));
             break;
         case VT_I8:
             expect_int64(V_I8(&v), -4200000000, 10);
@@ -1547,7 +1713,7 @@ static void test_XDR_datatypes(void)
             ok(V_UI2(&v) == 0xFFFF, "got %04x\n", V_UI2(&v));
             break;
         case VT_UI4:
-            ok(V_UI4(&v) == 0xFFFFFFFF, "got %08x\n", V_UI4(&v));
+            ok(V_UI4(&v) == 0xFFFFFFFF, "got %#lx\n", V_UI4(&v));
             break;
         case VT_UI8:
             expect_uint64(V_UI8(&v), 0xFFFFFFFFFFFFFFFF, 16);
@@ -1581,11 +1747,11 @@ static void test_validate_on_load(void)
     if (!cache) return;
 
     hr = IXMLDOMSchemaCollection2_get_validateOnLoad(cache, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     b = VARIANT_FALSE;
     hr = IXMLDOMSchemaCollection2_get_validateOnLoad(cache, &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(b == VARIANT_TRUE, "got %d\n", b);
 
     IXMLDOMSchemaCollection2_Release(cache);
@@ -1602,42 +1768,42 @@ static void test_obj_dispex(IUnknown *obj)
     BSTR name;
 
     hr = IUnknown_QueryInterface(obj, &IID_IDispatchEx, (void**)&dispex);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     if (FAILED(hr)) return;
 
     ticnt = 0;
     hr = IDispatchEx_GetTypeInfoCount(dispex, &ticnt);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(ticnt == 1, "ticnt=%u\n", ticnt);
 
     name = SysAllocString(L"*");
     hr = IDispatchEx_DeleteMemberByName(dispex, name, fdexNameCaseSensitive);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     hr = IDispatchEx_DeleteMemberByDispID(dispex, dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     props = 0;
     hr = IDispatchEx_GetMemberProperties(dispex, dispid, grfdexPropCanAll, &props);
-    EXPECT_HR(hr, E_NOTIMPL);
-    ok(props == 0, "expected 0 got %d\n", props);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
+    ok(props == 0, "expected 0 got %ld\n", props);
 
     hr = IDispatchEx_GetMemberName(dispex, dispid, &name);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     if (SUCCEEDED(hr)) SysFreeString(name);
 
     hr = IDispatchEx_GetNextDispID(dispex, fdexEnumDefault, DISPID_XMLDOM_SCHEMACOLLECTION_ADD, &dispid);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     unk = (IUnknown*)0xdeadbeef;
     hr = IDispatchEx_GetNameSpaceParent(dispex, &unk);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(unk == (IUnknown*)0xdeadbeef, "got %p\n", unk);
 
     name = SysAllocString(L"testprop");
     hr = IDispatchEx_GetDispID(dispex, name, fdexNameEnsure, &dispid);
-    ok(hr == DISP_E_UNKNOWNNAME, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_UNKNOWNNAME, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     IDispatchEx_Release(dispex);
@@ -1656,12 +1822,12 @@ static void test_dispex(void)
     if (!cache) return;
 
     hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IUnknown, (void**)&unk);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     test_obj_dispex(unk);
     IUnknown_Release(unk);
 
     hr = IXMLDOMSchemaCollection_QueryInterface(cache, &IID_IDispatchEx, (void**)&dispex);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&arg) = VT_I4;
     V_I4(&arg) = 0;
@@ -1673,7 +1839,7 @@ static void test_dispex(void)
     V_VT(&ret) = VT_EMPTY;
     V_DISPATCH(&ret) = (void*)0x1;
     hr = IDispatchEx_Invoke(dispex, DISPID_VALUE, &IID_NULL, 0, DISPATCH_METHOD, &dispparams, &ret, NULL, NULL);
-    ok(hr == DISP_E_MEMBERNOTFOUND, "got 0x%08x\n", hr);
+    ok(hr == DISP_E_MEMBERNOTFOUND, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&ret) == VT_EMPTY, "got %d\n", V_VT(&ret));
     ok(V_DISPATCH(&ret) == (void*)0x1, "got %p\n", V_DISPATCH(&ret));
 
@@ -1698,10 +1864,10 @@ static void test_get(void)
     if (!cache) return;
 
     hr = IXMLDOMSchemaCollection2_get(cache, NULL, NULL);
-    ok(hr == E_NOTIMPL || hr == E_POINTER /* win8 */, "got %08x\n", hr);
+    ok(hr == E_NOTIMPL || hr == E_POINTER /* win8 */, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection2_get(cache, _bstr_("uri"), &node);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMSchemaCollection2_Release(cache);
 
@@ -1709,10 +1875,10 @@ static void test_get(void)
     if (!cache) return;
 
     hr = IXMLDOMSchemaCollection2_get(cache, NULL, NULL);
-    EXPECT_HR(hr, E_POINTER);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection2_get(cache, _bstr_("uri"), &node);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     IXMLDOMSchemaCollection2_Release(cache);
     free_bstrs();
@@ -1734,32 +1900,32 @@ static void test_remove(void)
     ok(doc != NULL, "got %p\n", doc);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(xsd_schema1_xml), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = (IDispatch*)doc;
     hr = IXMLDOMSchemaCollection2_add(cache, _bstr_(xsd_schema1_uri), v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection2_get_length(cache, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
 
     /* ::remove() is a stub for version 6 */
     hr = IXMLDOMSchemaCollection2_remove(cache, NULL);
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection2_remove(cache, _bstr_("invaliduri"));
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection2_remove(cache, _bstr_(xsd_schema1_uri));
-    EXPECT_HR(hr, E_NOTIMPL);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection2_get_length(cache, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
 
     IXMLDOMDocument_Release(doc);
     IXMLDOMSchemaCollection2_Release(cache);
@@ -1773,36 +1939,36 @@ static void test_remove(void)
     ok(doc != NULL, "got %p\n", doc);
 
     hr = IXMLDOMDocument_loadXML(doc, _bstr_(xsd_schema1_xml), &b);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&v) = VT_DISPATCH;
     V_DISPATCH(&v) = (IDispatch*)doc;
     hr = IXMLDOMSchemaCollection2_add(cache, _bstr_(xsd_schema1_uri), v);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection2_get_length(cache, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
 
     hr = IXMLDOMSchemaCollection2_remove(cache, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDOMSchemaCollection2_remove(cache, _bstr_("invaliduri"));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection2_get_length(cache, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 1, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 1, "Unexpected length %ld.\n", len);
 
     hr = IXMLDOMSchemaCollection2_remove(cache, _bstr_(xsd_schema1_uri));
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     len = -1;
     hr = IXMLDOMSchemaCollection2_get_length(cache, &len);
-    EXPECT_HR(hr, S_OK);
-    ok(len == 0, "got %d\n", len);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(len == 0, "Unexpected length %ld.\n", len);
 
     IXMLDOMDocument_Release(doc);
     IXMLDOMSchemaCollection2_Release(cache);
@@ -1821,8 +1987,8 @@ static void test_ifaces(void)
 
     /* CLSID_XMLSchemaCache60 is returned as an interface (the same as IXMLDOMSchemaCollection2). */
     hr = IXMLDOMSchemaCollection2_QueryInterface(cache, &CLSID_XMLSchemaCache60, (void**)&unk);
-    ok (hr == S_OK, "Could not get CLSID_XMLSchemaCache60 iface: %08x\n", hr);
-    ok (unk == (IUnknown*)cache, "unk != cache\n");
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(unk == (IUnknown*)cache, "unk != cache\n");
     IUnknown_Release(unk);
 
     check_interface(cache, &IID_IXMLDOMSchemaCollection, TRUE);
diff --git a/dlls/msxml3/tests/xmldoc.c b/dlls/msxml3/tests/xmldoc.c
index 94b5ea01f3b..484be6a86c1 100644
--- a/dlls/msxml3/tests/xmldoc.c
+++ b/dlls/msxml3/tests/xmldoc.c
@@ -29,9 +29,6 @@
 
 #include "wine/test.h"
 
-#define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
-
 /* Deprecated Error Code */
 #define XML_E_INVALIDATROOTLEVEL    0xc00ce556
 
@@ -70,10 +67,10 @@ static void create_stream_on_file(IStream **stream, LPCSTR path)
     ptr = GlobalLock(hglobal);
 
     ReadFile(hfile, ptr, file_size, &read, NULL);
-    ok(file_size == read, "Expected to read the whole file, read %d\n", read);
+    ok(file_size == read, "Expected to read the whole file, read %ld.\n", read);
 
     hr = CreateStreamOnHGlobal(hglobal, TRUE, stream);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(*stream != NULL, "Expected non-NULL stream\n");
 
     CloseHandle(hfile);
@@ -97,18 +94,18 @@ static void test_xmldoc(void)
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (void**)&doc);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* IDispatch */
     hr = IXMLDocument_QueryInterface(doc, &IID_IDispatch, (void**)&disp);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* just to make sure we're on right type data */
     hr = IDispatch_GetTypeInfo(disp, 0, 0, &ti);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     name = NULL;
     hr = ITypeInfo_GetDocumentation(ti, DISPID_XMLDOCUMENT_ROOT, &name, NULL, NULL, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"root"), "got name %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
 
@@ -116,22 +113,22 @@ static void test_xmldoc(void)
     IDispatch_Release(disp);
 
     hr = IXMLDocument_QueryInterface(doc, &IID_IXMLDOMDocument, (void**)&disp);
-    EXPECT_HR(hr, E_NOINTERFACE);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
 
     create_xml_file("bank.xml");
     GetFullPathNameA("bank.xml", MAX_PATH, path, NULL);
     create_stream_on_file(&stream, path);
 
     hr = IXMLDocument_QueryInterface(doc, &IID_IPersistStreamInit, (void**)&psi);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(psi != NULL, "Expected non-NULL psi\n");
 
     hr = IXMLDocument_get_root(doc, &element);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(element == NULL, "Expected NULL element\n");
 
     hr = IPersistStreamInit_Load(psi, stream);
-    ok(hr == S_OK || hr == XML_E_INVALIDATROOTLEVEL, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK || hr == XML_E_INVALIDATROOTLEVEL, "Unexpected hr %#lx.\n", hr);
     if(hr == XML_E_INVALIDATROOTLEVEL)
         goto cleanup;
 
@@ -139,86 +136,86 @@ static void test_xmldoc(void)
 
     /* version field */
     hr = IXMLDocument_get_version(doc, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     name = NULL;
     hr = IXMLDocument_get_version(doc, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"1.0"), "Expected 1.0, got %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
 
     /* doctype */
     hr = IXMLDocument_get_doctype(doc, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDocument_get_doctype(doc, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"BANKACCOUNT"), "Expected BANKACCOUNT, got %s\n", wine_dbgstr_w(name));
     SysFreeString(name);
 
     hr = IXMLDocument_get_root(doc, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     /* ::root() returns new instance each time */
     hr = IXMLDocument_get_root(doc, &child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL element\n");
     ok(child != element, "Expected new element instance\n");
     IXMLElement_Release(child);
 
     hr = IXMLElement_get_type(element, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(element, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"BANKACCOUNT"), "Expected BANKACCOUNT\n");
     SysFreeString(name);
 
     hr = IXMLElement_get_children(element, &collection);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection != NULL, "Expected non-NULL collection\n");
 
     hr = IXMLElementCollection_get_length(collection, &num_child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(num_child == 2, "Expected 2, got %d\n", num_child);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(num_child == 2, "Unexpected length %ld.\n", num_child);
 
     V_VT(&vIndex) = VT_I4;
     V_I4(&vIndex) = 0;
     V_VT(&vName) = VT_ERROR;
     V_ERROR(&vName) = DISP_E_PARAMNOTFOUND;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"NUMBER"), "Expected NUMBER\n");
     SysFreeString(name);
 
     hr = IXMLElement_get_children(child, &inner);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(inner != NULL, "Expected non-NULL inner\n");
 
     hr = IXMLElementCollection_get_length(inner, &num_child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(num_child == 1, "Expected 1, got %d\n", num_child);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(num_child == 1, "Unexpected length %ld.\n", num_child);
 
     hr = IXMLElementCollection_item(inner, vIndex, vName, (IDispatch **)&value);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(value != NULL, "Expected non-NULL value\n");
 
     hr = IXMLElement_get_type(value, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_TEXT, "Expected XMLELEMTYPE_TEXT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_TEXT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_text(value, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"1234"), "Expected '1234'\n");
     SysFreeString(name);
 
@@ -226,7 +223,7 @@ static void test_xmldoc(void)
 
     inner = (IXMLElementCollection *)0xdeadbeef;
     hr = IXMLElement_get_children(value, &inner);
-    ok(hr == 1, "Expected 1, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(inner == NULL, "Expected NULL inner, got %p\n", inner);
 
     IXMLElement_Release(value);
@@ -236,37 +233,37 @@ static void test_xmldoc(void)
 
     V_I4(&vIndex) = 1;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"NAME"), "Expected NAME\n");
     SysFreeString(name);
 
     hr = IXMLElement_get_children(child, &inner);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(inner != NULL, "Expected non-NULL inner\n");
 
     hr = IXMLElementCollection_get_length(inner, &num_child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(num_child == 1, "Expected 1, got %d\n", num_child);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(num_child == 1, "Unexpected length %ld.\n", num_child);
 
     V_I4(&vIndex) = 0;
     hr = IXMLElementCollection_item(inner, vIndex, vName, (IDispatch **)&value);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(value != NULL, "Expected non-NULL value\n");
 
     hr = IXMLElement_get_type(value, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_TEXT, "Expected XMLELEMTYPE_TEXT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_TEXT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_text(value, &name);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(name, L"Captain Ahab"), "Expected 'Captain Ahab'\n");
     SysFreeString(name);
 
@@ -274,7 +271,7 @@ static void test_xmldoc(void)
 
     inner = (IXMLElementCollection *)0xdeadbeef;
     hr = IXMLElement_get_children(value, &inner);
-    ok(hr == 1, "Expected 1, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(inner == NULL, "Expected NULL inner, got %p\n", inner);
 
     IXMLElement_Release(value);
@@ -299,14 +296,14 @@ static void test_createElement(void)
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (LPVOID*)&doc);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* invalid vType type */
     V_VT(&vType) = VT_NULL;
     V_VT(&vName) = VT_NULL;
     element = (IXMLElement *)0xdeadbeef;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(element == NULL, "Expected NULL element\n");
 
     /* invalid vType value */
@@ -321,17 +318,16 @@ static void test_createElement(void)
         if (element != NULL)
         {
             hr = IXMLElement_get_type(element, &type);
-            ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+            ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
             /* SP7 returns an XMLELEMTYPE_ELEMENT */
-            ok(type == XMLELEMTYPE_OTHER || type == XMLELEMTYPE_ELEMENT,
-                         "Expected XMLELEMTYPE_OTHER || XMLELEMTYPE_ELEMENT, got %d\n", type);
+            ok(type == XMLELEMTYPE_OTHER || type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
             IXMLElement_Release(element);
         }
     }
     else
     {
-        ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+        ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
         ok(element == NULL, "Expected NULL element\n");
     }
 
@@ -340,12 +336,12 @@ static void test_createElement(void)
     V_I4(&vType) = XMLELEMTYPE_ELEMENT;
     V_VT(&vName) = VT_I4;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     hr = IXMLElement_get_type(element, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     IXMLElement_Release(element);
 
@@ -354,24 +350,24 @@ static void test_createElement(void)
     V_I4(&vType) = XMLELEMTYPE_ELEMENT;
     V_VT(&vName) = VT_I4;
     hr = IXMLDocument_createElement(doc, vType, vName, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     root = (IXMLElement *)0xdeadbeef;
     hr = IXMLDocument_get_root(doc, &root);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(root == NULL, "Expected NULL root\n");
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_ELEMENT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     /* createElement does not set the new element as root */
     root = (IXMLElement *)0xdeadbeef;
     hr = IXMLDocument_get_root(doc, &root);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(root == NULL, "Expected NULL root\n");
 
     IXMLElement_Release(element);
@@ -393,27 +389,27 @@ static void test_persiststreaminit(void)
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (LPVOID*)&doc);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLDocument_QueryInterface(doc, &IID_IPersistStreamInit, (LPVOID *)&psi);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(psi != NULL, "Expected non-NULL psi\n");
 
     /* null arguments */
     hr = IPersistStreamInit_GetSizeMax(psi, NULL);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_Load(psi, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_Save(psi, NULL, FALSE);
-    todo_wine ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    todo_wine ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_GetClassID(psi, NULL);
-    ok(hr == E_POINTER, "Expected E_POINTER, got %08x\n", hr);
+    ok(hr == E_POINTER, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_IsDirty(psi);
-    todo_wine ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     create_xml_file("bank.xml");
     GetFullPathNameA("bank.xml", MAX_PATH, path, NULL);
@@ -422,73 +418,73 @@ static void test_persiststreaminit(void)
     /* GetSizeMax not implemented */
     size.QuadPart = 0;
     hr = IPersistStreamInit_GetSizeMax(psi, &size);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(size.QuadPart == 0, "Expected 0\n");
 
     hr = IPersistStreamInit_Load(psi, stream);
     IStream_Release(stream);
-    ok(hr == S_OK || hr == XML_E_INVALIDATROOTLEVEL, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK || hr == XML_E_INVALIDATROOTLEVEL, "Unexpected hr %#lx.\n", hr);
     if(hr == XML_E_INVALIDATROOTLEVEL)
         goto cleanup;
 
     hr = IPersistStreamInit_IsDirty(psi);
-    todo_wine ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     /* try to save document */
     stream = NULL;
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IPersistStreamInit_Save(psi, stream, FALSE);
-    todo_wine ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     stat.cbSize.QuadPart = 0;
     hr = IStream_Stat(stream, &stat, 0);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(stat.cbSize.QuadPart > 0, "Expected >0\n");
     IStream_Release(stream);
 
     str = SysAllocString(L"test");
     hr = IXMLDocument_get_root(doc, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     hr = IXMLElement_put_text(element, str);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     IXMLElement_Release(element);
     SysFreeString(str);
 
     hr = IPersistStreamInit_IsDirty(psi);
-    todo_wine ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     create_stream_on_file(&stream, path);
     hr = IPersistStreamInit_Load(psi, stream);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     IStream_Release(stream);
 
     hr = IPersistStreamInit_IsDirty(psi);
-    todo_wine ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     /* reset internal stream */
     hr = IPersistStreamInit_InitNew(psi);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_IsDirty(psi);
-    todo_wine ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     stream = NULL;
     hr = CreateStreamOnHGlobal(NULL, TRUE, &stream);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IPersistStreamInit_Save(psi, stream, FALSE);
-    todo_wine ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    todo_wine ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     stat.cbSize.QuadPart = 0;
     hr = IStream_Stat(stream, &stat, 0);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     todo_wine ok(stat.cbSize.QuadPart > 0, "Expected >0\n");
     IStream_Release(stream);
 
     memset(&id, 0, sizeof(id));
     hr = IPersistStreamInit_GetClassID(psi, &id);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(IsEqualCLSID(&id, &CLSID_XMLDocument), "Expected CLSID_XMLDocument\n");
 
 cleanup:
@@ -520,91 +516,91 @@ static void test_xmlelem_children(void)
     IXMLElement *element = NULL, *child = NULL, *child2 = NULL;
     IXMLElementCollection *collection = NULL;
     VARIANT vType, vName, vIndex;
-    LONG length;
+    LONG length, refcount;
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (LPVOID*)&doc);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_ELEMENT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_TEXT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_TEXT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &child2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child2 != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_addChild(element, child, 0, -1);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_get_children(element, &collection);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection != NULL, "Expected non-NULL collection\n");
 
     length = 0;
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 1, "Expected 1, got %08x\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 1, "Unexpected length %ld.\n", length);
 
     /* remove/add child and check what happens with collection */
     hr = IXMLElement_removeChild(element, child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     length = -1;
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 0, "Expected 0, got %08x\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(!length, "Unexpected length %ld.\n", length);
     IXMLElementCollection_Release(collection);
 
-    hr = IXMLElement_AddRef(child);
-    ok(hr == 2, "Expected 2, got %08x\n", hr);
+    refcount = IXMLElement_AddRef(child);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     IXMLElement_Release(child);
     hr = IXMLElement_addChild(element, child, 0, -1);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    hr = IXMLElement_AddRef(child);
-    ok(hr == 2, "Expected 2, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    refcount = IXMLElement_AddRef(child);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     IXMLElement_Release(child);
     hr = IXMLElement_addChild(element, child2, 0, -1);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_get_children(element, &collection);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection != NULL, "Expected non-NULL collection\n");
 
-    hr = IXMLElement_AddRef(child);
-    ok(hr == 2, "Expected 2, got %08x\n", hr);
+    refcount = IXMLElement_AddRef(child);
+    ok(refcount == 2, "Unexpected refcount %ld.\n", refcount);
     IXMLElement_Release(child);
 
     length = 0;
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 2, "Expected 2, got %08x\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected length %ld.\n", length);
 
     IXMLElement_Release(child2);
 
     length = 0;
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 2, "Expected 2, got %08x\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected length %ld.\n", length);
 
     V_VT(&vIndex) = VT_I4;
     V_I4(&vIndex) = 1;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child2 != NULL, "Expected not NULL child\n");
     IXMLElementCollection_Release(collection);
     IXMLElement_Release(child2);
@@ -614,20 +610,20 @@ static void test_xmlelem_children(void)
     V_I4(&vType) = XMLELEMTYPE_TEXT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &child2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child2 != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_addChild(child, child2, 0, -1);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_removeChild(element, child2);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_removeChild(child, child2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_removeChild(child, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     IXMLElement_Release(element);
     IXMLElement_Release(child);
@@ -652,7 +648,7 @@ static void test_xmlelem_collection(void)
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (LPVOID*)&doc);
-    ok(hr == S_OK, "Expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     create_xml_file("bank.xml");
     GetFullPathNameA("bank.xml", MAX_PATH, pathA, NULL);
@@ -660,131 +656,131 @@ static void test_xmlelem_collection(void)
 
     url = SysAllocString(path);
     hr = IXMLDocument_put_URL(doc, url);
-    ok(hr == S_OK, "Expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(url);
 
     if(hr != S_OK)
         goto cleanup;
 
     hr = IXMLDocument_get_root(doc, &element);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     hr = IXMLElement_get_children(element, &collection);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(collection != NULL, "Expected non-NULL collection\n");
 
     hr = IXMLElementCollection_get_length(collection, NULL);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 2, "Expected 2, got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected count %ld.\n", length);
 
     /* IXMLElementCollection:put_length does nothing */
     hr = IXMLElementCollection_put_length(collection, -1);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_put_length(collection, 0);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_put_length(collection, 1);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_put_length(collection, 2);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_put_length(collection, 3);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElementCollection_put_length(collection, 50);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     /* make sure the length hasn't changed */
     hr = IXMLElementCollection_get_length(collection, &length);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(length == 2, "Expected 2, got %d\n", length);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(length == 2, "Unexpected count %ld.\n", length);
 
     /* IXMLElementCollection implements IEnumVARIANT */
     hr = IXMLElementCollection_QueryInterface(collection, &IID_IEnumVARIANT, (LPVOID *)&enumVar);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enumVar != NULL, "Expected non-NULL enumVar\n");
     IEnumVARIANT_Release(enumVar);
 
     hr = IXMLElementCollection_get__newEnum(collection, &unk);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(unk != NULL, "Expected non-NULL unk\n");
 
     enumVar = (void *)0xdeadbeef;
     hr = IUnknown_QueryInterface(unk, &IID_IXMLElementCollection, (LPVOID *)&enumVar);
-    ok(hr == E_NOINTERFACE, "Expected E_NOINTERFACE, got %08x\n", hr);
+    ok(hr == E_NOINTERFACE, "Unexpected hr %#lx.\n", hr);
     ok(enumVar == NULL || broken(enumVar == (void *)0xdeadbeef) /* XP */, "Expected NULL, got %p\n", enumVar);
 
     hr = IUnknown_QueryInterface(unk, &IID_IEnumVARIANT, (LPVOID *)&enumVar);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(enumVar != NULL, "Expected non-NULL enumVar\n");
     IUnknown_Release(unk);
 
     /* <Number>1234</Number> */
     hr = IEnumVARIANT_Next(enumVar, 1, &var[0], &num_vars);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&var[0]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[0]));
-    ok(num_vars == 1, "Expected 1, got %d\n", num_vars);
+    ok(num_vars == 1, "Unexpected count %ld.\n", num_vars);
 
     hr = IDispatch_QueryInterface(V_DISPATCH(&var[0]), &IID_IXMLElement, (LPVOID *)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     VariantClear(&var[0]);
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"NUMBER"), "Expected NUMBER\n");
     SysFreeString(str);
     IXMLElement_Release(child);
 
     /* <Name>Captain Ahab</Name> */
     hr = IEnumVARIANT_Next(enumVar, 1, &var[0], &num_vars);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&var[0]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[0]));
-    ok(num_vars == 1, "Expected 1, got %d\n", num_vars);
+    ok(num_vars == 1, "Unexpected count %ld.\n", num_vars);
 
     VariantClear(&var[0]);
 
     /* try advance further, no children left */
     V_VT(&dummy) = VT_I4;
     hr = IEnumVARIANT_Next(enumVar, 1, &dummy, &num_vars);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dummy) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&dummy));
-    ok(num_vars == 0, "Expected 0, got %d\n", num_vars);
+    ok(!num_vars, "Unexpected count %ld.\n", num_vars);
 
     V_VT(&dummy) = VT_I4;
     hr = IEnumVARIANT_Next(enumVar, 1, &dummy, NULL);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dummy) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&dummy));
 
     hr = IEnumVARIANT_Reset(enumVar);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* retrieve multiple elements */
     hr = IEnumVARIANT_Next(enumVar, 2, var, &num_vars);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&var[0]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[0]));
     ok(V_VT(&var[1]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[1]));
-    ok(num_vars == 2, "Expected 2, got %d\n", num_vars);
+    ok(num_vars == 2, "Unexpected count %ld.\n", num_vars);
 
     V_VT(&dummy) = VT_I4;
     hr = IEnumVARIANT_Next(enumVar, 1, &dummy, &num_vars);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&dummy) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&dummy));
-    ok(num_vars == 0, "Expected 0, got %d\n", num_vars);
+    ok(!num_vars, "Unexpected count %ld.\n", num_vars);
 
     hr = IEnumVARIANT_Reset(enumVar);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     VariantClear(&var[1]);
     VariantClear(&var[0]);
@@ -793,26 +789,26 @@ static void test_xmlelem_collection(void)
 
     /* request more elements than available */
     hr = IEnumVARIANT_Next(enumVar, 4, var, &num_vars);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&var[0]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[0]));
     ok(V_VT(&var[1]) == VT_DISPATCH, "Expected VT_DISPATCH, got %d\n", V_VT(&var[1]));
     ok(V_VT(&var[2]) == VT_EMPTY, "Expected 0, got %d\n", V_VT(&var[2]));
     ok(V_VT(&var[3]) == 0xcccc, "Expected invalid, got %x\n", V_VT(&var[3]));
-    ok(num_vars == 2, "Expected 2, got %d\n", num_vars);
+    ok(num_vars == 2, "Unexpected count %ld.\n", num_vars);
 
     hr = IDispatch_QueryInterface(V_DISPATCH(&var[1]), &IID_IXMLElement, (LPVOID *)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     VariantClear(&var[1]);
     VariantClear(&var[0]);
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"NAME"), "Expected NAME\n");
     SysFreeString(str);
     IXMLElement_Release(child);
@@ -823,15 +819,15 @@ static void test_xmlelem_collection(void)
     V_VT(&vName) = VT_ERROR;
     V_ERROR(&vName) = DISP_E_PARAMNOTFOUND;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"NUMBER"), "Expected NUMBER\n");
     SysFreeString(str);
     IXMLElement_Release(child);
@@ -842,28 +838,28 @@ static void test_xmlelem_collection(void)
     V_VT(&vName) = VT_ERROR;
     V_ERROR(&vName) = DISP_E_PARAMNOTFOUND;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_get_type(child, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_tagName(child, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"NAME"), "Expected NAME\n");
     SysFreeString(str);
     IXMLElement_Release(child);
 
     V_I4(&vIndex) = 100;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == E_FAIL, "Expected E_FAIL, got %08x\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
     ok(child == NULL, "Expected NULL child\n");
 
     V_I4(&vIndex) = -1;
     child = (IXMLElement *)0xdeadbeef;
     hr = IXMLElementCollection_item(collection, vIndex, vName, (IDispatch **)&child);
-    ok(hr == E_INVALIDARG, "Expected E_INVALIDARG, got %08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
     ok(child == NULL, "Expected NULL child\n");
 
     IEnumVARIANT_Release(enumVar);
@@ -890,44 +886,44 @@ static void test_xmlelem(void)
 
     hr = CoCreateInstance(&CLSID_XMLDocument, NULL, CLSCTX_INPROC_SERVER,
                           &IID_IXMLDocument, (LPVOID*)&doc);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_ELEMENT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &element);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(element != NULL, "Expected non-NULL element\n");
 
     /* test for IDispatch */
     disp = NULL;
     hr = IXMLElement_QueryInterface(element, &IID_IDispatch, (void**)&disp);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IDispatch_GetTypeInfo(disp, 0, 0, &ti);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     name = NULL;
     hr = ITypeInfo_GetDocumentation(ti, DISPID_XMLELEMENT_TAGNAME, &name, NULL, NULL, NULL);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(name);
 
     ITypeInfo_Release(ti);
     IDispatch_Release(disp);
 
     hr = IXMLElement_get_tagName(element, &str);
-    EXPECT_HR(hr, S_OK);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!str, "Expected empty tag name, got %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
     parent = (IXMLElement *)0xdeadbeef;
     hr = IXMLElement_get_parent(element, &parent);
-    ok(hr == 1, "Expected 1, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(parent == NULL, "Expected NULL parent\n");
 
     str = SysAllocString(L"noexist");
     hr = IXMLElement_getAttribute(element, str, &vValue);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&vValue) == VT_EMPTY, "Expected VT_EMPTY, got %d\n", V_VT(&vValue));
     ok(V_BSTR(&vValue) == NULL, "Expected null value\n");
     VariantClear(&vValue);
@@ -938,13 +934,13 @@ static void test_xmlelem(void)
     V_VT(&vValue) = VT_BSTR;
     V_BSTR(&vValue) = val;
     hr = IXMLElement_setAttribute(element, str, vValue);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
     SysFreeString(val);
 
     str = SysAllocString(L"CRAZYCASE");
     hr = IXMLElement_getAttribute(element, str, &vValue);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&vValue) == VT_BSTR, "Expected VT_BSTR, got %d\n", V_VT(&vValue));
     ok(!lstrcmpW(V_BSTR(&vValue), L"val"), "Expected 'val'\n");
     VariantClear(&vValue);
@@ -955,24 +951,24 @@ static void test_xmlelem(void)
     V_VT(&vValue) = VT_BSTR;
     V_BSTR(&vValue) = val;
     hr = IXMLElement_setAttribute(element, str, vValue);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(val);
 
     hr = IXMLElement_getAttribute(element, str, &vValue);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&vValue) == VT_BSTR, "Expected VT_BSTR, got %d\n", V_VT(&vValue));
     ok(!lstrcmpW(V_BSTR(&vValue), L"val"), "Expected 'val'\n");
     VariantClear(&vValue);
 
     hr = IXMLElement_removeAttribute(element, str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     /* remove now nonexistent attribute */
     hr = IXMLElement_removeAttribute(element, str);
-    ok(hr == S_FALSE, "Expected S_FALSE, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLElement_getAttribute(element, str, &vValue);
-    ok(hr == 1, "Expected 1, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(V_VT(&vValue) == VT_EMPTY, "Expected VT_EMPTY, got %d\n", V_VT(&vValue));
     ok(V_BSTR(&vValue) == NULL, "Expected null value\n");
     SysFreeString(str);
@@ -980,92 +976,92 @@ static void test_xmlelem(void)
 
     children = (IXMLElementCollection *)0xdeadbeef;
     hr = IXMLElement_get_children(element, &children);
-    ok(hr == 1, "Expected 1, got %08x\n", hr);
+    ok(hr == S_FALSE, "Unexpected hr %#lx.\n", hr);
     ok(children == NULL, "Expected NULL collection\n");
 
     hr = IXMLElement_get_type(element, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_text(element, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(str && !*str, "Expected empty text\n");
     SysFreeString(str);
 
     /* put_text with an ELEMENT */
     str = SysAllocString(L"val");
     hr = IXMLElement_put_text(element, str);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     V_VT(&vType) = VT_I4;
     V_I4(&vType) = XMLELEMTYPE_TEXT;
     V_VT(&vName) = VT_NULL;
     hr = IXMLDocument_createElement(doc, vType, vName, &child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_addChild(element, child, 0, -1);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     str = SysAllocString(L"val");
     hr = IXMLElement_put_text(child, str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     parent = (IXMLElement *)0xdeadbeef;
     hr = IXMLElement_get_parent(child, &parent);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(parent != element, "Expected parent != element\n");
 
     hr = IXMLElement_get_type(parent, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_ELEMENT, "Expected XMLELEMTYPE_ELEMENT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_ELEMENT, "Unexpected type %ld.\n", type);
 
     children = (IXMLElementCollection *)0xdeadbeef;
     hr = IXMLElement_get_children(element, &children);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(children != NULL, "Expected non-NULL collection\n");
 
     hr = IXMLElementCollection_get_length(children, &num_child);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(num_child == 1, "Expected 1, got %d\n", num_child);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(num_child == 1, "Unexpected length %ld.\n", num_child);
 
     V_VT(&vIndex) = VT_I4;
     V_I4(&vIndex) = 0;
     V_VT(&vName) = VT_ERROR;
     V_ERROR(&vName) = DISP_E_PARAMNOTFOUND;
     hr = IXMLElementCollection_item(children, vIndex, vName, (IDispatch **)&child2);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(child2 != NULL, "Expected non-NULL child\n");
 
     hr = IXMLElement_get_type(child2, &type);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
-    ok(type == XMLELEMTYPE_TEXT, "Expected XMLELEMTYPE_TEXT, got %d\n", type);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
+    ok(type == XMLELEMTYPE_TEXT, "Unexpected type %ld.\n", type);
 
     hr = IXMLElement_get_text(element, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"val"), "Expected 'val'\n");
     SysFreeString(str);
 
     hr = IXMLElement_get_text(child2, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"val"), "Expected 'val'\n");
     SysFreeString(str);
 
     /* try put_text on ELEMENT again, now that it has a text child */
     str = SysAllocString(L"next");
     hr = IXMLElement_put_text(element, str);
-    ok(hr == E_NOTIMPL, "Expected E_NOTIMPL, got %08x\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     str = SysAllocString(L"next");
     hr = IXMLElement_put_text(child2, str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     SysFreeString(str);
 
     hr = IXMLElement_get_text(element, &str);
-    ok(hr == S_OK, "Expected S_OK, got %08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(!lstrcmpW(str, L"next"), "Expected 'val'\n");
     SysFreeString(str);
 
diff --git a/dlls/msxml3/tests/xmlparser.c b/dlls/msxml3/tests/xmlparser.c
index 32514e3e0e9..9ca61d6218a 100644
--- a/dlls/msxml3/tests/xmlparser.c
+++ b/dlls/msxml3/tests/xmlparser.c
@@ -108,44 +108,44 @@ static void create_test(void)
     hr = CoCreateInstance(&CLSID_XMLParser30, NULL, CLSCTX_INPROC_SERVER, &IID_IXMLParser, (void**)&parser);
     if (FAILED(hr))
     {
-        win_skip("IXMLParser is not available (0x%08x)\n", hr);
+        win_skip("IXMLParser is not available, hr %#lx.\n", hr);
         return;
     }
 
     flags = IXMLParser_GetFlags(parser);
-    ok(flags == 0, "Expected 0 got %d\n", flags);
+    ok(!flags, "Unexpected flags %#lx.\n", flags);
 
     hr = IXMLParser_SetFlags(parser, XMLFLAG_SAX);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     flags = IXMLParser_GetFlags(parser);
-    ok(flags == XMLFLAG_SAX, "Expected 0 got %d\n", flags);
+    ok(flags == XMLFLAG_SAX, "Unexpected flags %ld.\n", flags);
 
     hr = IXMLParser_GetFactory(parser, NULL);
-    ok(hr == E_INVALIDARG, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLParser_GetFactory(parser, &nodefactory);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(nodefactory == NULL, "expected NULL\n");
 
     hr = IXMLParser_SetFactory(parser, &thenodefactory);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLParser_GetFactory(parser, &nodefactory);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
     ok(nodefactory == &thenodefactory, "expected NULL\n");
 
     hr = IXMLParser_SetInput(parser, NULL);
-    ok(hr == E_INVALIDARG, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLParser_SetFactory(parser, NULL);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLParser_SetFlags(parser, 0);
-    ok(hr == S_OK, "Expected S_OK got 0x%08x\n", hr);
+    ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
 
     hr = IXMLParser_GetParserState(parser);
-    ok(hr == XMLPARSER_IDLE, "got 0x%08x\n", hr);
+    ok(hr == XMLPARSER_IDLE, "Unexpected hr %#lx.\n", hr);
 
     IXMLParser_Release(parser);
 }
diff --git a/dlls/msxml3/tests/xmlview.c b/dlls/msxml3/tests/xmlview.c
index 01e6dedab3f..5eb8e777eb4 100644
--- a/dlls/msxml3/tests/xmlview.c
+++ b/dlls/msxml3/tests/xmlview.c
@@ -128,7 +128,7 @@ static HRESULT WINAPI HTMLEvents_Invoke(IDispatch *iface, DISPID dispIdMember, R
         BSTR state;
 
         hr = IHTMLDocument2_get_readyState(html_doc, &state);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
         if (!memcmp(state, completeW, sizeof(completeW)))
             loaded = TRUE;
         SysFreeString(state);
@@ -161,28 +161,28 @@ static void test_QueryInterface(void)
         win_skip("Failed to create XMLView instance\n");
         return;
     }
-    ok(hres == S_OK, "CoCreateInstance returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
 
     hres = IUnknown_QueryInterface(xmlview, &IID_IPersistMoniker, (void**)&unk);
-    ok(hres == S_OK, "QueryInterface(IID_IPersistMoniker) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IUnknown_Release(unk);
 
     hres = IUnknown_QueryInterface(xmlview, &IID_IPersistHistory, (void**)&unk);
-    ok(hres == S_OK, "QueryInterface(IID_IPersistHistory) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IUnknown_Release(unk);
 
     hres = IUnknown_QueryInterface(xmlview, &IID_IOleCommandTarget, (void**)&unk);
-    ok(hres == S_OK, "QueryInterface(IID_IOleCommandTarget) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IUnknown_Release(unk);
 
     hres = IUnknown_QueryInterface(xmlview, &IID_IOleObject, (void**)&unk);
-    ok(hres == S_OK, "QueryInterface(IID_IOleObject) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IUnknown_Release(unk);
 
     hres = IUnknown_QueryInterface(xmlview, &IID_IHTMLDocument, (void**)&htmldoc);
-    ok(hres == S_OK, "QueryInterface(IID_IHTMLDocument) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = IHTMLDocument_QueryInterface(htmldoc, &IID_IUnknown, (void**)&unk);
-    ok(hres == S_OK, "QueryInterface(IID_IUnknown) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     ok(unk == xmlview, "Aggregation is not working as expected\n");
     IUnknown_Release(unk);
     IHTMLDocument_Release(htmldoc);
@@ -218,26 +218,26 @@ static void test_Load(void)
         win_skip("Failed to create XMLView instance\n");
         return;
     }
-    ok(hres == S_OK, "CoCreateInstance returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
 
     hres = IPersistMoniker_QueryInterface(pers_mon, &IID_IHTMLDocument2, (void**)&html_doc);
-    ok(hres == S_OK, "QueryInterface(HTMLDocument2) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = IPersistMoniker_QueryInterface(pers_mon, &IID_IConnectionPointContainer, (void**)&cpc);
-    ok(hres == S_OK, "QueryInterface(IConnectionPointContainer) returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = IConnectionPointContainer_FindConnectionPoint(cpc, &IID_IDispatch, &cp);
-    ok(hres == S_OK, "FindConnectionPoint returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = IConnectionPoint_Advise(cp, (IUnknown*)&HTMLEvents, NULL);
-    ok(hres == S_OK, "Advise returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IConnectionPoint_Release(cp);
     IConnectionPointContainer_Release(cpc);
 
     hres = CreateBindCtx(0, &bctx);
-    ok(hres == S_OK, "CreateBindCtx returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = pCreateURLMoniker(NULL, buf, &mon);
-    ok(hres == S_OK, "CreateUrlMoniker returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     loaded = FALSE;
     hres = IPersistMoniker_Load(pers_mon, TRUE, mon, bctx, 0);
-    ok(hres == S_OK, "Load returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     IBindCtx_Release(bctx);
     IMoniker_Release(mon);
 
@@ -247,9 +247,9 @@ static void test_Load(void)
     }
 
     hres = IHTMLDocument2_get_body(html_doc, &elem);
-    ok(hres == S_OK, "get_body returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     hres = IHTMLElement_get_outerHTML(elem, &source);
-    ok(hres == S_OK, "get_outerHTML returned %x, expected S_OK\n", hres);
+    ok(hres == S_OK, "Unexpected hr %#lx.\n", hres);
     ok(!html_src_compare(source, xmlview_html), "Incorrect HTML source: %s\n", wine_dbgstr_w(source));
     IHTMLElement_Release(elem);
     SysFreeString(source);
-- 
2.34.1




More information about the wine-devel mailing list