[PATCH 15/25] dlls/shell32/tests: enable compilation with long types

Eric Pouech eric.pouech at gmail.com
Sat Mar 5 05:08:01 CST 2022


Signed-off-by: Eric Pouech <eric.pouech at gmail.com>

---
 dlls/shell32/tests/Makefile.in      |    1 
 dlls/shell32/tests/appbar.c         |   18 -
 dlls/shell32/tests/assoc.c          |   80 +--
 dlls/shell32/tests/autocomplete.c   |   76 +-
 dlls/shell32/tests/brsfolder.c      |   34 +
 dlls/shell32/tests/ebrowser.c       |  314 +++++-----
 dlls/shell32/tests/msg.h            |    8 
 dlls/shell32/tests/recyclebin.c     |    4 
 dlls/shell32/tests/shelldispatch.c  |  438 +++++++-------
 dlls/shell32/tests/shelllink.c      |  274 ++++-----
 dlls/shell32/tests/shellole.c       |   74 +-
 dlls/shell32/tests/shellpath.c      |  260 ++++-----
 dlls/shell32/tests/shfldr_special.c |   66 +-
 dlls/shell32/tests/shlexec.c        |  202 +++----
 dlls/shell32/tests/shlfileop.c      |  278 +++++----
 dlls/shell32/tests/shlfolder.c      | 1070 ++++++++++++++++++-----------------
 dlls/shell32/tests/shlview.c        |  194 +++---
 17 files changed, 1695 insertions(+), 1696 deletions(-)

diff --git a/dlls/shell32/tests/Makefile.in b/dlls/shell32/tests/Makefile.in
index 9abd0d1e353..08a7d3af3a6 100644
--- a/dlls/shell32/tests/Makefile.in
+++ b/dlls/shell32/tests/Makefile.in
@@ -1,4 +1,3 @@
-EXTRADEFS = -DWINE_NO_LONG_TYPES
 TESTDLL   = shell32.dll
 IMPORTS   = shell32 ole32 oleaut32 user32 gdi32 advapi32 shlwapi
 
diff --git a/dlls/shell32/tests/appbar.c b/dlls/shell32/tests/appbar.c
index e1c050bbc16..8b71a90ba7a 100644
--- a/dlls/shell32/tests/appbar.c
+++ b/dlls/shell32/tests/appbar.c
@@ -78,19 +78,19 @@ static void testwindow_setpos(HWND hwnd)
     switch (info->edge)
     {
         case ABE_BOTTOM:
-            ok(info->desired_rect.top == abd.rc.top, "ABM_QUERYPOS changed top of rect from %i to %i\n", info->desired_rect.top, abd.rc.top);
+            ok(info->desired_rect.top == abd.rc.top, "ABM_QUERYPOS changed top of rect from %li to %li\n", info->desired_rect.top, abd.rc.top);
             abd.rc.top = abd.rc.bottom - (info->desired_rect.bottom - info->desired_rect.top);
             break;
         case ABE_LEFT:
-            ok(info->desired_rect.right == abd.rc.right, "ABM_QUERYPOS changed right of rect from %i to %i\n", info->desired_rect.right, abd.rc.right);
+            ok(info->desired_rect.right == abd.rc.right, "ABM_QUERYPOS changed right of rect from %li to %li\n", info->desired_rect.right, abd.rc.right);
             abd.rc.right = abd.rc.left + (info->desired_rect.right - info->desired_rect.left);
             break;
         case ABE_RIGHT:
-            ok(info->desired_rect.left == abd.rc.left, "ABM_QUERYPOS changed left of rect from %i to %i\n", info->desired_rect.left, abd.rc.left);
+            ok(info->desired_rect.left == abd.rc.left, "ABM_QUERYPOS changed left of rect from %li to %li\n", info->desired_rect.left, abd.rc.left);
             abd.rc.left = abd.rc.right - (info->desired_rect.right - info->desired_rect.left);
             break;
         case ABE_TOP:
-            ok(info->desired_rect.bottom == abd.rc.bottom, "ABM_QUERYPOS changed bottom of rect from %i to %i\n", info->desired_rect.bottom, abd.rc.bottom);
+            ok(info->desired_rect.bottom == abd.rc.bottom, "ABM_QUERYPOS changed bottom of rect from %li to %li\n", info->desired_rect.bottom, abd.rc.bottom);
             abd.rc.bottom = abd.rc.top + (info->desired_rect.bottom - info->desired_rect.top);
             break;
     }
@@ -339,7 +339,7 @@ static void test_setpos(void)
         win_skip("Some broken Vista boxes don't move the higher appbar down\n");
     else
         ok(windows[1].allocated_rect.bottom == expected_bottom,
-            "windows[1]'s bottom is %i, expected %i\n",
+            "windows[1]'s bottom is %li, expected %i\n",
             windows[1].allocated_rect.bottom, expected_bottom);
 
     test_window_rects(1, 2);
@@ -432,7 +432,7 @@ static void test_GetCurrentProcessExplicitAppUserModelID(void)
     appid = (void*)0xdeadbeef;
     hr = pGetCurrentProcessExplicitAppUserModelID(&appid);
     todo_wine
-    ok(hr == E_FAIL, "got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "got 0x%08lx\n", hr);
     ok(appid == NULL, "got %p\n", appid);
 }
 
@@ -450,14 +450,14 @@ static void test_SHGetPropertyStoreForWindow(void)
 
     unk = (IUnknown *)0xdeadbeef;
     hr = pSHGetPropertyStoreForWindow(GetDesktopWindow(), &IID_IDispatch, (void **)&unk);
-    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+    ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
     ok(unk == NULL, "got %p\n", unk);
 
     hr = pSHGetPropertyStoreForWindow(GetDesktopWindow(), &IID_IUnknown, (void **)&unk);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IUnknown_QueryInterface(unk, &IID_IPropertyStore, (void **)&store);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     if (store) IPropertyStore_Release(store);
     if (unk) IUnknown_Release(unk);
diff --git a/dlls/shell32/tests/assoc.c b/dlls/shell32/tests/assoc.c
index 65334e4a739..403390d8a09 100644
--- a/dlls/shell32/tests/assoc.c
+++ b/dlls/shell32/tests/assoc.c
@@ -37,22 +37,22 @@ static void test_IQueryAssociations_QueryInterface(void)
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_QueryAssociations, NULL, CLSCTX_INPROC_SERVER, &IID_IQueryAssociations, (void*)&qa);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IQueryAssociations_QueryInterface(qa, &IID_IQueryAssociations, (void**)&qa2);
-    ok(hr == S_OK, "QueryInterface (IQueryAssociations) returned 0x%x\n", hr);
+    ok(hr == S_OK, "QueryInterface (IQueryAssociations) returned 0x%lx\n", hr);
     if (SUCCEEDED(hr)) {
         IQueryAssociations_Release(qa2);
     }
 
     hr = IQueryAssociations_QueryInterface(qa, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "QueryInterface (IUnknown) returned 0x%x\n", hr);
+    ok(hr == S_OK, "QueryInterface (IUnknown) returned 0x%lx\n", hr);
     if (SUCCEEDED(hr)) {
         IUnknown_Release(unk);
     }
 
     hr = IQueryAssociations_QueryInterface(qa, &IID_IUnknown, NULL);
-    ok(hr == E_POINTER, "got 0x%x (expected E_POINTER)\n", hr);
+    ok(hr == E_POINTER, "got 0x%lx (expected E_POINTER)\n", hr);
 
     IQueryAssociations_Release(qa);
 }
@@ -66,19 +66,19 @@ static void test_IApplicationAssociationRegistration_QueryInterface(IApplication
 
     hr = IApplicationAssociationRegistration_QueryInterface(appreg, &IID_IApplicationAssociationRegistration,
        (void**)&appreg2);
-    ok(hr == S_OK, "QueryInterface (IApplicationAssociationRegistration) returned 0x%x\n", hr);
+    ok(hr == S_OK, "QueryInterface (IApplicationAssociationRegistration) returned 0x%lx\n", hr);
     if (SUCCEEDED(hr)) {
         IApplicationAssociationRegistration_Release(appreg2);
     }
 
     hr = IApplicationAssociationRegistration_QueryInterface(appreg, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "QueryInterface (IUnknown) returned 0x%x\n", hr);
+    ok(hr == S_OK, "QueryInterface (IUnknown) returned 0x%lx\n", hr);
     if (SUCCEEDED(hr)) {
         IUnknown_Release(unk);
     }
 
     hr = IApplicationAssociationRegistration_QueryInterface(appreg, &IID_IUnknown, NULL);
-    ok(hr == E_POINTER, "got 0x%x (expected E_POINTER)\n", hr);
+    ok(hr == E_POINTER, "got 0x%lx (expected E_POINTER)\n", hr);
 }
 
 struct assoc_getstring_test
@@ -109,13 +109,13 @@ static void getstring_test(LPCWSTR assocName, HKEY progIdKey, ASSOCSTR str, LPCW
     DWORD len;
 
     hr = CoCreateInstance(&CLSID_QueryAssociations, NULL, CLSCTX_INPROC_SERVER, &IID_IQueryAssociations, (void*)&assoc);
-    ok_(__FILE__, line)(hr == S_OK, "failed to create IQueryAssociations, 0x%x\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "failed to create IQueryAssociations, 0x%lx\n", hr);
     hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, assocName, progIdKey, NULL);
-    ok_(__FILE__, line)(hr == S_OK, "IQueryAssociations::Init failed, 0x%x\n", hr);
+    ok_(__FILE__, line)(hr == S_OK, "IQueryAssociations::Init failed, 0x%lx\n", hr);
 
     hr = IQueryAssociations_GetString(assoc, ASSOCF_NONE, str, NULL, NULL, &len);
     if (expected_string) {
-        ok_(__FILE__, line)(hr == S_FALSE, "GetString returned 0x%x, expected S_FALSE\n", hr);
+        ok_(__FILE__, line)(hr == S_FALSE, "GetString returned 0x%lx, expected S_FALSE\n", hr);
         if (hr != S_FALSE) {
             /* don't try to allocate memory using uninitialized len */
             IQueryAssociations_Release(assoc);
@@ -125,12 +125,12 @@ static void getstring_test(LPCWSTR assocName, HKEY progIdKey, ASSOCSTR str, LPCW
         buffer = heap_alloc(len * sizeof(WCHAR));
         ok_(__FILE__, line)(buffer != NULL, "out of memory\n");
         hr = IQueryAssociations_GetString(assoc, 0, str, NULL, buffer, &len);
-        ok_(__FILE__, line)(hr == S_OK, "GetString returned 0x%x, expected S_OK\n", hr);
+        ok_(__FILE__, line)(hr == S_OK, "GetString returned 0x%lx, expected S_OK\n", hr);
 
         ok_(__FILE__, line)(lstrcmpW(buffer, expected_string) == 0, "GetString returned %s, expected %s\n",
                 wine_dbgstr_w(buffer), wine_dbgstr_w(expected_string));
     } else {
-        ok_(__FILE__, line)(FAILED(hr), "GetString returned 0x%x, expected failure\n", hr);
+        ok_(__FILE__, line)(FAILED(hr), "GetString returned 0x%lx, expected failure\n", hr);
     }
 
     IQueryAssociations_Release(assoc);
@@ -162,22 +162,22 @@ static void test_IQueryAssociations_GetString(void)
         return;
     }
 
-    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR, \".test\") failed: 0x%lx\n", r);
+    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR, \".test\") failed: 0x%Ix\n", r);
     r = RegSetValueExW(test_extension_key, NULL, 0, REG_SZ, (PBYTE)test_progidW, sizeof(test_progidW));
-    ok(r == ERROR_SUCCESS, "RegSetValueExW(HKCR\\.test, NULL, \"testfile\") failed: 0x%lx\n", r);
+    ok(r == ERROR_SUCCESS, "RegSetValueExW(HKCR\\.test, NULL, \"testfile\") failed: 0x%Ix\n", r);
 
     /* adding progid key with no information should fail to return information */
     r = RegCreateKeyExW(HKEY_CLASSES_ROOT, test_progidW, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &test_progid_key, NULL);
-    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR, \"testfile\") failed: 0x%lx\n", r);
+    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR, \"testfile\") failed: 0x%Ix\n", r);
     getstring_test(test_extensionW, NULL, ASSOCSTR_DEFAULTICON, NULL, __LINE__);
     getstring_test(test_progidW, NULL, ASSOCSTR_DEFAULTICON, NULL, __LINE__);
     getstring_test(NULL, test_progid_key, ASSOCSTR_DEFAULTICON, NULL, __LINE__);
 
     /* adding information to the progid should return that information */
     r = RegCreateKeyExW(test_progid_key, DefaultIconW, 0, NULL, 0, KEY_ALL_ACCESS, NULL, &test_defaulticon_key, NULL);
-    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR\\testfile\\DefaultIcon) failed: 0x%lx\n", r);
+    ok(r == ERROR_SUCCESS, "RegCreateKeyExW(HKCR\\testfile\\DefaultIcon) failed: 0x%Ix\n", r);
     r = RegSetValueExW(test_defaulticon_key, NULL, 0, REG_SZ, (PBYTE)test_iconW, sizeof(test_iconW));
-    ok(r == ERROR_SUCCESS, "RegSetValueExW(HKCR\\testfile\\DefaultIcon, NULL, \"folder.ico\") failed: 0x%lx\n", r);
+    ok(r == ERROR_SUCCESS, "RegSetValueExW(HKCR\\testfile\\DefaultIcon, NULL, \"folder.ico\") failed: 0x%Ix\n", r);
     getstring_test(test_extensionW, NULL, ASSOCSTR_DEFAULTICON, test_iconW, __LINE__);
     getstring_test(test_progidW, NULL, ASSOCSTR_DEFAULTICON, test_iconW, __LINE__);
     getstring_test(NULL, test_progid_key, ASSOCSTR_DEFAULTICON, test_iconW, __LINE__);
@@ -187,15 +187,15 @@ static void test_IQueryAssociations_GetString(void)
     RegDeleteKeyW(HKEY_CLASSES_ROOT, test_extensionW);
 
     hr = CoCreateInstance(&CLSID_QueryAssociations, NULL, CLSCTX_INPROC_SERVER, &IID_IQueryAssociations, (void*)&assoc);
-    ok(hr == S_OK, "failed to create object, 0x%x\n", hr);
+    ok(hr == S_OK, "failed to create object, 0x%lx\n", hr);
 
     hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, httpW, NULL, NULL);
-    ok(hr == S_OK, "Init failed, 0x%x\n", hr);
+    ok(hr == S_OK, "Init failed, 0x%lx\n", hr);
 
     len = 0;
     hr = IQueryAssociations_GetString(assoc, ASSOCF_NONE, ASSOCSTR_EXECUTABLE, NULL, NULL, &len);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
-    ok(len > 0, "got wrong needed length, %d\n", len);
+    ok(hr == S_FALSE, "got 0x%08lx\n", hr);
+    ok(len > 0, "got wrong needed length, %ld\n", len);
 
     while (ptr->key)
     {
@@ -203,17 +203,17 @@ static void test_IQueryAssociations_GetString(void)
         DWORD len;
 
         hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, ptr->key, NULL, NULL);
-        ok(hr == S_OK, "%d: Init failed, 0x%x\n", i, hr);
+        ok(hr == S_OK, "%d: Init failed, 0x%lx\n", i, hr);
 
         len = ptr->len;
         buffW[0] = ptr->flags & ASSOCF_NOTRUNCATE ? 0x1 : 0;
         hr = IQueryAssociations_GetString(assoc, ptr->flags, ptr->str, NULL, buffW, &len);
         if (hr != ptr->hr)
-            ok(broken(hr == ptr->brokenhr), "%d: GetString failed, 0x%08x\n", i, hr);
+            ok(broken(hr == ptr->brokenhr), "%d: GetString failed, 0x%08lx\n", i, hr);
         else
         {
-            ok(hr == ptr->hr, "%d: GetString failed, 0x%08x\n", i, hr);
-            ok(len > ptr->len, "%d: got needed length %d\n", i, len);
+            ok(hr == ptr->hr, "%d: GetString failed, 0x%08lx\n", i, hr);
+            ok(len > ptr->len, "%d: got needed length %ld\n", i, len);
         }
 
         /* even with ASSOCF_NOTRUNCATE it's null terminated */
@@ -237,20 +237,20 @@ static void test_IQueryAssociations_Init(void)
     DWORD len;
 
     hr = CoCreateInstance(&CLSID_QueryAssociations, NULL, CLSCTX_INPROC_SERVER, &IID_IQueryAssociations, (void*)&assoc);
-    ok(hr == S_OK, "failed to create object, 0x%x\n", hr);
+    ok(hr == S_OK, "failed to create object, 0x%lx\n", hr);
 
     hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, NULL, NULL, NULL);
-    ok(hr == E_INVALIDARG, "Init failed, 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Init failed, 0x%08lx\n", hr);
 
     hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, httpW, NULL, NULL);
-    ok(hr == S_OK, "Init failed, 0x%08x\n", hr);
+    ok(hr == S_OK, "Init failed, 0x%08lx\n", hr);
 
     hr = IQueryAssociations_Init(assoc, ASSOCF_NONE, badW, NULL, NULL);
-    ok(hr == S_OK || broken(hr == S_FALSE) /* pre-vista */, "Init failed, 0x%08x\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE) /* pre-vista */, "Init failed, 0x%08lx\n", hr);
 
     len = 0;
     hr = IQueryAssociations_GetString(assoc, ASSOCF_NONE, ASSOCSTR_EXECUTABLE, NULL, NULL, &len);
-    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) || broken(hr == E_FAIL) /* pre-vista */, "got 0x%08x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) || broken(hr == E_FAIL) /* pre-vista */, "got 0x%08lx\n", hr);
 
     IQueryAssociations_Release(assoc);
 }
@@ -264,31 +264,31 @@ static void test_IApplicationAssociationRegistration_QueryCurrentDefault(IApplic
     LPWSTR assocprog = NULL;
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, emptyW, AT_URLPROTOCOL, AL_EFFECTIVE, &assocprog);
-    ok(hr == E_INVALIDARG, "got 0x%x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%lx\n", hr);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, emptyW, AT_FILEEXTENSION, AL_EFFECTIVE, &assocprog);
-    ok(hr == E_INVALIDARG, "got 0x%x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%lx\n", hr);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, spacetxtW, AT_FILEEXTENSION, AL_EFFECTIVE, &assocprog);
-    ok(hr == E_INVALIDARG || hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) /*Win8*/, "got 0x%x\n", hr);
+    ok(hr == E_INVALIDARG || hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) /*Win8*/, "got 0x%lx\n", hr);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, httpW, AT_URLPROTOCOL, AL_EFFECTIVE, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%lx\n", hr);
 
     /* AT_FILEEXTENSION must start with a period */
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, txtW, AT_FILEEXTENSION, AL_EFFECTIVE, &assocprog);
-    ok(hr == S_OK, "got 0x%x\n", hr);
+    ok(hr == S_OK, "got 0x%lx\n", hr);
     trace("%s\n", wine_dbgstr_w(assocprog));
     CoTaskMemFree(assocprog);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, emptyW, AT_STARTMENUCLIENT, AL_EFFECTIVE, &assocprog);
-    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), "got 0x%x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), "got 0x%lx\n", hr);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, emptyW, AT_MIMETYPE, AL_EFFECTIVE, &assocprog);
-    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), "got 0x%x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION), "got 0x%lx\n", hr);
 
     hr = IApplicationAssociationRegistration_QueryCurrentDefault(appreg, httpW, AT_URLPROTOCOL, AL_EFFECTIVE, &assocprog);
-    ok(hr == S_OK, "got 0x%x\n", hr);
+    ok(hr == S_OK, "got 0x%lx\n", hr);
     trace("%s\n", wine_dbgstr_w(assocprog));
 
     CoTaskMemFree(assocprog);
@@ -313,7 +313,7 @@ START_TEST(assoc)
         IQueryAssociations_Release(qa);
     }
     else
-        win_skip("IQueryAssociations not supported, 0x%x\n", hr);
+        win_skip("IQueryAssociations not supported, 0x%lx\n", hr);
 
     /* this works since Vista */
     hr = CoCreateInstance(&CLSID_ApplicationAssociationRegistration, NULL, CLSCTX_INPROC_SERVER,
@@ -326,7 +326,7 @@ START_TEST(assoc)
         IApplicationAssociationRegistration_Release(appreg);
     }
     else
-        win_skip("IApplicationAssociationRegistration not supported: 0x%x\n", hr);
+        win_skip("IApplicationAssociationRegistration not supported: 0x%lx\n", hr);
 
     CoUninitialize();
 }
diff --git a/dlls/shell32/tests/autocomplete.c b/dlls/shell32/tests/autocomplete.c
index ce68d21f045..0631126c021 100644
--- a/dlls/shell32/tests/autocomplete.c
+++ b/dlls/shell32/tests/autocomplete.c
@@ -50,7 +50,7 @@ static void test_invalid_init(void)
         win_skip("CLSID_AutoComplete is not registered\n");
         return;
     }
-    ok(hr == S_OK, "no IID_IAutoComplete (0x%08x)\n", hr);
+    ok(hr == S_OK, "no IID_IAutoComplete (0x%08lx)\n", hr);
 
     /* AutoComplete source */
     hr = CoCreateInstance(&CLSID_ACLMulti, NULL, CLSCTX_INPROC_SERVER,
@@ -61,7 +61,7 @@ static void test_invalid_init(void)
         IAutoComplete_Release(ac);
         return;
     }
-    ok(hr == S_OK, "no IID_IACList (0x%08x)\n", hr);
+    ok(hr == S_OK, "no IID_IACList (0x%08lx)\n", hr);
 
     edit_control = CreateWindowExA(0, "EDIT", "Some text", 0, 10, 10, 300, 300,
                        hMainWnd, NULL, hinst, NULL);
@@ -71,14 +71,14 @@ static void test_invalid_init(void)
     hr = IAutoComplete_Init(ac, NULL, acSource, NULL, NULL);
     ok(hr == E_INVALIDARG ||
        broken(hr == S_OK), /* Win2k/XP/Win2k3 */
-       "Init returned 0x%08x\n", hr);
+       "Init returned 0x%08lx\n", hr);
     if (hr == E_INVALIDARG)
     {
         LONG ref;
 
         IUnknown_AddRef(acSource);
         ref = IUnknown_Release(acSource);
-        ok(ref == 1, "Expected AutoComplete source refcount to be 1, got %d\n", ref);
+        ok(ref == 1, "Expected AutoComplete source refcount to be 1, got %ld\n", ref);
     }
 
 if (0)
@@ -88,43 +88,43 @@ if (0)
      * object after this call succeeds would fail, because initialization
      * state is determined by whether a non-NULL window handle is stored. */
     hr = IAutoComplete_Init(ac, (HWND)0xdeadbeef, acSource, NULL, NULL);
-    ok(hr == S_OK, "Init returned 0x%08x\n", hr);
+    ok(hr == S_OK, "Init returned 0x%08lx\n", hr);
 
     /* Tests crash on older Windows. */
     hr = IAutoComplete_Init(ac, NULL, NULL, NULL, NULL);
-    ok(hr == E_INVALIDARG, "Init returned 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Init returned 0x%08lx\n", hr);
 
     hr = IAutoComplete_Init(ac, edit_control, NULL, NULL, NULL);
-    ok(hr == E_INVALIDARG, "Init returned 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Init returned 0x%08lx\n", hr);
 }
 
     /* bind to edit control */
     hr = IAutoComplete_Init(ac, edit_control, acSource, NULL, NULL);
-    ok(hr == S_OK, "Init returned 0x%08x\n", hr);
+    ok(hr == S_OK, "Init returned 0x%08lx\n", hr);
 
     /* try invalid parameters after successful initialization .*/
     hr = IAutoComplete_Init(ac, NULL, NULL, NULL, NULL);
     ok(hr == E_INVALIDARG ||
        hr == E_FAIL, /* Win2k/XP/Win2k3 */
-       "Init returned 0x%08x\n", hr);
+       "Init returned 0x%08lx\n", hr);
 
     hr = IAutoComplete_Init(ac, NULL, acSource, NULL, NULL);
     ok(hr == E_INVALIDARG ||
        hr == E_FAIL, /* Win2k/XP/Win2k3 */
-       "Init returned 0x%08x\n", hr);
+       "Init returned 0x%08lx\n", hr);
 
     hr = IAutoComplete_Init(ac, edit_control, NULL, NULL, NULL);
     ok(hr == E_INVALIDARG ||
        hr == E_FAIL, /* Win2k/XP/Win2k3 */
-       "Init returned 0x%08x\n", hr);
+       "Init returned 0x%08lx\n", hr);
 
     /* try initializing twice on the same control */
     hr = IAutoComplete_Init(ac, edit_control, acSource, NULL, NULL);
-    ok(hr == E_FAIL, "Init returned 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Init returned 0x%08lx\n", hr);
 
     /* try initializing with a different control */
     hr = IAutoComplete_Init(ac, hEdit, acSource, NULL, NULL);
-    ok(hr == E_FAIL, "Init returned 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Init returned 0x%08lx\n", hr);
 
     DestroyWindow(edit_control);
 
@@ -133,7 +133,7 @@ if (0)
     hr = IAutoComplete_Init(ac, hEdit, acSource, NULL, NULL);
     ok(hr == E_UNEXPECTED ||
        hr == E_FAIL, /* Win2k/XP/Win2k3 */
-       "Init returned 0x%08x\n", hr);
+       "Init returned 0x%08lx\n", hr);
 
     IUnknown_Release(acSource);
     IAutoComplete_Release(ac);
@@ -153,7 +153,7 @@ static IAutoComplete *test_init(void)
         win_skip("CLSID_AutoComplete is not registered\n");
         return NULL;
     }
-    ok(r == S_OK, "no IID_IAutoComplete (0x%08x)\n", r);
+    ok(r == S_OK, "no IID_IAutoComplete (0x%08lx)\n", r);
 
     /* AutoComplete source */
     r = CoCreateInstance(&CLSID_ACLMulti, NULL, CLSCTX_INPROC_SERVER,
@@ -164,14 +164,14 @@ static IAutoComplete *test_init(void)
         IAutoComplete_Release(ac);
         return NULL;
     }
-    ok(r == S_OK, "no IID_IACList (0x%08x)\n", r);
+    ok(r == S_OK, "no IID_IACList (0x%08lx)\n", r);
 
     user_data = GetWindowLongPtrA(hEdit, GWLP_USERDATA);
     ok(user_data == 0, "Expected the edit control user data to be zero\n");
 
     /* bind to edit control */
     r = IAutoComplete_Init(ac, hEdit, acSource, NULL, NULL);
-    ok(r == S_OK, "Init returned 0x%08x\n", r);
+    ok(r == S_OK, "Init returned 0x%08lx\n", r);
 
     user_data = GetWindowLongPtrA(hEdit, GWLP_USERDATA);
     ok(user_data == 0, "Expected the edit control user data to be zero\n");
@@ -179,10 +179,10 @@ static IAutoComplete *test_init(void)
     /* bind a different object to the same edit control */
     r = CoCreateInstance(&CLSID_AutoComplete, NULL, CLSCTX_INPROC_SERVER,
                          &IID_IAutoComplete, (LPVOID*)&ac2);
-    ok(r == S_OK, "no IID_IAutoComplete (0x%08x)\n", r);
+    ok(r == S_OK, "no IID_IAutoComplete (0x%08lx)\n", r);
 
     r = IAutoComplete_Init(ac2, hEdit, acSource, NULL, NULL);
-    ok(r == S_OK, "Init returned 0x%08x\n", r);
+    ok(r == S_OK, "Init returned 0x%08lx\n", r);
     IAutoComplete_Release(ac2);
 
     IUnknown_Release(acSource);
@@ -459,7 +459,7 @@ static void check_dropdown_(const char *file, UINT line, IAutoCompleteDropDown *
     HRESULT hr;
 
     hr = IAutoCompleteDropDown_GetDropDownStatus(acdropdown, &flags, &str);
-    ok_(file, line)(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %x\n", hr);
+    ok_(file, line)(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %lx\n", hr);
     if (hr != S_OK) return;
     if (list_num) ok_(file, line)(flags & ACDD_VISIBLE, "AutoComplete DropDown not visible\n");
     else
@@ -480,7 +480,7 @@ static void check_dropdown_(const char *file, UINT line, IAutoCompleteDropDown *
         SendMessageW(hwnd_edit, WM_KEYDOWN, VK_DOWN, 0);
         SendMessageW(hwnd_edit, WM_KEYUP, VK_DOWN, 0xc0000000);
         hr = IAutoCompleteDropDown_GetDropDownStatus(acdropdown, &flags, &str);
-        ok_(file, line)(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %x\n", hr);
+        ok_(file, line)(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %lx\n", hr);
         ok_(file, line)(flags & ACDD_VISIBLE, "AutoComplete DropDown not visible\n");
         if (hr == S_OK)
         {
@@ -555,7 +555,7 @@ static void test_aclist_expand(HWND hwnd_edit, void *enumerator, IAutoCompleteDr
     ok(lstrcmpW(obj->last_expand, str1a) == 0, "Expected %s, got %s\n", wine_dbgstr_w(str1a), wine_dbgstr_w(obj->last_expand));
     ok(obj->num_resets == 6, "Expected 6 resets, got %u\n", obj->num_resets);
     hr = IAutoCompleteDropDown_ResetEnumerator(acdropdown);
-    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %lx\n", hr);
     SendMessageW(hwnd_edit, WM_CHAR, 'o', 1);
     dispatch_messages();
     ok(obj->num_expand == 6, "Expected 6 expansions, got %u\n", obj->num_expand);
@@ -595,17 +595,17 @@ static void test_prefix_filtering(HWND hwnd_edit)
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_AutoComplete, NULL, CLSCTX_INPROC_SERVER, &IID_IAutoComplete2, (void**)&autocomplete);
-    ok(hr == S_OK, "CoCreateInstance failed: %x\n", hr);
+    ok(hr == S_OK, "CoCreateInstance failed: %lx\n", hr);
 
     hr = IAutoComplete2_QueryInterface(autocomplete, &IID_IAutoCompleteDropDown, (LPVOID*)&acdropdown);
-    ok(hr == S_OK, "No IAutoCompleteDropDown interface: %x\n", hr);
+    ok(hr == S_OK, "No IAutoCompleteDropDown interface: %lx\n", hr);
 
     string_enumerator_create((void**)&enumerator, suggestions, ARRAY_SIZE(suggestions));
 
     hr = IAutoComplete2_SetOptions(autocomplete, ACO_FILTERPREFIXES | ACO_AUTOSUGGEST | ACO_AUTOAPPEND);
-    ok(hr == S_OK, "IAutoComplete2_SetOptions failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoComplete2_SetOptions failed: %lx\n", hr);
     hr = IAutoComplete2_Init(autocomplete, hwnd_edit, enumerator, NULL, NULL);
-    ok(hr == S_OK, "IAutoComplete_Init failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoComplete_Init failed: %lx\n", hr);
 
     SendMessageW(hwnd_edit, EM_SETSEL, 0, -1);
     SendMessageW(hwnd_edit, WM_CHAR, 'a', 1);
@@ -711,20 +711,20 @@ static void test_custom_source(void)
     hwnd_edit = CreateWindowA("Edit", "", WS_OVERLAPPED | WS_VISIBLE | WS_CHILD | WS_BORDER, 50, 5, 200, 20, hMainWnd, 0, NULL, 0);
 
     hr = CoCreateInstance(&CLSID_AutoComplete, NULL, CLSCTX_INPROC_SERVER, &IID_IAutoComplete2, (void**)&autocomplete);
-    ok(hr == S_OK, "CoCreateInstance failed: %x\n", hr);
+    ok(hr == S_OK, "CoCreateInstance failed: %lx\n", hr);
 
     hr = IAutoComplete2_QueryInterface(autocomplete, &IID_IAutoCompleteDropDown, (LPVOID*)&acdropdown);
-    ok(hr == S_OK, "No IAutoCompleteDropDown interface: %x\n", hr);
+    ok(hr == S_OK, "No IAutoCompleteDropDown interface: %lx\n", hr);
 
     string_enumerator_create((void**)&enumerator, suggestions, ARRAY_SIZE(suggestions));
     obj = (struct string_enumerator*)enumerator;
 
     hr = IAutoComplete2_SetOptions(autocomplete, ACO_AUTOSUGGEST | ACO_AUTOAPPEND);
-    ok(hr == S_OK, "IAutoComplete2_SetOptions failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoComplete2_SetOptions failed: %lx\n", hr);
     hr = IAutoCompleteDropDown_ResetEnumerator(acdropdown);
-    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %lx\n", hr);
     hr = IAutoComplete2_Init(autocomplete, hwnd_edit, enumerator, NULL, NULL);
-    ok(hr == S_OK, "IAutoComplete_Init failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoComplete_Init failed: %lx\n", hr);
 
     SetFocus(hwnd_edit);
     SendMessageW(hwnd_edit, WM_CHAR, 'a', 1);
@@ -740,7 +740,7 @@ static void test_custom_source(void)
     ok(buffer[0] == '\0', "Expected empty string, got %s\n", wine_dbgstr_w(buffer));
     ok(obj->num_resets == 1, "Expected 1 reset, got %u\n", obj->num_resets);
     hr = IAutoCompleteDropDown_ResetEnumerator(acdropdown);
-    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %lx\n", hr);
     ok(obj->num_resets == 1, "Expected 1 reset, got %u\n", obj->num_resets);
     obj->num_resets = 0;
 
@@ -762,7 +762,7 @@ static void test_custom_source(void)
     SendMessageW(hwnd_edit, WM_GETTEXT, ARRAY_SIZE(buffer), (LPARAM)buffer);
     ok(buffer[0] == '\0', "Expected empty string, got %s\n", wine_dbgstr_w(buffer));
     hr = IAutoCompleteDropDown_ResetEnumerator(acdropdown);
-    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %lx\n", hr);
 
     HijackerWndProc_prev = (WNDPROC)SetWindowLongPtrW(hwnd_edit, GWLP_WNDPROC, (LONG_PTR)HijackerWndProc2);
     SendMessageW(hwnd_edit, WM_CHAR, 'a', 1);
@@ -775,17 +775,17 @@ static void test_custom_source(void)
     /* end of hijacks */
 
     hr = IAutoCompleteDropDown_GetDropDownStatus(acdropdown, &flags, NULL);
-    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %lx\n", hr);
     ok(flags & ACDD_VISIBLE, "AutoComplete DropDown should be visible\n");
     SendMessageW(hwnd_edit, WM_SETTEXT, 0, (LPARAM)str_au);
     dispatch_messages();
     hr = IAutoCompleteDropDown_GetDropDownStatus(acdropdown, &flags, NULL);
-    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %lx\n", hr);
     ok(!(flags & ACDD_VISIBLE), "AutoComplete DropDown should have been hidden\n");
     SendMessageW(hwnd_edit, WM_SETTEXT, 0, (LPARAM)str_aut);
     dispatch_messages();
     hr = IAutoCompleteDropDown_GetDropDownStatus(acdropdown, &flags, NULL);
-    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_GetDropDownStatus failed: %lx\n", hr);
     ok(!(flags & ACDD_VISIBLE), "AutoComplete DropDown should be hidden\n");
     SendMessageW(hwnd_edit, WM_GETTEXT, ARRAY_SIZE(buffer), (LPARAM)buffer);
     ok(lstrcmpW(str_aut, buffer) == 0, "Expected %s, got %s\n", wine_dbgstr_w(str_aut), wine_dbgstr_w(buffer));
@@ -794,7 +794,7 @@ static void test_custom_source(void)
     obj->num_resets = 0;
 
     hr = IAutoCompleteDropDown_ResetEnumerator(acdropdown);
-    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %x\n", hr);
+    ok(hr == S_OK, "IAutoCompleteDropDown_ResetEnumerator failed: %lx\n", hr);
     SendMessageW(hwnd_edit, WM_CHAR, 'x', 1);
     dispatch_messages();
     ok(obj->num_resets == 1, "Expected 1 reset, got %u\n", obj->num_resets);
@@ -821,7 +821,7 @@ START_TEST(autocomplete)
     POINT orig_pos;
 
     r = CoInitialize(NULL);
-    ok(r == S_OK, "CoInitialize failed (0x%08x). Tests aborted.\n", r);
+    ok(r == S_OK, "CoInitialize failed (0x%08lx). Tests aborted.\n", r);
     if (r != S_OK)
         return;
 
diff --git a/dlls/shell32/tests/brsfolder.c b/dlls/shell32/tests/brsfolder.c
index 0888cfa4684..6383e64e27b 100644
--- a/dlls/shell32/tests/brsfolder.c
+++ b/dlls/shell32/tests/brsfolder.c
@@ -177,14 +177,14 @@ static void test_click_make_new_folder_button(void)
     resCoInit = CoInitialize(NULL);
     if(!(resCoInit == S_OK || resCoInit == S_FALSE))
     {
-        skip("COM could not be initialized %u\n", GetLastError());
+        skip("COM could not be initialized %lu\n", GetLastError());
         return;
     }
 
     /* Leave room for concatenating title, two backslashes, and an extra NULL. */
     if (!GetCurrentDirectoryA(MAX_PATH-strlen(title)-3, test_folder_path))
     {
-        skip("GetCurrentDirectoryA failed %u\n", GetLastError());
+        skip("GetCurrentDirectoryA failed %lu\n", GetLastError());
     }
     strcat(test_folder_path, "\\");
     strcat(test_folder_path, title);
@@ -193,7 +193,7 @@ static void test_click_make_new_folder_button(void)
     /* Avoid conflicts by creating a test folder. */
     if (!CreateDirectoryA(title, NULL))
     {
-        skip("CreateDirectoryA failed %u\n", GetLastError());
+        skip("CreateDirectoryA failed %lu\n", GetLastError());
         return;
     }
 
@@ -207,7 +207,7 @@ static void test_click_make_new_folder_button(void)
     MultiByteToWideChar(CP_UTF8, 0, test_folder_path, -1,
         test_folder_pathW, MAX_PATH);
     hr = SHGetDesktopFolder(&test_folder_object);
-    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08x\n", hr);
+    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08lx\n", hr);
     if (FAILED(hr)) {
         skip("SHGetDesktopFolder failed - skipping\n");
         return;
@@ -268,34 +268,34 @@ static int CALLBACK selection_callback(HWND hwnd, UINT uMsg, LPARAM lParam, LPAR
     case BFFM_INITIALIZED:
         /* test with zero values */
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONA, 0, 0);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONW, 0, 0);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
 
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONA, 1, 0);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
 
         if(0)
         {
             /* Crashes on NT4 */
             ret = SendMessageA(hwnd, BFFM_SETSELECTIONW, 1, 0);
-            ok(!ret, "SendMessage returned: %u\n", ret);
+            ok(!ret, "SendMessage returned: %lu\n", ret);
         }
 
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONA, 0, (LPARAM)selected_folder_pidl);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
         ret = SendMessageW(hwnd, BFFM_SETSELECTIONW, 0, (LPARAM)selected_folder_pidl);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
 
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONA, 1, (LPARAM)selected_folder_pidl);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
         ret = SendMessageW(hwnd, BFFM_SETSELECTIONW, 1, (LPARAM)selected_folder_pidl);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
 
         ret = SendMessageA(hwnd, BFFM_SETSELECTIONA, 1, (LPARAM)new_folder_name);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
         ret = SendMessageW(hwnd, BFFM_SETSELECTIONW, 1, (LPARAM)new_folder_name);
-        ok(!ret, "SendMessage returned: %u\n", ret);
+        ok(!ret, "SendMessage returned: %lu\n", ret);
 
         SendMessageA(hwnd, WM_COMMAND, IDOK, 0);
         return 1;
@@ -316,13 +316,13 @@ static void test_selection(void)
     resCoInit = CoInitialize(NULL);
     if(!(resCoInit == S_OK || resCoInit == S_FALSE))
     {
-        skip("COM could not be initialized %u\n", GetLastError());
+        skip("COM could not be initialized %lu\n", GetLastError());
         return;
     }
 
     if (!GetCurrentDirectoryW(MAX_PATH, selected_folderW))
     {
-        skip("GetCurrentDirectoryW failed %u\n", GetLastError());
+        skip("GetCurrentDirectoryW failed %lu\n", GetLastError());
     }
 
     /* Initialize browse info struct for SHBrowseForFolder */
@@ -332,7 +332,7 @@ static void test_selection(void)
     bi.lpfn = selection_callback;
 
     hr = SHGetDesktopFolder(&desktop_object);
-    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08x\n", hr);
+    ok (SUCCEEDED(hr), "SHGetDesktopFolder failed with hr 0x%08lx\n", hr);
     if (FAILED(hr)) {
         skip("SHGetDesktopFolder failed - skipping\n");
         return;
diff --git a/dlls/shell32/tests/ebrowser.c b/dlls/shell32/tests/ebrowser.c
index 7aefd14b377..257084053a7 100644
--- a/dlls/shell32/tests/ebrowser.c
+++ b/dlls/shell32/tests/ebrowser.c
@@ -207,7 +207,7 @@ static HRESULT WINAPI IExplorerPaneVisibility_fnGetPaneState(IExplorerPaneVisibi
 
     ok(ep != NULL, "ep is NULL.\n");
     ok(peps != NULL, "peps is NULL.\n");
-    ok(*peps == 0, "got %d\n", *peps);
+    ok(*peps == 0, "got %ld\n", *peps);
 
     *peps = EPS_FORCE;
     if(IsEqualGUID(&EP_NavPane, ep))                 This->np++;
@@ -505,12 +505,12 @@ static void test_QueryInterface(void)
     LONG lres;
 
     hr = ebrowser_instantiate(&peb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
 #define test_qinterface(iid, exp)                                       \
     do {                                                                \
         hr = IExplorerBrowser_QueryInterface(peb, &iid, (void**)&punk); \
-        ok(hr == exp, "(%s:)Expected (0x%08x), got (0x%08x)\n",         \
+        ok(hr == exp, "(%s:)Expected (0x%08lx), got (0x%08lx)\n",         \
            #iid, exp, hr);                                              \
         if(SUCCEEDED(hr)) IUnknown_Release(punk);                       \
     } while(0)
@@ -536,7 +536,7 @@ static void test_QueryInterface(void)
 #undef test_qinterface
 
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got %d\n", lres);
+    ok(lres == 0, "Got %ld\n", lres);
 }
 
 static void test_SB_misc(void)
@@ -551,7 +551,7 @@ static void test_SB_misc(void)
 
     ebrowser_instantiate(&peb);
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(FAILED(hr))
     {
         skip("Failed to get IShellBrowser interface.\n");
@@ -561,42 +561,42 @@ static void test_SB_misc(void)
     /* Some unimplemented methods */
     retHwnd = (HWND)0xdeadbeef;
     hr = IShellBrowser_GetControlWindow(psb, FCW_TOOLBAR, &retHwnd);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
     ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
 
     retHwnd = (HWND)0xdeadbeef;
     hr = IShellBrowser_GetControlWindow(psb, FCW_STATUS, &retHwnd);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
     ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
 
     retHwnd = (HWND)0xdeadbeef;
     hr = IShellBrowser_GetControlWindow(psb, FCW_TREE, &retHwnd);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
     ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
 
     retHwnd = (HWND)0xdeadbeef;
     hr = IShellBrowser_GetControlWindow(psb, FCW_PROGRESS, &retHwnd);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
     ok(retHwnd == NULL || broken(retHwnd == (HWND)0xdeadbeef), "got %p\n", retHwnd);
 
     /* ::InsertMenuSB */
     hr = IShellBrowser_InsertMenusSB(psb, NULL, NULL);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
 
     /* ::RemoveMenusSB */
     hr = IShellBrowser_RemoveMenusSB(psb, NULL);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
 
     /* ::SetMenuSB */
     hr = IShellBrowser_SetMenuSB(psb, NULL, NULL, NULL);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
 
     /***** Before EB::Initialize *****/
 
     /* ::GetWindow */
     retHwnd = (HWND)0xDEADBEEF;
     hr = IShellBrowser_GetWindow(psb, &retHwnd);
-    ok(hr == E_FAIL, "got (0x%08x)\n", hr);
+    ok(hr == E_FAIL, "got (0x%08lx)\n", hr);
     ok(retHwnd == (HWND)0xDEADBEEF, "HWND overwritten\n");
 
     todo_wine
@@ -605,28 +605,28 @@ static void test_SB_misc(void)
         /* ::SendControlMsg */
         lres = 0xDEADBEEF;
         hr = IShellBrowser_SendControlMsg(psb, FCW_STATUS, 0, 0, 0, &lres);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
-        ok(lres == 0, "lres was %ld\n", lres);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
+        ok(lres == 0, "lres was %Id\n", lres);
 
         lres = 0xDEADBEEF;
         hr = IShellBrowser_SendControlMsg(psb, FCW_TOOLBAR, TB_CHECKBUTTON,
                                           FCIDM_TB_SMALLICON, TRUE, &lres);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
-        ok(lres == 0, "lres was %ld\n", lres);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
+        ok(lres == 0, "lres was %Id\n", lres);
 
         hr = IShellBrowser_SendControlMsg(psb, FCW_STATUS, 0, 0, 0, NULL);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IShellBrowser_SendControlMsg(psb, FCW_TREE, 0, 0, 0, NULL);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IShellBrowser_SendControlMsg(psb, FCW_PROGRESS, 0, 0, 0, NULL);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     }
 
     /* ::QueryActiveShellView */
     hr = IShellBrowser_QueryActiveShellView(psb, (IShellView**)&punk);
-    ok(hr == E_FAIL, "got (0x%08x)\n", hr);
+    ok(hr == E_FAIL, "got (0x%08lx)\n", hr);
 
     /* Initialize ExplorerBrowser */
     ebrowser_initialize(peb);
@@ -635,46 +635,46 @@ static void test_SB_misc(void)
 
     /* ::GetWindow */
     hr = IShellBrowser_GetWindow(psb, &retHwnd);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(GetParent(retHwnd) == hwnd, "The HWND returned is not our child.\n");
 
     todo_wine
     {
         /* ::SendControlMsg */
         hr = IShellBrowser_SendControlMsg(psb, FCW_STATUS, 0, 0, 0, NULL);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         lres = 0xDEADBEEF;
         hr = IShellBrowser_SendControlMsg(psb, FCW_TOOLBAR, 0, 0, 0, &lres);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
-        ok(lres == 0, "lres was %ld\n", lres);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
+        ok(lres == 0, "lres was %Id\n", lres);
 
         lres = 0xDEADBEEF;
         hr = IShellBrowser_SendControlMsg(psb, FCW_STATUS, 0, 0, 0, &lres);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
-        ok(lres == 0, "lres was %ld\n", lres);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
+        ok(lres == 0, "lres was %Id\n", lres);
 
         lres = 0xDEADBEEF;
         hr = IShellBrowser_SendControlMsg(psb, 1234, 0, 0, 0, &lres);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
-        ok(lres == 0, "lres was %ld\n", lres);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
+        ok(lres == 0, "lres was %Id\n", lres);
 
         /* Returns S_OK */
         hr = IShellBrowser_SetStatusTextSB(psb, NULL);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IShellBrowser_ContextSensitiveHelp(psb, FALSE);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IShellBrowser_EnableModelessSB(psb, TRUE);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IShellBrowser_SetToolbarItems(psb, NULL, 1, 1);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     }
 
     hr = IShellBrowser_QueryActiveShellView(psb, (IShellView**)&punk);
-    ok(hr == E_FAIL, "got (0x%08x)\n", hr);
+    ok(hr == E_FAIL, "got (0x%08lx)\n", hr);
 
     IShellBrowser_Release(psb);
     IExplorerBrowser_Destroy(peb);
@@ -687,19 +687,19 @@ static void test_SB_misc(void)
 
     process_msgs();
     hr = ebrowser_browse_to_desktop(peb);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     process_msgs();
 
     /****** After Browsing *****/
 
     hr = IShellBrowser_QueryActiveShellView(psb, (IShellView**)&punk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
     IShellBrowser_Release(psb);
     IExplorerBrowser_Destroy(peb);
     ref = IExplorerBrowser_Release(peb);
-    ok(ref == 0, "Got %d\n", ref);
+    ok(ref == 0, "Got %ld\n", ref);
 }
 
 static void test_initialization(void)
@@ -724,36 +724,36 @@ static void test_initialization(void)
     ZeroMemory(&rc, sizeof(RECT));
 
     hr = IExplorerBrowser_Initialize(peb, NULL, &rc, NULL);
-    ok(hr == E_INVALIDARG, "got (0x%08x)\n", hr);
+    ok(hr == E_INVALIDARG, "got (0x%08lx)\n", hr);
 
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     /* Initialize twice */
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == E_UNEXPECTED, "got (0x%08x)\n", hr);
+    ok(hr == E_UNEXPECTED, "got (0x%08lx)\n", hr);
 
     hr = IExplorerBrowser_Destroy(peb);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     /* Initialize again */
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == E_UNEXPECTED, "got (0x%08x)\n", hr);
+    ok(hr == E_UNEXPECTED, "got (0x%08lx)\n", hr);
 
     /* Destroy again */
     hr = IExplorerBrowser_Destroy(peb);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got %d\n", lres);
+    ok(lres == 0, "Got %ld\n", lres);
 
     /* Initialize with a few different rectangles */
     peb = NULL;
     ebrowser_instantiate(&peb);
     SetRect(&rc, 50, 20, 100, 80);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         RECT eb_rc;
@@ -762,14 +762,14 @@ static void test_initialization(void)
         static const RECT exp_rc = {0, 0, 48, 58};
 
         hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
         GetClientRect(eb_hwnd, &eb_rc);
         ok(EqualRect(&eb_rc, &exp_rc), "Got client rect %s\n", wine_dbgstr_rect(&eb_rc));
 
         GetWindowRect(eb_hwnd, &eb_rc);
-        ok(eb_rc.right - eb_rc.left == 50, "Got window width %d\n", eb_rc.right - eb_rc.left);
-        ok(eb_rc.bottom - eb_rc.top == 60, "Got window height %d\n", eb_rc.bottom - eb_rc.top);
+        ok(eb_rc.right - eb_rc.left == 50, "Got window width %ld\n", eb_rc.right - eb_rc.left);
+        ok(eb_rc.bottom - eb_rc.top == 60, "Got window height %ld\n", eb_rc.bottom - eb_rc.top);
 
         buf[0] = '\0';
         GetClassNameA(eb_hwnd, buf, 1024);
@@ -777,11 +777,11 @@ static void test_initialization(void)
 
         expected_style = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_BORDER;
         style = GetWindowLongPtrW(eb_hwnd, GWL_STYLE);
-        todo_wine ok(style == expected_style, "Got style 0x%08x, expected 0x%08x\n", style, expected_style);
+        todo_wine ok(style == expected_style, "Got style 0x%08lx, expected 0x%08lx\n", style, expected_style);
 
         expected_style = WS_EX_CONTROLPARENT;
         style = GetWindowLongPtrW(eb_hwnd, GWL_EXSTYLE);
-        ok(style == expected_style, "Got exstyle 0x%08x, expected 0x%08x\n", style, expected_style);
+        ok(style == expected_style, "Got exstyle 0x%08lx, expected 0x%08lx\n", style, expected_style);
 
         ok(GetParent(eb_hwnd) == hwnd, "GetParent returns %p\n", GetParent(eb_hwnd));
 
@@ -792,7 +792,7 @@ static void test_initialization(void)
 
         IShellBrowser_Release(psb);
         lres = IExplorerBrowser_Release(peb);
-        ok(lres == 0, "Got refcount %d\n", lres);
+        ok(lres == 0, "Got refcount %ld\n", lres);
     }
     else
     {
@@ -800,26 +800,26 @@ static void test_initialization(void)
 
         IExplorerBrowser_Destroy(peb);
         lres = IExplorerBrowser_Release(peb);
-        ok(lres == 0, "Got refcount %d\n", lres);
+        ok(lres == 0, "Got refcount %ld\n", lres);
     }
 
     /* check window style with EBO_NOBORDER */
     ebrowser_instantiate(&peb);
     hr = IExplorerBrowser_SetOptions(peb, EBO_NOBORDER);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     SetRect(&rc, 50, 20, 100, 80);
 
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     style = GetWindowLongPtrW(eb_hwnd, GWL_STYLE);
-    ok(!(style & WS_BORDER) || broken(style & WS_BORDER) /* before win8 */, "got style 0x%08x\n", style);
+    ok(!(style & WS_BORDER) || broken(style & WS_BORDER) /* before win8 */, "got style 0x%08lx\n", style);
 
     IShellBrowser_Release(psb);
     IExplorerBrowser_Destroy(peb);
@@ -829,34 +829,34 @@ static void test_initialization(void)
     ebrowser_instantiate(&peb);
     SetRectEmpty(&rc);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got refcount %d\n", lres);
+    ok(lres == 0, "Got refcount %ld\n", lres);
 
     ebrowser_instantiate(&peb);
     SetRect(&rc, -1, -1, 1, 1);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got refcount %d\n", lres);
+    ok(lres == 0, "Got refcount %ld\n", lres);
 
     ebrowser_instantiate(&peb);
     SetRect(&rc, 10, 10, 5, 5);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got refcount %d\n", lres);
+    ok(lres == 0, "Got refcount %ld\n", lres);
 
     ebrowser_instantiate(&peb);
     SetRect(&rc, 10, 10, 5, 5);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got refcount %d\n", lres);
+    ok(lres == 0, "Got refcount %ld\n", lres);
 }
 
 static void test_SetSite(void)
@@ -883,13 +883,13 @@ static void test_SetSite(void)
     IExplorerBrowser_SetOptions(peb, EBO_SHOWFRAMES);
 
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IObjectWithSite, (void**)&pow);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         spimpl->interfaces = expected;
 
         hr = IObjectWithSite_SetSite(pow, (IUnknown*)&spimpl->IServiceProvider_iface);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
         if(FAILED(hr))
             IObjectWithSite_Release(pow);
@@ -904,7 +904,7 @@ static void test_SetSite(void)
         IExplorerPaneVisibility_Release(&epvimpl->IExplorerPaneVisibility_iface);
         IExplorerBrowser_Destroy(peb);
         ref = IExplorerBrowser_Release(peb);
-        ok(ref == 0, "Got ref %d\n", ref);
+        ok(ref == 0, "Got ref %ld\n", ref);
 
         return;
     }
@@ -932,52 +932,52 @@ static void test_SetSite(void)
     todo_wine ok(cdbimpl->OnPreviewCreated, "Got %d\n", cdbimpl->OnPreviewCreated);
 
     /* IExplorerPaneVisibility */
-    ok(epvimpl->np, "Got %d\n", epvimpl->np);
-    todo_wine ok(epvimpl->cp, "Got %d\n", epvimpl->cp);
-    todo_wine ok(epvimpl->cp_o, "Got %d\n", epvimpl->cp_o);
-    todo_wine ok(epvimpl->cp_v, "Got %d\n", epvimpl->cp_v);
-    todo_wine ok(epvimpl->dp, "Got %d\n", epvimpl->dp);
-    todo_wine ok(epvimpl->pp, "Got %d\n", epvimpl->pp);
-    ok(!epvimpl->qp, "Got %d\n", epvimpl->qp);
-    ok(!epvimpl->aqp, "Got %d\n", epvimpl->aqp);
-    ok(!epvimpl->unk, "Got %d\n", epvimpl->unk);
+    ok(epvimpl->np, "Got %ld\n", epvimpl->np);
+    todo_wine ok(epvimpl->cp, "Got %ld\n", epvimpl->cp);
+    todo_wine ok(epvimpl->cp_o, "Got %ld\n", epvimpl->cp_o);
+    todo_wine ok(epvimpl->cp_v, "Got %ld\n", epvimpl->cp_v);
+    todo_wine ok(epvimpl->dp, "Got %ld\n", epvimpl->dp);
+    todo_wine ok(epvimpl->pp, "Got %ld\n", epvimpl->pp);
+    ok(!epvimpl->qp, "Got %ld\n", epvimpl->qp);
+    ok(!epvimpl->aqp, "Got %ld\n", epvimpl->aqp);
+    ok(!epvimpl->unk, "Got %ld\n", epvimpl->unk);
 
     /* Test when IServiceProvider is released. */
     IServiceProvider_AddRef(&spimpl->IServiceProvider_iface);
     ref = IServiceProvider_Release(&spimpl->IServiceProvider_iface);
-    ok(ref == 2, "Got ref %d\n", ref);
+    ok(ref == 2, "Got ref %ld\n", ref);
 
     hr = IObjectWithSite_SetSite(pow, NULL);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     IServiceProvider_AddRef(&spimpl->IServiceProvider_iface);
     ref = IServiceProvider_Release(&spimpl->IServiceProvider_iface);
-    ok(ref == 1, "Got ref %d\n", ref);
+    ok(ref == 1, "Got ref %ld\n", ref);
 
     hr = IObjectWithSite_SetSite(pow, (IUnknown*)&spimpl->IServiceProvider_iface);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     IServiceProvider_AddRef(&spimpl->IServiceProvider_iface);
     ref = IServiceProvider_Release(&spimpl->IServiceProvider_iface);
-    ok(ref == 2, "Got ref %d\n", ref);
+    ok(ref == 2, "Got ref %ld\n", ref);
 
     IExplorerBrowser_Destroy(peb);
 
     IServiceProvider_AddRef(&spimpl->IServiceProvider_iface);
     ref = IServiceProvider_Release(&spimpl->IServiceProvider_iface);
-    ok(ref == 2, "Got ref %d\n", ref);
+    ok(ref == 2, "Got ref %ld\n", ref);
 
     IObjectWithSite_Release(pow);
     ref = IExplorerBrowser_Release(peb);
-    ok(ref == 0, "Got ref %d\n", ref);
+    ok(ref == 0, "Got ref %ld\n", ref);
 
     ref = IServiceProvider_Release(&spimpl->IServiceProvider_iface);
-    ok(ref == 0, "Got ref %d\n", ref);
+    ok(ref == 0, "Got ref %ld\n", ref);
 
     ref = ICommDlgBrowser3_Release(&cdbimpl->ICommDlgBrowser3_iface);
-    ok(ref == 0, "Got ref %d\n", ref);
+    ok(ref == 0, "Got ref %ld\n", ref);
     ref = IExplorerPaneVisibility_Release(&epvimpl->IExplorerPaneVisibility_iface);
-    ok(ref == 0, "Got ref %d\n", ref);
+    ok(ref == 0, "Got ref %ld\n", ref);
 }
 
 static void test_basics(void)
@@ -998,23 +998,23 @@ static void test_basics(void)
     /* SetRect */
     SetRectEmpty(&rc);
     hr = IExplorerBrowser_SetRect(peb, NULL, rc);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     SetRect(&rc, 100, 100, 10, 10);
     hr = IExplorerBrowser_SetRect(peb, NULL, rc);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     /* SetRect with DeferWindowPos */
     SetRect(&rc, 0, 0, 10, 10);
     hdwp = BeginDeferWindowPos(1);
     hr = IExplorerBrowser_SetRect(peb, &hdwp, rc);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     lres = EndDeferWindowPos(hdwp);
     ok(lres, "EndDeferWindowPos failed.\n");
 
     hdwp = NULL;
     hr = IExplorerBrowser_SetRect(peb, &hdwp, rc);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(hdwp == NULL, "got %p\n", hdwp);
     lres = EndDeferWindowPos(hdwp);
     ok(!lres, "EndDeferWindowPos succeeded unexpectedly.\n");
@@ -1022,9 +1022,9 @@ static void test_basics(void)
     /* Test positioning */
     SetRect(&rc, 10, 20, 50, 50);
     hr = IExplorerBrowser_SetRect(peb, NULL, rc);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         HWND eb_hwnd;
@@ -1033,7 +1033,7 @@ static void test_basics(void)
         static const RECT exp_rc2 = {11, 21, 49, 24};
 
         hr = IShellBrowser_GetWindow(psb, &eb_hwnd);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
         GetClientRect(eb_hwnd, &eb_rc);
         MapWindowPoints(eb_hwnd, hwnd, (POINT*)&eb_rc, 2);
@@ -1043,14 +1043,14 @@ static void test_basics(void)
         rc.bottom = 25;
         hdwp = (HDWP)0xdeadbeef;
         hr = IExplorerBrowser_SetRect(peb, &hdwp, rc);
-        ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+        ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
         GetClientRect(eb_hwnd, &eb_rc);
         MapWindowPoints(eb_hwnd, hwnd, (POINT*)&eb_rc, 2);
         ok(EqualRect(&eb_rc, &exp_rc), "Got rect %s\n", wine_dbgstr_rect(&eb_rc));
 
         hdwp = NULL;
         hr = IExplorerBrowser_SetRect(peb, &hdwp, rc);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         GetClientRect(eb_hwnd, &eb_rc);
         MapWindowPoints(eb_hwnd, hwnd, (POINT*)&eb_rc, 2);
         ok(EqualRect(&eb_rc, &exp_rc2), "Got rect %s\n", wine_dbgstr_rect(&eb_rc));
@@ -1070,18 +1070,18 @@ static void test_basics(void)
     }
 
     hr = IExplorerBrowser_GetOptions(peb, &flags);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(flags == 0, "got (0x%08x)\n", flags);
 
     /* Settings preserved through Initialize. */
     hr = IExplorerBrowser_SetOptions(peb, 0xDEADBEEF);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     ebrowser_initialize(peb);
 
     hr = IExplorerBrowser_GetOptions(peb, &flags);
     ok(flags == 0xDEADBEEF, "got (0x%08x)\n", flags);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     IExplorerBrowser_Destroy(peb);
     IExplorerBrowser_Release(peb);
@@ -1091,22 +1091,22 @@ static void test_basics(void)
 
     /* SetFolderSettings */
     hr = IExplorerBrowser_SetFolderSettings(peb, NULL);
-    ok(hr == E_INVALIDARG, "got (0x%08x)\n", hr);
+    ok(hr == E_INVALIDARG, "got (0x%08lx)\n", hr);
     fs.ViewMode = 0; fs.fFlags = 0;
     hr = IExplorerBrowser_SetFolderSettings(peb, &fs);
-    todo_wine ok(hr == E_INVALIDARG, "got (0x%08x)\n", hr);
+    todo_wine ok(hr == E_INVALIDARG, "got (0x%08lx)\n", hr);
 
     /* SetPropertyBag */
     hr = IExplorerBrowser_SetPropertyBag(peb, NULL);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     hr = IExplorerBrowser_SetPropertyBag(peb, winetest);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     /* TODO: Test after browsing somewhere. */
 
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got %d\n", lres);
+    ok(lres == 0, "Got %ld\n", lres);
 }
 
 static void test_Advise(void)
@@ -1133,13 +1133,13 @@ static void test_Advise(void)
     /* Using Unadvise with a cookie that has yet to be given out
      * results in E_INVALIDARG */
     hr = IExplorerBrowser_Unadvise(peb, 11);
-    ok(hr == E_INVALIDARG, "got (0x%08x)\n", hr);
+    ok(hr == E_INVALIDARG, "got (0x%08lx)\n", hr);
 
     /* Add some before initialization */
     for(i = 0; i < 5; i++)
     {
         hr = IExplorerBrowser_Advise(peb, pebe, &cookies[i]);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     }
 
     ebrowser_initialize(peb);
@@ -1148,10 +1148,10 @@ static void test_Advise(void)
     for(i = 5; i < 10; i++)
     {
         hr = IExplorerBrowser_Advise(peb, pebe, &cookies[i]);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     }
 
-    ok(ebev.ref == 10, "Got %d\n", ebev.ref);
+    ok(ebev.ref == 10, "Got %ld\n", ebev.ref);
 
     ebev.completed = 0;
     ebrowser_browse_to_desktop(peb);
@@ -1162,7 +1162,7 @@ static void test_Advise(void)
     for(i = 4; i < 8; i++)
     {
         hr = IExplorerBrowser_Unadvise(peb, cookies[i]);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     }
 
     ebev.completed = 0;
@@ -1183,11 +1183,11 @@ static void test_Advise(void)
         if(i<4||i>7)
         {
             hr = IExplorerBrowser_Unadvise(peb, cookies[i]);
-            ok(hr == S_OK, "%d: got (0x%08x)\n", i, hr);
+            ok(hr == S_OK, "%d: got (0x%08lx)\n", i, hr);
         }
     }
 
-    ok(ebev.ref == 0, "Got %d\n", ebev.ref);
+    ok(ebev.ref == 0, "Got %ld\n", ebev.ref);
 
     ebev.completed = 0;
     ebrowser_browse_to_desktop(peb);
@@ -1196,12 +1196,12 @@ static void test_Advise(void)
 
     /* ::Destroy implies ::Unadvise. */
     hr = IExplorerBrowser_Advise(peb, pebe, &cookies[0]);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(ebev.ref == 1, "Got %d\n", ebev.ref);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(ebev.ref == 1, "Got %ld\n", ebev.ref);
 
     hr = IExplorerBrowser_Destroy(peb);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(ebev.ref == 0, "Got %d\n", ebev.ref);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(ebev.ref == 0, "Got %ld\n", ebev.ref);
 
     ref = IExplorerBrowser_Release(peb);
     ok(!ref, "Got %d\n", ref);
@@ -1236,7 +1236,7 @@ static void test_browse_pidl_(IExplorerBrowser *peb, IExplorerBrowserEventsImpl
     ebev->completed = ebev->created = ebev->pending = ebev->failed = 0;
 
     hr = IExplorerBrowser_BrowseToIDList(peb, pidl, uFlags);
-    ok_(file, line) (hr == hr_exp, "BrowseToIDList returned 0x%08x\n", hr);
+    ok_(file, line) (hr == hr_exp, "BrowseToIDList returned 0x%08lx\n", hr);
     process_msgs();
 
     ok_(file, line)
@@ -1257,13 +1257,13 @@ static void test_browse_pidl_sb_(IExplorerBrowser *peb, IExplorerBrowserEventsIm
     HRESULT hr;
 
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IShellBrowser, (void**)&psb);
-    ok_(file, line) (hr == S_OK, "QueryInterface returned 0x%08x\n", hr);
+    ok_(file, line) (hr == S_OK, "QueryInterface returned 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         ebev->completed = ebev->created = ebev->pending = ebev->failed = 0;
 
         hr = IShellBrowser_BrowseObject(psb, pidl, uFlags);
-        ok_(file, line) (hr == hr_exp, "BrowseObject returned 0x%08x\n", hr);
+        ok_(file, line) (hr == hr_exp, "BrowseObject returned 0x%08lx\n", hr);
         process_msgs();
 
         ok_(file, line)
@@ -1309,9 +1309,9 @@ static void test_navigation(void)
     CreateDirectoryW(child_path, NULL);
 
     hr = SHParseDisplayName(current_path, NULL, &pidl_current, 0, NULL);
-    ok(hr == S_OK, "Failed to parse a path, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to parse a path, hr %#lx.\n", hr);
     hr = SHParseDisplayName(child_path, NULL, &pidl_child, 0, NULL);
-    ok(hr == S_OK, "Failed to parse a path, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to parse a path, hr %#lx.\n", hr);
 
     ebrowser_instantiate(&peb);
     ebrowser_initialize(peb);
@@ -1364,16 +1364,16 @@ static void test_navigation(void)
     test_browse_pidl_sb(peb2, &ebev, pidl_current, SBSP_ABSOLUTE, S_OK, 1, 0, 0, 1);
 
     hr = IExplorerBrowser_GetCurrentView(peb, &IID_IFolderView, (void**)&pfv);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         LPITEMIDLIST pidl_relative;
 
         hr = IFolderView_GetFolder(pfv, &IID_IShellFolder, (void**)&psf);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         hr = IShellFolder_ParseDisplayName(psf, NULL, NULL, (LPWSTR)testfolderW,
                                            NULL, &pidl_relative, NULL);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
         /* Browsing to another location here before using the
          * pidl_relative would make ExplorerBrowser in Windows 7 show a
@@ -1414,11 +1414,11 @@ static void test_navigation(void)
     }
 
     hr = IExplorerBrowser_Unadvise(peb, cookie);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     IExplorerBrowser_Destroy(peb);
     process_msgs();
     hr = IExplorerBrowser_Unadvise(peb2, cookie2);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     IExplorerBrowser_Destroy(peb2);
     process_msgs();
 
@@ -1427,42 +1427,42 @@ static void test_navigation(void)
     test_browse_pidl_sb(peb2, &ebev, pidl_child, SBSP_ABSOLUTE, HRESULT_FROM_WIN32(ERROR_BUSY), 0, 0, 0, 0);
 
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got lres %d\n", lres);
+    ok(lres == 0, "Got lres %ld\n", lres);
     lres = IExplorerBrowser_Release(peb2);
-    ok(lres == 0, "Got lres %d\n", lres);
+    ok(lres == 0, "Got lres %ld\n", lres);
 
     /******************************************/
     /* Test some options that affect browsing */
 
     ebrowser_instantiate(&peb);
     hr = IExplorerBrowser_Advise(peb, &ebev.IExplorerBrowserEvents_iface, &cookie);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     hr = IExplorerBrowser_SetOptions(peb, EBO_NAVIGATEONCE);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ebrowser_initialize(peb);
 
     test_browse_pidl(peb, &ebev, pidl_current, 0, S_OK, 1, 1, 0, 1);
     test_browse_pidl(peb, &ebev, pidl_current, 0, E_FAIL, 0, 0, 0, 0);
 
     hr = IExplorerBrowser_SetOptions(peb, 0);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     test_browse_pidl(peb, &ebev, pidl_current, 0, S_OK, 1, 0, 0, 1);
     test_browse_pidl(peb, &ebev, pidl_current, 0, S_OK, 1, 0, 0, 1);
 
     /* Difference in behavior lies where? */
     hr = IExplorerBrowser_SetOptions(peb, EBO_ALWAYSNAVIGATE);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     test_browse_pidl(peb, &ebev, pidl_current, 0, S_OK, 1, 0, 0, 1);
     test_browse_pidl(peb, &ebev, pidl_current, 0, S_OK, 1, 0, 0, 1);
 
     hr = IExplorerBrowser_Unadvise(peb, cookie);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got lres %d\n", lres);
+    ok(lres == 0, "Got lres %ld\n", lres);
 
     /* BrowseToObject tests */
     ebrowser_instantiate(&peb);
@@ -1470,11 +1470,11 @@ static void test_navigation(void)
 
     /* Browse to the desktop by passing an IShellFolder */
     hr = SHGetDesktopFolder(&psf);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = IExplorerBrowser_BrowseToObject(peb, (IUnknown*)psf, SBSP_DEFBROWSER);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
         if(hr == S_OK) process_msgs();
 
         IShellFolder_Release(psf);
@@ -1482,11 +1482,11 @@ static void test_navigation(void)
 
     /* Browse to the current directory by passing a ShellItem */
     hr = pSHCreateShellItem(NULL, NULL, pidl_current, &psi);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = IExplorerBrowser_BrowseToObject(peb, (IUnknown*)psi, SBSP_DEFBROWSER);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
         process_msgs();
 
         IShellItem_Release(psi);
@@ -1494,7 +1494,7 @@ static void test_navigation(void)
 
     IExplorerBrowser_Destroy(peb);
     lres = IExplorerBrowser_Release(peb);
-    ok(lres == 0, "Got lres %d\n", lres);
+    ok(lres == 0, "Got lres %ld\n", lres);
 
     /* Cleanup */
     RemoveDirectoryW(child_path);
@@ -1517,12 +1517,12 @@ static void test_GetCurrentView(void)
         IExplorerBrowser_GetCurrentView(peb, NULL, NULL);
     }
     hr = IExplorerBrowser_GetCurrentView(peb, NULL, (void**)&punk);
-    ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
 #define test_gcv(iid, exp)                                              \
     do {                                                                \
         hr = IExplorerBrowser_GetCurrentView(peb, &iid, (void**)&punk); \
-        ok(hr == exp, "(%s:)Expected (0x%08x), got: (0x%08x)\n",        \
+        ok(hr == exp, "(%s:)Expected (0x%08lx), got: (0x%08lx)\n",        \
            #iid ,exp, hr);                                              \
         if(SUCCEEDED(hr)) IUnknown_Release(punk);                       \
     } while(0)
@@ -1585,7 +1585,7 @@ static void test_InputObject(void)
 
     ebrowser_instantiate(&peb);
     hr = IExplorerBrowser_QueryInterface(peb, &IID_IInputObject, (void**)&pio);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(FAILED(hr))
     {
         win_skip("IInputObject not supported.\n");
@@ -1594,47 +1594,47 @@ static void test_InputObject(void)
 
     /* Before initializing */
     hr = IInputObject_TranslateAcceleratorIO(pio, &msg_a);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_HasFocusIO(pio);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_UIActivateIO(pio, TRUE, &msg_a);
-    todo_wine ok(hr == S_OK, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_HasFocusIO(pio);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_TranslateAcceleratorIO(pio, &msg_a);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     SetRect(&rc, 0, 0, 100, 100);
     hr = IExplorerBrowser_Initialize(peb, hwnd, &rc, NULL);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_HasFocusIO(pio);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_TranslateAcceleratorIO(pio, &msg_a);
-    todo_wine ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
     /* Browse to the desktop */
     SHGetDesktopFolder(&psf);
     hr = IExplorerBrowser_BrowseToObject(peb, (IUnknown*)psf, SBSP_DEFBROWSER);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     IShellFolder_Release(psf);
 
     hr = IInputObject_UIActivateIO(pio, TRUE, &msg_a);
-    todo_wine ok(hr == S_OK, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_HasFocusIO(pio);
-    todo_wine ok(hr == S_OK, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_UIActivateIO(pio, FALSE, &msg_a);
-    todo_wine ok(hr == S_OK, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_HasFocusIO(pio);
-    todo_wine ok(hr == S_OK, "Got 0x%08x\n", hr);
+    todo_wine ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IInputObject_TranslateAcceleratorIO(pio, &msg_a);
     if(hr == S_OK)
@@ -1656,7 +1656,7 @@ static void test_InputObject(void)
         msg_a.wParam = i;
         process_msgs();
         hr = IInputObject_TranslateAcceleratorIO(pio, &msg_a);
-        todo_wine ok(hr == (found ? S_OK : S_FALSE), "Got 0x%08x (%04x)\n", hr, i);
+        todo_wine ok(hr == (found ? S_OK : S_FALSE), "Got 0x%08lx (%04x)\n", hr, i);
         if(i == VK_F5)
             Sleep(1000); /* Needed for w2k8 (64bit) */
     }
@@ -1674,7 +1674,7 @@ static BOOL test_instantiate_control(void)
     HRESULT hr;
 
     hr = ebrowser_instantiate(&peb);
-    ok(hr == S_OK || hr == REGDB_E_CLASSNOTREG, "Got (0x%08x)\n", hr);
+    ok(hr == S_OK || hr == REGDB_E_CLASSNOTREG, "Got (0x%08lx)\n", hr);
     if(FAILED(hr))
         return FALSE;
 
diff --git a/dlls/shell32/tests/msg.h b/dlls/shell32/tests/msg.h
index 74354d17407..a6c16ae05e6 100644
--- a/dlls/shell32/tests/msg.h
+++ b/dlls/shell32/tests/msg.h
@@ -132,14 +132,14 @@ static void ok_sequence_(struct msg_sequence **seq, int sequence_index,
                     {
                         failcount++;
                         ok_(file, line) (FALSE,
-                            "%s: in msg 0x%04x expecting wParam 0x%lx got 0x%lx\n",
+                            "%s: in msg 0x%04x expecting wParam 0x%Ix got 0x%Ix\n",
                             context, expected->message, expected->wParam, actual->wParam);
                     }
                 }
                 else
                 {
                     ok_(file, line) (expected->wParam == actual->wParam,
-                        "%s: in msg 0x%04x expecting wParam 0x%lx got 0x%lx\n",
+                        "%s: in msg 0x%04x expecting wParam 0x%Ix got 0x%Ix\n",
                         context, expected->message, expected->wParam, actual->wParam);
                 }
             }
@@ -152,14 +152,14 @@ static void ok_sequence_(struct msg_sequence **seq, int sequence_index,
                     {
                         failcount++;
                         ok_(file, line) (FALSE,
-                            "%s: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
+                            "%s: in msg 0x%04x expecting lParam 0x%Ix got 0x%Ix\n",
                             context, expected->message, expected->lParam, actual->lParam);
                     }
                 }
                 else
                 {
                     ok_(file, line) (expected->lParam == actual->lParam,
-                        "%s: in msg 0x%04x expecting lParam 0x%lx got 0x%lx\n",
+                        "%s: in msg 0x%04x expecting lParam 0x%Ix got 0x%Ix\n",
                         context, expected->message, expected->lParam, actual->lParam);
                 }
             }
diff --git a/dlls/shell32/tests/recyclebin.c b/dlls/shell32/tests/recyclebin.c
index 9207872d40f..d32c9e672a1 100644
--- a/dlls/shell32/tests/recyclebin.c
+++ b/dlls/shell32/tests/recyclebin.c
@@ -58,7 +58,7 @@ static void test_query_recyclebin(void)
     ok(GetTempFileNameA(temp_path, "trash", 0, buf), "GetTempFileName failed\n");
     buf[strlen(buf) + 1] = '\0';
     hr = pSHQueryRecycleBinA(buf,&info1);
-    ok(hr == S_OK, "SHQueryRecycleBinA failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "SHQueryRecycleBinA failed with error 0x%lx\n", hr);
     ok(info1.i64Size!=0xdeadbeef,"i64Size not set\n");
     ok(info1.i64NumItems!=0xdeadbeef,"i64NumItems not set\n");
     /*create and send a file to the recycle bin*/
@@ -75,7 +75,7 @@ static void test_query_recyclebin(void)
     shfo.lpszProgressTitle = NULL;
     ok(!pSHFileOperationA(&shfo), "Deletion was not successful\n");
     hr = pSHQueryRecycleBinA(buf,&info2);
-    ok(hr == S_OK, "SHQueryRecycleBinA failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "SHQueryRecycleBinA failed with error 0x%lx\n", hr);
     ok(info2.i64Size==info1.i64Size+written,"Expected recycle bin to have 0x%s bytes\n",wine_dbgstr_longlong(info1.i64Size+written));
     ok(info2.i64NumItems==info1.i64NumItems+1,"Expected recycle bin to have 0x%s items\n",wine_dbgstr_longlong(info1.i64NumItems+1));
 }
diff --git a/dlls/shell32/tests/shelldispatch.c b/dlls/shell32/tests/shelldispatch.c
index 860024ae6fa..3894f67dd11 100644
--- a/dlls/shell32/tests/shelldispatch.c
+++ b/dlls/shell32/tests/shelldispatch.c
@@ -33,7 +33,7 @@
 #include "initguid.h"
 
 #define EXPECT_HR(hr,hr_exp) \
-    ok(hr == hr_exp, "got 0x%08x, expected 0x%08x\n", hr, hr_exp)
+    ok(hr == hr_exp, "got 0x%08lx, expected 0x%08lx\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)
@@ -41,7 +41,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, "Unexpected refcount %d, expected %d\n", rc, ref);
+    ok_(__FILE__,line)(rc == ref, "Unexpected refcount %ld, expected %ld\n", rc, ref);
 }
 
 static const WCHAR winetestW[] = {'w','i','n','e','t','e','s','t',0};
@@ -140,24 +140,24 @@ static void test_namespace(void)
     int len, i;
 
     r = CoCreateInstance(&CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, &IID_IShellDispatch, (void **)&sd);
-    ok(SUCCEEDED(r), "Failed to create ShellDispatch object: %#x.\n", r);
+    ok(SUCCEEDED(r), "Failed to create ShellDispatch object: %#lx.\n", r);
 
     disp = NULL;
     r = IShellDispatch_get_Application(sd, &disp);
-    ok(r == S_OK, "Failed to get application pointer, hr %#x.\n", r);
+    ok(r == S_OK, "Failed to get application pointer, hr %#lx.\n", r);
     ok(disp == (IDispatch *)sd, "Unexpected application pointer %p.\n", disp);
     IDispatch_Release(disp);
 
     disp = NULL;
     r = IShellDispatch_get_Parent(sd, &disp);
-    ok(r == S_OK, "Failed to get Shell object parent, hr %#x.\n", r);
+    ok(r == S_OK, "Failed to get Shell object parent, hr %#lx.\n", r);
     ok(disp == (IDispatch *)sd, "Unexpected parent pointer %p.\n", disp);
     IDispatch_Release(disp);
 
     VariantInit(&var);
     folder = (void*)0xdeadbeef;
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(folder == NULL, "expected NULL, got %p\n", folder);
 
     /* test valid folder ids */
@@ -169,9 +169,9 @@ static void test_namespace(void)
         r = IShellDispatch_NameSpace(sd, var, &folder);
         if (special_folders[i] == ssfALTSTARTUP || special_folders[i] == ssfCOMMONALTSTARTUP)
         todo_wine
-            ok(r == S_OK || broken(r == S_FALSE) /* winxp */, "Failed to get folder for index %#x, got %08x\n", special_folders[i], r);
+            ok(r == S_OK || broken(r == S_FALSE) /* winxp */, "Failed to get folder for index %#x, got %08lx\n", special_folders[i], r);
         else
-            ok(r == S_OK, "Failed to get folder for index %#x, got %08x\n", special_folders[i], r);
+            ok(r == S_OK, "Failed to get folder for index %#x, got %08lx\n", special_folders[i], r);
         if (folder)
             Folder_Release(folder);
     }
@@ -180,22 +180,22 @@ static void test_namespace(void)
     V_I4(&var) = -1;
     folder = (void *)0xdeadbeef;
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_FALSE, "Unexpected hr %#x.\n", r);
+    ok(r == S_FALSE, "Unexpected hr %#lx.\n", r);
     ok(folder == NULL, "Unexpected folder instance %p\n", folder);
 
     V_VT(&var) = VT_I4;
     V_I4(&var) = ssfPROGRAMFILES;
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08x\n", r);
+    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08lx\n", r);
     if (r == S_OK)
     {
         static WCHAR path[MAX_PATH];
 
         r = SHGetFolderPathW(NULL, CSIDL_PROGRAM_FILES, NULL, SHGFP_TYPE_CURRENT, path);
-        ok(r == S_OK, "Failed to get folder path: %#x.\n", r);
+        ok(r == S_OK, "Failed to get folder path: %#lx.\n", r);
 
         r = Folder_get_Title(folder, &title);
-        ok(r == S_OK, "Folder::get_Title failed: %08x\n", r);
+        ok(r == S_OK, "Folder::get_Title failed: %08lx\n", r);
         if (r == S_OK)
         {
             /* On Win2000-2003 title is equal to program files directory name in
@@ -208,9 +208,9 @@ static void test_namespace(void)
                 PWSTR name;
 
                 r = SHGetSpecialFolderLocation(NULL, CSIDL_PROGRAM_FILES, &pidl);
-                ok(r == S_OK, "SHGetSpecialFolderLocation failed: %08x\n", r);
+                ok(r == S_OK, "SHGetSpecialFolderLocation failed: %08lx\n", r);
                 r = pSHGetNameFromIDList(pidl, SIGDN_NORMALDISPLAY, &name);
-                ok(r == S_OK, "SHGetNameFromIDList failed: %08x\n", r);
+                ok(r == S_OK, "SHGetNameFromIDList failed: %08lx\n", r);
                 ok(!lstrcmpW(title, name), "expected %s, got %s\n", wine_dbgstr_w(name), wine_dbgstr_w(title));
                 CoTaskMemFree(name);
                 CoTaskMemFree(pidl);
@@ -228,15 +228,15 @@ static void test_namespace(void)
             SysFreeString(title);
         }
         r = Folder_QueryInterface(folder, &IID_Folder2, (LPVOID*)&folder2);
-        ok(r == S_OK, "Folder::QueryInterface failed: %08x\n", r);
+        ok(r == S_OK, "Folder::QueryInterface failed: %08lx\n", r);
         if (r == S_OK)
         {
             r = Folder2_get_Self(folder2, &item);
-            ok(r == S_OK, "Folder::get_Self failed: %08x\n", r);
+            ok(r == S_OK, "Folder::get_Self failed: %08lx\n", r);
             if (r == S_OK)
             {
                 r = FolderItem_get_Path(item, &item_path);
-                ok(r == S_OK, "FolderItem::get_Path failed: %08x\n", r);
+                ok(r == S_OK, "FolderItem::get_Path failed: %08lx\n", r);
                 ok(!lstrcmpiW(item_path, path), "expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(item_path));
                 SysFreeString(item_path);
                 FolderItem_Release(item);
@@ -249,14 +249,14 @@ static void test_namespace(void)
     V_VT(&var) = VT_I4;
     V_I4(&var) = ssfBITBUCKET;
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08x\n", r);
+    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08lx\n", r);
 
     r = Folder_QueryInterface(folder, &IID_Folder2, (void **)&folder2);
-    ok(r == S_OK, "Failed to get Folder2 interface: %#x.\n", r);
+    ok(r == S_OK, "Failed to get Folder2 interface: %#lx.\n", r);
     r = Folder2_get_Self(folder2, &item);
-    ok(r == S_OK, "Folder::get_Self failed: %08x\n", r);
+    ok(r == S_OK, "Folder::get_Self failed: %08lx\n", r);
     r = FolderItem_get_Path(item, &item_path);
-    ok(r == S_OK, "FolderItem::get_Path failed: %08x\n", r);
+    ok(r == S_OK, "FolderItem::get_Path failed: %08lx\n", r);
     /* TODO: we return lowercase GUID here */
     ok(!lstrcmpiW(item_path, clsidW), "expected %s, got %s\n", wine_dbgstr_w(clsidW), wine_dbgstr_w(item_path));
 
@@ -272,7 +272,7 @@ static void test_namespace(void)
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString(winetestW);
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     SysFreeString(V_BSTR(&var));
 
     GetFullPathNameW(winetestW, MAX_PATH, tempW, NULL);
@@ -284,24 +284,24 @@ static void test_namespace(void)
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString(tempW);
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08x\n", r);
+    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08lx\n", r);
 
     disp = (void *)0xdeadbeef;
     r = Folder_get_Parent(folder, &disp);
-    ok(r == E_NOTIMPL, "Unexpected hr %#x.\n", r);
+    ok(r == E_NOTIMPL, "Unexpected hr %#lx.\n", r);
     ok(disp == NULL, "Unexpected parent pointer %p.\n", disp);
 
     r = Folder_get_Title(folder, &title);
-    ok(r == S_OK, "Failed to get folder title: %#x.\n", r);
+    ok(r == S_OK, "Failed to get folder title: %#lx.\n", r);
     ok(!lstrcmpW(title, winetestW), "Unexpected title: %s\n",  wine_dbgstr_w(title));
     SysFreeString(title);
 
     r = Folder_QueryInterface(folder, &IID_Folder2, (void **)&folder2);
-    ok(r == S_OK, "Failed to get Folder2 interface: %#x.\n", r);
+    ok(r == S_OK, "Failed to get Folder2 interface: %#lx.\n", r);
     r = Folder2_get_Self(folder2, &item);
-    ok(r == S_OK, "Folder::get_Self failed: %08x\n", r);
+    ok(r == S_OK, "Folder::get_Self failed: %08lx\n", r);
     r = FolderItem_get_Path(item, &item_path);
-    ok(r == S_OK, "Failed to get item path: %#x.\n", r);
+    ok(r == S_OK, "Failed to get item path: %#lx.\n", r);
     ok(!lstrcmpW(item_path, long_pathW), "Unexpected path %s, got %s\n", wine_dbgstr_w(item_path), wine_dbgstr_w(long_pathW));
     SysFreeString(item_path);
     FolderItem_Release(item);
@@ -317,11 +317,11 @@ static void test_namespace(void)
         V_VT(&var) = VT_BSTR;
         V_BSTR(&var) = SysAllocString(tempW);
         r = IShellDispatch_NameSpace(sd, var, &folder);
-        ok(r == S_OK, "IShellDispatch::NameSpace failed: %08x\n", r);
+        ok(r == S_OK, "IShellDispatch::NameSpace failed: %08lx\n", r);
         if (r == S_OK)
         {
             r = Folder_get_Title(folder, &title);
-            ok(r == S_OK, "Folder::get_Title failed: %08x\n", r);
+            ok(r == S_OK, "Folder::get_Title failed: %08lx\n", r);
             if (r == S_OK)
             {
                 ok(!lstrcmpW(title, winetestW), "bad title: %s\n",
@@ -329,15 +329,15 @@ static void test_namespace(void)
                 SysFreeString(title);
             }
             r = Folder_QueryInterface(folder, &IID_Folder2, (LPVOID*)&folder2);
-            ok(r == S_OK, "Failed to get Folder2 interface: %#x.\n", r);
+            ok(r == S_OK, "Failed to get Folder2 interface: %#lx.\n", r);
             if (r == S_OK)
             {
                 r = Folder2_get_Self(folder2, &item);
-                ok(r == S_OK, "Folder::get_Self failed: %08x\n", r);
+                ok(r == S_OK, "Folder::get_Self failed: %08lx\n", r);
                 if (r == S_OK)
                 {
                     r = FolderItem_get_Path(item, &item_path);
-                    ok(r == S_OK, "FolderItem::get_Path failed: %08x\n", r);
+                    ok(r == S_OK, "FolderItem::get_Path failed: %08lx\n", r);
                     ok(!lstrcmpW(item_path, long_pathW), "Unexpected path %s, got %s\n", wine_dbgstr_w(item_path),
                         wine_dbgstr_w(long_pathW));
                     SysFreeString(item_path);
@@ -393,7 +393,7 @@ static void test_items(void)
     int i;
 
     r = CoCreateInstance(&CLSID_Shell, NULL, CLSCTX_INPROC_SERVER, &IID_IShellDispatch, (void**)&sd);
-    ok(SUCCEEDED(r), "CoCreateInstance failed: %08x\n", r);
+    ok(SUCCEEDED(r), "CoCreateInstance failed: %08lx\n", r);
     ok(!!sd, "sd is null\n");
 
     /* create and enter a temporary directory and a folder object for it */
@@ -401,14 +401,14 @@ static void test_items(void)
     GetCurrentDirectoryW(MAX_PATH, orig_dir);
     SetCurrentDirectoryW(path);
     ret = CreateDirectoryW(winetestW, NULL);
-    ok(ret, "CreateDirectory failed: %08x\n", GetLastError());
+    ok(ret, "CreateDirectory failed: %08lx\n", GetLastError());
     GetFullPathNameW(winetestW, MAX_PATH, path, NULL);
     V_VT(&var) = VT_BSTR;
     V_BSTR(&var) = SysAllocString(path);
 
     EXPECT_REF(sd, 1);
     r = IShellDispatch_NameSpace(sd, var, &folder);
-    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08x\n", r);
+    ok(r == S_OK, "IShellDispatch::NameSpace failed: %08lx\n", r);
     ok(!!folder, "folder is null\n");
     EXPECT_REF(folder, 1);
     EXPECT_REF(sd, 1);
@@ -421,14 +421,14 @@ static void test_items(void)
     /* FolderItems grabs its Folder reference */
     items = NULL;
     r = Folder_Items(folder, &items);
-    ok(r == S_OK, "Folder::Items failed: %08x\n", r);
+    ok(r == S_OK, "Folder::Items failed: %08lx\n", r);
     ok(!!items, "items is null\n");
     EXPECT_REF(folder, 2);
     EXPECT_REF(items, 1);
 
     unk = NULL;
     r = Folder_Items(folder, (FolderItems **)&unk);
-    ok(r == S_OK, "Folder::Items failed: %08x\n", r);
+    ok(r == S_OK, "Folder::Items failed: %08lx\n", r);
     EXPECT_REF(folder, 3);
     IUnknown_Release(unk);
     EXPECT_REF(folder, 2);
@@ -441,18 +441,18 @@ static void test_items(void)
     disp = NULL;
     EXPECT_REF(sd, 1);
     r = Folder_get_Application(folder, &disp);
-    ok(r == S_OK, "Failed to get application %#x.\n", r);
+    ok(r == S_OK, "Failed to get application %#lx.\n", r);
     ok(disp != (IDispatch *)sd, "Unexpected application pointer\n");
     EXPECT_REF(sd, 1);
 
     disp2 = NULL;
     r = Folder_get_Application(folder, &disp2);
-    ok(r == S_OK, "Failed to get application %#x.\n", r);
+    ok(r == S_OK, "Failed to get application %#lx.\n", r);
     ok(disp2 == disp, "Unexpected application pointer\n");
     IDispatch_Release(disp2);
 
     r = IDispatch_QueryInterface(disp, &IID_IShellDispatch, (void **)&disp2);
-    ok(r == S_OK, "Wrong instance, hr %#x.\n", r);
+    ok(r == S_OK, "Wrong instance, hr %#lx.\n", r);
     IDispatch_Release(disp2);
     IDispatch_Release(disp);
 
@@ -460,8 +460,8 @@ static void test_items(void)
         r = FolderItems_get_Count(items, NULL);
 
     r = FolderItems_get_Count(items, &count);
-    ok(r == S_OK, "FolderItems::get_Count failed: %08x\n", r);
-    ok(!count, "expected 0 files, got %d\n", count);
+    ok(r == S_OK, "FolderItems::get_Count failed: %08lx\n", r);
+    ok(!count, "expected 0 files, got %ld\n", count);
 
     V_VT(&var) = VT_I4;
     V_I4(&var) = 0;
@@ -470,7 +470,7 @@ static void test_items(void)
         r = FolderItems_Item(items, var, NULL);
 
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(!item, "item is not null\n");
 
     /* create test files */
@@ -480,16 +480,16 @@ static void test_items(void)
         {
             case DIRECTORY:
                 r = CreateDirectoryA(file_defs[i].name, NULL);
-                ok(r, "CreateDirectory failed: %08x\n", GetLastError());
+                ok(r, "CreateDirectory failed: %08lx\n", GetLastError());
                 PathCombineA(cstr, file_defs[i].name, "foo.txt");
                 file = CreateFileA(cstr, 0, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-                ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08x\n", GetLastError());
+                ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08lx\n", GetLastError());
                 CloseHandle(file);
                 break;
 
             case EMPTY_FILE:
                 file = CreateFileA(file_defs[i].name, 0, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-                ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08x\n", GetLastError());
+                ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08lx\n", GetLastError());
                 CloseHandle(file);
                 break;
         }
@@ -498,23 +498,23 @@ static void test_items(void)
     /* test that get_Count is not aware of the newly created files */
     count = -1;
     r = FolderItems_get_Count(items, &count);
-    ok(r == S_OK, "FolderItems::get_Count failed: %08x\n", r);
-    ok(!count, "expected 0 files, got %d\n", count);
+    ok(r == S_OK, "FolderItems::get_Count failed: %08lx\n", r);
+    ok(!count, "expected 0 files, got %ld\n", count);
 
     /* test that the newly created files CAN be retrieved by string index */
     variant_set_string(&var, file_defs[0].name);
     item = NULL;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_OK, "FolderItems::Item failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::Item failed: %08lx\n", r);
     ok(!!item, "item is null\n");
 
     disp = (void *)0xdeadbeef;
     r = FolderItems_get_Parent(items, &disp);
-    ok(r == E_NOTIMPL, "Unexpected hr %#x.\n", r);
+    ok(r == E_NOTIMPL, "Unexpected hr %#lx.\n", r);
     ok(disp == NULL, "Unexpected parent pointer %p.\n", disp);
 
     r = FolderItem_get_Parent(item, &disp);
-    ok(r == S_OK, "Failed to get parent pointer, hr %#x.\n", r);
+    ok(r == S_OK, "Failed to get parent pointer, hr %#lx.\n", r);
     ok(disp == (IDispatch *)folder, "Unexpected parent pointer %p.\n", disp);
     IDispatch_Release(disp);
 
@@ -525,29 +525,29 @@ static void test_items(void)
     FolderItems_Release(items);
     items = NULL;
     r = Folder_Items(folder, &items);
-    ok(r == S_OK, "Folder::Items failed: %08x\n", r);
+    ok(r == S_OK, "Folder::Items failed: %08lx\n", r);
     ok(!!items, "items is null\n");
     r = FolderItems_QueryInterface(items, &IID_FolderItems2, (void**)&items2);
-    ok(r == S_OK || broken(r == E_NOINTERFACE) /* xp and later */, "FolderItems::QueryInterface failed: %08x\n", r);
+    ok(r == S_OK || broken(r == E_NOINTERFACE) /* xp and later */, "FolderItems::QueryInterface failed: %08lx\n", r);
     if (r == S_OK)
     {
         ok(!!items2, "items2 is null\n");
         FolderItems2_Release(items2);
     }
     r = FolderItems_QueryInterface(items, &IID_FolderItems3, (void**)&items3);
-    ok(r == S_OK, "FolderItems::QueryInterface failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::QueryInterface failed: %08lx\n", r);
     ok(!!items3, "items3 is null\n");
 
     count = -1;
     r = FolderItems_get_Count(items, &count);
-    ok(r == S_OK, "FolderItems::get_Count failed: %08x\n", r);
-    ok(count == ARRAY_SIZE(file_defs), "got %d files\n", count);
+    ok(r == S_OK, "FolderItems::get_Count failed: %08lx\n", r);
+    ok(count == ARRAY_SIZE(file_defs), "got %ld files\n", count);
 
     /* VT_EMPTY */
     V_VT(&var) = VT_EMPTY;
     item = (FolderItem*)0xdeadbeef;
     r = FolderItems_Item(items, var, &item);
-    ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08x\n", r);
+    ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08lx\n", r);
     ok(!item, "item is not null\n");
 
     /* VT_I2 */
@@ -558,15 +558,15 @@ static void test_items(void)
     EXPECT_REF(items, 2);
     item = NULL;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_OK, "FolderItems::Item failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::Item failed: %08lx\n", r);
     ok(!!item, "item is null\n");
     EXPECT_REF(folder, 3);
     EXPECT_REF(items, 2);
 
     r = Folder_get_Application(folder, &disp);
-    ok(r == S_OK, "Failed to get application pointer %#x.\n", r);
+    ok(r == S_OK, "Failed to get application pointer %#lx.\n", r);
     r = FolderItem_get_Application(item, &disp2);
-    ok(r == S_OK, "Failed to get application pointer %#x.\n", r);
+    ok(r == S_OK, "Failed to get application pointer %#lx.\n", r);
     ok(disp == disp2, "Unexpected application pointer.\n");
     IDispatch_Release(disp2);
     IDispatch_Release(disp);
@@ -582,7 +582,7 @@ static void test_items(void)
 
     item = NULL;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_OK, "FolderItems::Item failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::Item failed: %08lx\n", r);
     ok(!!item, "item is null\n");
     FolderItem_Release(item);
 
@@ -591,27 +591,27 @@ static void test_items(void)
     V_I4(&var) = 0;
     item = NULL;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_OK, "FolderItems::Item failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::Item failed: %08lx\n", r);
     ok(!!item, "item is null\n");
     if (item) FolderItem_Release(item);
 
     V_I4(&var) = -1;
     item = (FolderItem*)0xdeadbeef;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(!item, "item is not null\n");
 
     V_VT(&var) = VT_ERROR;
     V_ERROR(&var) = 0;
     item = NULL;
     r = FolderItems_Item(items, var, &item);
-    ok(r == S_OK, "expected S_OK, got %08x\n", r);
+    ok(r == S_OK, "expected S_OK, got %08lx\n", r);
     ok(!!item, "item is null\n");
     if (item)
     {
         bstr = NULL;
         r = FolderItem_get_Path(item, &bstr);
-        ok(r == S_OK, "FolderItem::get_Path failed: %08x\n", r);
+        ok(r == S_OK, "FolderItem::get_Path failed: %08lx\n", r);
         ok(!lstrcmpW(bstr, cur_dir),
            "expected %s, got %s\n", wine_dbgstr_w(cur_dir), wine_dbgstr_w(bstr));
         SysFreeString(bstr);
@@ -631,18 +631,18 @@ static void test_items(void)
 
         item = NULL;
         r = FolderItems_Item(items, int_index, &item);
-        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08lx\n", i, r);
         ok(!!item, "file_defs[%d]: item is null\n", i);
 
         item2 = NULL;
         r = FolderItems_Item(items, int_index, &item2);
-        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08lx\n", i, r);
         ok(item2 != item, "file_defs[%d]: item and item2 are the same\n", i);
         FolderItem_Release(item2);
 
         bstr = NULL;
         r = FolderItem_get_Path(item, &bstr);
-        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08lx\n", i, r);
         PathCombineW(path, cur_dir, V_BSTR(&str_index));
         ok(!lstrcmpW(bstr, path),
            "file_defs[%d]: expected %s, got %s\n", i, wine_dbgstr_w(path), wine_dbgstr_w(bstr));
@@ -650,7 +650,7 @@ static void test_items(void)
 
         bstr = a2bstr(file_defs[i].name);
         r = FolderItem_get_Name(item, &name);
-        ok(r == S_OK, "Failed to get item name, hr %#x.\n", r);
+        ok(r == S_OK, "Failed to get item name, hr %#lx.\n", r);
         /* Returned display name does not have to strictly match file name, e.g. extension could be omitted. */
         ok(lstrlenW(name) <= lstrlenW(bstr), "file_defs[%d]: unexpected name length.\n", i);
         ok(!memcmp(bstr, name, lstrlenW(name) * sizeof(WCHAR)), "file_defs[%d]: unexpected name %s.\n", i, wine_dbgstr_w(name));
@@ -661,12 +661,12 @@ static void test_items(void)
 
         item = NULL;
         r = FolderItems_Item(items, str_index, &item);
-        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08lx\n", i, r);
         ok(!!item, "file_defs[%d]: item is null\n", i);
 
         bstr = NULL;
         r = FolderItem_get_Path(item, &bstr);
-        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08lx\n", i, r);
         PathCombineW(path, cur_dir, V_BSTR(&str_index));
         ok(!lstrcmpW(bstr, path),
            "file_defs[%d]: expected %s, got %s\n", i, wine_dbgstr_w(path), wine_dbgstr_w(bstr));
@@ -674,7 +674,7 @@ static void test_items(void)
 
         b = 0xdead;
         r = FolderItem_get_IsFolder(item, &b);
-        ok(r == S_OK, "Failed to get IsFolder property, %#x.\n", r);
+        ok(r == S_OK, "Failed to get IsFolder property, %#lx.\n", r);
         ok(file_defs[i].type == DIRECTORY ? b == VARIANT_TRUE : b == VARIANT_FALSE, "Unexpected prop value %#x.\n", b);
 
         FolderItem_Release(item);
@@ -686,14 +686,14 @@ static void test_items(void)
             variant_set_string(&str_index2, cstr);
             item2 = NULL;
             r = FolderItems_Item(items, str_index2, &item2);
-            ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08x\n", i, r);
+            ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08lx\n", i, r);
             ok(!!item2, "file_defs[%d]: item is null\n", i);
             if (item2) FolderItem_Release(item2);
             VariantClear(&str_index2);
 
             /* delete the file in the subdirectory */
             ret = DeleteFileA(cstr);
-            ok(ret, "file_defs[%d]: DeleteFile failed: %08x\n", i, GetLastError());
+            ok(ret, "file_defs[%d]: DeleteFile failed: %08lx\n", i, GetLastError());
 
             /* test that getting an item object via a relative path fails */
             strcpy(cstr, file_defs[i].name);
@@ -702,29 +702,29 @@ static void test_items(void)
             variant_set_string(&str_index2, cstr);
             item2 = (FolderItem*)0xdeadbeef;
             r = FolderItems_Item(items, str_index2, &item2);
-            ok(r == S_FALSE, "file_defs[%d]: expected S_FALSE, got %08x\n", i, r);
+            ok(r == S_FALSE, "file_defs[%d]: expected S_FALSE, got %08lx\n", i, r);
             ok(!item2, "file_defs[%d]: item is not null\n", i);
             VariantClear(&str_index2);
 
             /* remove the directory */
             ret = RemoveDirectoryA(file_defs[i].name);
-            ok(ret, "file_defs[%d]: RemoveDirectory failed: %08x\n", i, GetLastError());
+            ok(ret, "file_defs[%d]: RemoveDirectory failed: %08lx\n", i, GetLastError());
         }
         else
         {
             ret = DeleteFileA(file_defs[i].name);
-            ok(ret, "file_defs[%d]: DeleteFile failed: %08x\n", i, GetLastError());
+            ok(ret, "file_defs[%d]: DeleteFile failed: %08lx\n", i, GetLastError());
         }
 
         /* test that the folder item is still accessible by integer index */
         item = NULL;
         r = FolderItems_Item(items, int_index, &item);
-        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItems::Item failed: %08lx\n", i, r);
         ok(!!item, "file_defs[%d]: item is null\n", i);
 
         bstr = NULL;
         r = FolderItem_get_Path(item, &bstr);
-        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08x\n", i, r);
+        ok(r == S_OK, "file_defs[%d]: FolderItem::get_Path failed: %08lx\n", i, r);
         PathCombineW(path, cur_dir, V_BSTR(&str_index));
         ok(!lstrcmpW(bstr, path),
            "file_defs[%d]: expected %s, got %s\n", i, wine_dbgstr_w(path), wine_dbgstr_w(bstr));
@@ -735,7 +735,7 @@ static void test_items(void)
         /* test that the folder item is no longer accessible by string index */
         item = (FolderItem*)0xdeadbeef;
         r = FolderItems_Item(items, str_index, &item);
-        ok(r == S_FALSE, "file_defs[%d]: expected S_FALSE, got %08x\n", i, r);
+        ok(r == S_FALSE, "file_defs[%d]: expected S_FALSE, got %08lx\n", i, r);
         ok(!item, "file_defs[%d]: item is not null\n", i);
 
         VariantClear(&str_index);
@@ -745,20 +745,20 @@ static void test_items(void)
     V_I4(&int_index) = ARRAY_SIZE(file_defs);
     item = (FolderItem*)0xdeadbeef;
     r = FolderItems_Item(items, int_index, &item);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(!item, "item is not null\n");
 
     if (0) /* crashes on xp */
     {
         r = FolderItems_get_Application(items, NULL);
-        ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08x\n", r);
+        ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08lx\n", r);
     }
 
     r = FolderItems_get_Application(items, &disp);
-    ok(r == S_OK, "FolderItems::get_Application failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::get_Application failed: %08lx\n", r);
 
     r = Folder_get_Application(folder, &disp2);
-    ok(r == S_OK, "Failed to get application pointer, hr %#x.\n", r);
+    ok(r == S_OK, "Failed to get application pointer, hr %#lx.\n", r);
     ok(disp == disp2, "Unexpected application pointer.\n");
     IDispatch_Release(disp2);
     IDispatch_Release(disp);
@@ -766,23 +766,23 @@ static void test_items(void)
     if (0) /* crashes on xp */
     {
         r = FolderItems_get_Parent(items, NULL);
-        ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08x\n", r);
+        ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08lx\n", r);
     }
 
     disp = (IDispatch*)0xdeadbeef;
     r = FolderItems_get_Parent(items, &disp);
-    ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08x\n", r);
+    ok(r == E_NOTIMPL, "expected E_NOTIMPL, got %08lx\n", r);
     ok(!disp, "disp is not null\n");
 
     if (0) /* crashes on xp */
     {
         r = FolderItems__NewEnum(items, NULL);
-        ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08x\n", r);
+        ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08lx\n", r);
     }
 
     r = FolderItems__NewEnum(items, &unk);
     todo_wine
-    ok(r == S_OK, "FolderItems::_NewEnum failed: %08x\n", r);
+    ok(r == S_OK, "FolderItems::_NewEnum failed: %08lx\n", r);
     todo_wine
     ok(!!unk, "unk is null\n");
     if (unk) IUnknown_Release(unk);
@@ -791,17 +791,17 @@ static void test_items(void)
     {
         r = FolderItems3_Filter(items3, 0, NULL);
         todo_wine
-        ok(r == S_OK, "expected S_OK, got %08x\n", r);
+        ok(r == S_OK, "expected S_OK, got %08lx\n", r);
 
         if (0) /* crashes on xp */
         {
             r = FolderItems3_get_Verbs(items3, NULL);
-            ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08x\n", r);
+            ok(r == E_INVALIDARG, "expected E_INVALIDARG, got %08lx\n", r);
         }
 
         r = FolderItems3_get_Verbs(items3, &verbs);
         todo_wine
-        ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+        ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
         ok(!verbs, "verbs is not null\n");
     }
 
@@ -809,26 +809,26 @@ static void test_items(void)
     GetTempPathW(MAX_PATH, path);
     SetCurrentDirectoryW(path);
     ret = RemoveDirectoryW(winetestW);
-    ok(ret, "RemoveDirectory failed: %08x\n", GetLastError());
+    ok(ret, "RemoveDirectory failed: %08lx\n", GetLastError());
     SetCurrentDirectoryW(orig_dir);
 
     /* test that everything stops working after the directory has been removed */
     count = -1;
     r = FolderItems_get_Count(items, &count);
-    ok(r == S_OK, "FolderItems::get_Count failed: %08x\n", r);
-    ok(!count, "expected 0 files, got %d\n", count);
+    ok(r == S_OK, "FolderItems::get_Count failed: %08lx\n", r);
+    ok(!count, "expected 0 files, got %ld\n", count);
 
     item = NULL;
     V_I4(&int_index) = 0;
     item = (FolderItem*)0xdeadbeef;
     r = FolderItems_Item(items, int_index, &item);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(!item, "item is not null\n");
 
     variant_set_string(&str_index, file_defs[0].name);
     item = (FolderItem*)0xdeadbeef;
     r = FolderItems_Item(items, str_index, &item);
-    ok(r == S_FALSE, "expected S_FALSE, got %08x\n", r);
+    ok(r == S_FALSE, "expected S_FALSE, got %08lx\n", r);
     ok(!item, "item is not null\n");
     VariantClear(&str_index);
 
@@ -904,14 +904,14 @@ static void test_dispatch_typeinfo(IDispatch *disp, REFIID *riid)
 
     count = 10;
     hr = IDispatch_GetTypeInfoCount(disp, &count);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(count == 1, "got %u\n", count);
 
     hr = IDispatch_GetTypeInfo(disp, 0, LOCALE_SYSTEM_DEFAULT, &typeinfo);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = ITypeInfo_GetTypeAttr(typeinfo, &typeattr);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     while (!IsEqualGUID(*riid, &IID_NULL)) {
         if (IsEqualGUID(&typeattr->guid, *riid))
             break;
@@ -943,37 +943,37 @@ static void test_ShellFolderViewDual(void)
 
     /* IShellFolderViewDual is not an IShellView extension */
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_IShellFolderViewDual, (void**)&viewdual);
-    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+    ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IDispatch, (void**)&disp);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IDispatch, (void**)&disp2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(disp2 == disp, "got %p, %p\n", disp2, disp);
     IDispatch_Release(disp2);
 
     hr = IDispatch_QueryInterface(disp, &IID_IShellFolderViewDual, (void**)&viewdual);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(disp == (IDispatch*)viewdual, "got %p, expected %p\n", viewdual, disp);
 
     hr = IShellFolderViewDual_QueryInterface(viewdual, &IID_IShellView, (void**)&view2);
-    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+    ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
     /* get_Application() */
 
 if (0) /* crashes on pre-vista */ {
     hr = IShellFolderViewDual_get_Application(viewdual, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 }
     hr = IShellFolderViewDual_get_Application(viewdual, &disp2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(disp2 != (IDispatch*)viewdual, "got %p, %p\n", disp2, viewdual);
     test_dispatch_typeinfo(disp2, shelldisp_riids);
     IDispatch_Release(disp2);
@@ -983,27 +983,27 @@ if (0) /* crashes on pre-vista */ {
 
     disp = (void*)0xdeadbeef;
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IShellFolderViewDual, (void**)&disp);
-    ok(hr == E_NOINTERFACE || broken(hr == E_NOTIMPL) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == E_NOINTERFACE || broken(hr == E_NOTIMPL) /* win2k */, "got 0x%08lx\n", hr);
     ok(disp == NULL, "got %p\n", disp);
     IShellView_Release(view);
 
     /* Try with some other folder, that's not a desktop */
     GetTempPathW(ARRAY_SIZE(pathW), pathW);
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, pathW, NULL, &pidl, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellFolder_BindToObject(desktop, pidl, NULL, &IID_IShellFolder, (void**)&tmpdir);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     CoTaskMemFree(pidl);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_IShellFolderViewDual, (void**)&viewdual);
-    ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+    ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IDispatch, (void**)&disp);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     IDispatch_Release(disp);
     IShellView_Release(view);
 
@@ -1023,36 +1023,36 @@ static void test_ShellWindows(void)
 
     hr = CoCreateInstance(&CLSID_ShellWindows, NULL, CLSCTX_LOCAL_SERVER,
         &IID_IShellWindows, (void**)&shellwindows);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     /* TODO: remove when explorer startup with clean prefix is fixed */
     if (hr != S_OK)
         return;
 
     hr = IShellWindows_Register(shellwindows, NULL, 0, SWC_EXPLORER, NULL);
-    ok(hr == HRESULT_FROM_WIN32(RPC_X_NULL_REF_POINTER), "got 0x%08x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(RPC_X_NULL_REF_POINTER), "got 0x%08lx\n", hr);
 
     hr = IShellWindows_Register(shellwindows, NULL, 0, SWC_EXPLORER, &cookie);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "got 0x%08lx\n", hr);
 
     hr = IShellWindows_Register(shellwindows, (IDispatch*)shellwindows, 0, SWC_EXPLORER, &cookie);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "got 0x%08lx\n", hr);
 
     hr = IShellWindows_Register(shellwindows, (IDispatch*)shellwindows, 0, SWC_EXPLORER, &cookie);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "got 0x%08lx\n", hr);
 
     hwnd = CreateWindowExA(0, "button", "test", BS_CHECKBOX | WS_VISIBLE | WS_POPUP,
                            0, 0, 50, 14, 0, 0, 0, NULL);
-    ok(hwnd != NULL, "got %p, error %d\n", hwnd, GetLastError());
+    ok(hwnd != NULL, "got %p, error %ld\n", hwnd, GetLastError());
 
     cookie = 0;
     hr = IShellWindows_Register(shellwindows, NULL, HandleToLong(hwnd), SWC_EXPLORER, &cookie);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(cookie != 0, "got %d\n", cookie);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
+    ok(cookie != 0, "got %ld\n", cookie);
 
     cookie2 = 0;
     hr = IShellWindows_Register(shellwindows, NULL, HandleToLong(hwnd), SWC_EXPLORER, &cookie2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(cookie2 != 0 && cookie2 != cookie, "got %d\n", cookie2);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
+    ok(cookie2 != 0 && cookie2 != cookie, "got %ld\n", cookie2);
 
     pidl = ILCreateFromPathA("C:\\");
     V_VT(&v) = VT_ARRAY | VT_UI1;
@@ -1061,51 +1061,51 @@ static void test_ShellWindows(void)
 
     VariantInit(&v2);
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v2, SWC_EXPLORER, &ret, 0, &disp);
-    ok(hr == S_FALSE, "Got hr %#x.\n", hr);
-    ok(!ret, "Got window %#x.\n", ret);
+    ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
+    ok(!ret, "Got window %#lx.\n", ret);
     ok(!disp, "Got IDispatch %p.\n", &disp);
 
     hr = IShellWindows_OnNavigate(shellwindows, 0, &v);
-    ok(hr == E_INVALIDARG, "Got hr %#x.\n", hr);
+    ok(hr == E_INVALIDARG, "Got hr %#lx.\n", hr);
 
     hr = IShellWindows_OnNavigate(shellwindows, cookie, &v);
-    ok(hr == S_OK, "Got hr %#x.\n", hr);
+    ok(hr == S_OK, "Got hr %#lx.\n", hr);
 
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v2, SWC_EXPLORER, &ret, 0, &disp);
-    ok(hr == S_OK, "Got hr %#x.\n", hr);
-    ok(ret == (LONG)(LONG_PTR)hwnd, "Expected %p, got %#x.\n", hwnd, ret);
+    ok(hr == S_OK, "Got hr %#lx.\n", hr);
+    ok(ret == (LONG)(LONG_PTR)hwnd, "Expected %p, got %#lx.\n", hwnd, ret);
     ok(!disp, "Got IDispatch %p.\n", &disp);
 
     hr = IShellWindows_Revoke(shellwindows, cookie);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v2, SWC_EXPLORER, &ret, 0, &disp);
-    ok(hr == S_FALSE, "Got hr %#x.\n", hr);
-    ok(!ret, "Got window %#x.\n", ret);
+    ok(hr == S_FALSE, "Got hr %#lx.\n", hr);
+    ok(!ret, "Got window %#lx.\n", ret);
     ok(!disp, "Got IDispatch %p.\n", &disp);
 
     hr = IShellWindows_Revoke(shellwindows, cookie2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellWindows_Revoke(shellwindows, 0);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "got 0x%08lx\n", hr);
 
     /* we can register ourselves as desktop, but FindWindowSW still returns real desktop window */
     cookie = 0;
     hr = IShellWindows_Register(shellwindows, NULL, HandleToLong(hwnd), SWC_DESKTOP, &cookie);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(cookie != 0, "got %d\n", cookie);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
+    ok(cookie != 0, "got %ld\n", cookie);
 
     disp = (void*)0xdeadbeef;
     ret = 0xdead;
     VariantInit(&v);
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v, SWC_DESKTOP, &ret, SWFO_NEEDDISPATCH, &disp);
-    ok(hr == S_OK || broken(hr == S_FALSE), "got 0x%08x\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE), "got 0x%08lx\n", hr);
     if (hr == S_FALSE) /* winxp and earlier */ {
         win_skip("SWC_DESKTOP is not supported, some tests will be skipped.\n");
         /* older versions allowed to register SWC_DESKTOP and access it with FindWindowSW */
         ok(disp == NULL, "got %p\n", disp);
-        ok(ret == 0, "got %d\n", ret);
+        ok(ret == 0, "got %ld\n", ret);
     }
     else {
         static const IID *browser_riids[] = {
@@ -1127,27 +1127,27 @@ static void test_ShellWindows(void)
         IUnknown *unk;
 
         ok(disp != NULL, "got %p\n", disp);
-        ok(ret != HandleToUlong(hwnd), "got %d\n", ret);
+        ok(ret != HandleToUlong(hwnd), "got %ld\n", ret);
 
         /* IDispatch-related tests */
         test_dispatch_typeinfo(disp, browser_riids);
 
         /* IWebBrowser2 */
         hr = IDispatch_QueryInterface(disp, &IID_IWebBrowser2, (void**)&wb);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IWebBrowser2_Refresh(wb);
         todo_wine
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IWebBrowser2_get_Application(wb, &app);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         ok(disp == app, "got %p, %p\n", app, disp);
         IDispatch_Release(app);
 
         hr = IWebBrowser2_get_Document(wb, &doc);
         todo_wine
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 if (hr == S_OK) {
         test_dispatch_typeinfo(doc, viewdual_riids);
 }
@@ -1155,51 +1155,51 @@ if (hr == S_OK) {
 
         /* IServiceProvider */
         hr = IDispatch_QueryInterface(disp, &IID_IShellFolderViewDual, (void**)&view);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IDispatch_QueryInterface(disp, &IID_IServiceProvider, (void**)&sp);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IShellBrowser, (void**)&sb);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IShellBrowser, (void**)&sb2);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         ok(sb == sb2, "got %p, %p\n", sb, sb2);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IOleWindow, (void**)&unk);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         IUnknown_Release(unk);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IExplorerBrowser, (void**)&unk);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IShellBrowser_QueryInterface(sb, &IID_IExplorerBrowser, (void**)&unk);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IShellBrowser_QueryInterface(sb, &IID_IWebBrowser2, (void**)&unk);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IShellBrowser_QueryInterface(sb, &IID_IDispatch, (void**)&unk);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IShellBrowser_QueryActiveShellView(sb, &sv);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         IShellView_Release(sv);
 
         IShellBrowser_Release(sb2);
         IShellBrowser_Release(sb);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IUnknown, (void**)&unk);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IUnknown_QueryInterface(unk, &IID_IShellBrowser, (void**)&sb2);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         IShellBrowser_Release(sb2);
         IUnknown_Release(unk);
 
         hr = IServiceProvider_QueryService(sp, &SID_STopLevelBrowser, &IID_IShellView, (void**)&sv);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         IServiceProvider_Release(sp);
         IDispatch_Release(disp);
@@ -1209,9 +1209,9 @@ if (hr == S_OK) {
     ret = 0xdead;
     VariantInit(&v);
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v, SWC_DESKTOP, &ret, 0, &disp);
-    ok(hr == S_OK || broken(hr == S_FALSE) /* winxp */, "got 0x%08x\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE) /* winxp */, "got 0x%08lx\n", hr);
     ok(disp == NULL, "got %p\n", disp);
-    ok(ret != HandleToUlong(hwnd), "got %d\n", ret);
+    ok(ret != HandleToUlong(hwnd), "got %ld\n", ret);
 
     disp = (void*)0xdeadbeef;
     ret = 0xdead;
@@ -1220,12 +1220,12 @@ if (hr == S_OK) {
     VariantInit(&v2);
     hr = IShellWindows_FindWindowSW(shellwindows, &v, &v2, SWC_BROWSER, &ret, SWFO_COOKIEPASSED, &disp);
     todo_wine
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "got 0x%08lx\n", hr);
     ok(disp == NULL, "got %p\n", disp);
-    ok(ret == 0, "got %d\n", ret);
+    ok(ret == 0, "got %ld\n", ret);
 
     hr = IShellWindows_Revoke(shellwindows, cookie);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     DestroyWindow(hwnd);
     IShellWindows_Release(shellwindows);
 }
@@ -1243,25 +1243,25 @@ static void test_ParseName(void)
 
     hr = CoCreateInstance(&CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
         &IID_IShellDispatch, (void**)&sd);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     GetTempPathW(ARRAY_SIZE(pathW), pathW);
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = SysAllocString(pathW);
     hr = IShellDispatch_NameSpace(sd, v, &folder);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     VariantClear(&v);
 
     item = (void*)0xdeadbeef;
     hr = Folder_ParseName(folder, NULL, &item);
-    ok(hr == S_FALSE || broken(hr == E_INVALIDARG) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE || broken(hr == E_INVALIDARG) /* win2k */, "got 0x%08lx\n", hr);
     ok(item == NULL, "got %p\n", item);
 
     /* empty name */
     str = SysAllocStringLen(NULL, 0);
     item = (void*)0xdeadbeef;
     hr = Folder_ParseName(folder, str, &item);
-    ok(hr == S_FALSE || broken(hr == E_INVALIDARG) /* win2k */, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE || broken(hr == E_INVALIDARG) /* win2k */, "got 0x%08lx\n", hr);
     ok(item == NULL, "got %p\n", item);
     SysFreeString(str);
 
@@ -1270,7 +1270,7 @@ static void test_ParseName(void)
     item = (void*)0xdeadbeef;
     hr = Folder_ParseName(folder, str, &item);
     ok(hr == S_FALSE || broken(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND)) /* win2k */,
-        "got 0x%08x\n", hr);
+        "got 0x%08lx\n", hr);
     ok(item == NULL, "got %p\n", item);
     SysFreeString(str);
 
@@ -1280,12 +1280,12 @@ static void test_ParseName(void)
     str = SysAllocString(cadabraW);
     item = NULL;
     hr = Folder_ParseName(folder, str, &item);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(item != NULL, "got %p\n", item);
     SysFreeString(str);
 
     hr = FolderItem_get_Path(item, &str);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(str[0] != 0, "path %s\n", wine_dbgstr_w(str));
     SysFreeString(str);
 
@@ -1312,59 +1312,59 @@ static void test_Verbs(void)
 
     hr = CoCreateInstance(&CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
         &IID_IShellDispatch, (void**)&sd);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     GetTempPathW(ARRAY_SIZE(pathW), pathW);
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = SysAllocString(pathW);
     hr = IShellDispatch_NameSpace(sd, v, &folder);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     VariantClear(&v);
 
     hr = Folder_QueryInterface(folder, &IID_Folder2, (void**)&folder2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     Folder_Release(folder);
 
     hr = Folder2_get_Self(folder2, &item);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     Folder2_Release(folder2);
 
 if (0) { /* crashes on some systems */
     hr = FolderItem_Verbs(item, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 }
     hr = FolderItem_Verbs(item, &verbs);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = FolderItem_Verbs(item, &verbs2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(verbs2 != verbs, "Unexpected verbs pointer.\n");
     FolderItemVerbs_Release(verbs2);
 
     disp = (void *)0xdeadbeef;
     hr = FolderItemVerbs_get_Application(verbs, &disp);
-    ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(disp == NULL, "Unexpected application pointer.\n");
 
     disp = (void *)0xdeadbeef;
     hr = FolderItemVerbs_get_Parent(verbs, &disp);
-    ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+    ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
     ok(disp == NULL, "Unexpected parent pointer %p.\n", disp);
 
 if (0) { /* crashes on winxp/win2k3 */
     hr = FolderItemVerbs_get_Count(verbs, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 }
     count = 0;
     hr = FolderItemVerbs_get_Count(verbs, &count);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(count > 0, "got count %d\n", count);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
+    ok(count > 0, "got count %ld\n", count);
 
 if (0) { /* crashes on winxp/win2k3 */
     V_VT(&v) = VT_I4;
     V_I4(&v) = 0;
     hr = FolderItemVerbs_Item(verbs, v, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 }
     /* there's always one item more, so you can access [0,count],
        instead of actual [0,count) */
@@ -1372,21 +1372,21 @@ if (0) { /* crashes on winxp/win2k3 */
         V_VT(&v) = VT_I4;
         V_I4(&v) = i;
         hr = FolderItemVerbs_Item(verbs, v, &verb);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         hr = FolderItemVerb_get_Name(verb, &str);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
-        ok(str != NULL, "%d: name %s\n", i, wine_dbgstr_w(str));
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
+        ok(str != NULL, "%ld: name %s\n", i, wine_dbgstr_w(str));
         if (i == count)
-            ok(str[0] == 0, "%d: got terminating item %s\n", i, wine_dbgstr_w(str));
+            ok(str[0] == 0, "%ld: got terminating item %s\n", i, wine_dbgstr_w(str));
 
         disp = (void *)0xdeadbeef;
         hr = FolderItemVerb_get_Parent(verb, &disp);
-        ok(hr == E_NOTIMPL, "got %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "got %#lx.\n", hr);
         ok(disp == NULL, "Unexpected parent pointer %p.\n", disp);
 
         disp = (void *)0xdeadbeef;
         hr = FolderItemVerb_get_Application(verb, &disp);
-        ok(hr == E_NOTIMPL, "got %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "got %#lx.\n", hr);
         ok(disp == NULL, "Unexpected parent pointer %p.\n", disp);
 
         SysFreeString(str);
@@ -1397,7 +1397,7 @@ if (0) { /* crashes on winxp/win2k3 */
     V_I4(&v) = count+1;
     verb = NULL;
     hr = FolderItemVerbs_Item(verbs, v, &verb);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(verb == NULL, "got %p\n", verb);
 
     FolderItemVerbs_Release(verbs);
@@ -1427,69 +1427,69 @@ static void test_ShellLinkObject(void)
 
     hr = CoCreateInstance(&CLSID_Shell, NULL, CLSCTX_INPROC_SERVER,
         &IID_IShellDispatch, (void**)&sd);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     GetTempPathW(MAX_PATH, path);
     V_VT(&v) = VT_BSTR;
     V_BSTR(&v) = SysAllocString(path);
     hr = IShellDispatch_NameSpace(sd, v, &folder);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     VariantClear(&v);
 
     hr = Folder_QueryInterface(folder, &IID_Folder2, (void**)&folder2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     Folder_Release(folder);
 
     hr = Folder2_get_Self(folder2, &item);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     dispatch = (IDispatch*)0xdeadbeef;
     hr = FolderItem_get_GetLink(item, &dispatch);
-    ok(hr == E_NOTIMPL, "got 0x%08x\n", hr);
+    ok(hr == E_NOTIMPL, "got 0x%08lx\n", hr);
     ok(dispatch == NULL, "got %p\n", dispatch);
 
     FolderItem_Release(item);
 
     PathCombineW(empty_path, path, L"winetest_empty_file.txt");
     file = CreateFileW(empty_path, 0, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-    ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08x\n", GetLastError());
+    ok(file != INVALID_HANDLE_VALUE, "CreateFile failed: %08lx\n", GetLastError());
     CloseHandle(file);
 
     hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, &IID_IShellLinkW, (LPVOID*)&sl);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetPath(sl, empty_path);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_GetPath(sl, empty_path, MAX_PATH, NULL, 0);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetDescription(sl, L"description");
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetWorkingDirectory(sl, L"working directory");
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetArguments(sl, L"arguments");
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetHotkey(sl, 1234);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellLinkW_SetShowCmd(sl, 1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellLinkW_QueryInterface(sl, &IID_IPersistFile, (LPVOID*)&pf);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     PathCombineW(link_path, path, L"winetest_filled.lnk");
     hr = IPersistFile_Save(pf, link_path, TRUE);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     IPersistFile_Release(pf);
     IShellLinkW_Release(sl);
 
     str = SysAllocString(L"winetest_filled.lnk");
     hr = Folder2_ParseName(folder2, str, &item);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     SysFreeString(str);
 
     dispatch = NULL;
     hr = FolderItem_get_GetLink(item, &dispatch);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(dispatch != NULL, "got %p\n", dispatch);
 
     if (dispatch) {
@@ -1497,7 +1497,7 @@ static void test_ShellLinkObject(void)
 
         str = NULL;
         hr = IShellLinkDual2_get_Path(sld, &str);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         if (hr == S_OK) {
             ok(!wcscmp(str, empty_path), "got %s (wanted %s)\n",
                wine_dbgstr_w(str), wine_dbgstr_w(empty_path));
@@ -1506,7 +1506,7 @@ static void test_ShellLinkObject(void)
 
         str = NULL;
         hr = IShellLinkDual2_get_Description(sld, &str);
-        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK, "got 0x%08lx\n", hr);
         if (hr == S_OK) {
             ok(!wcscmp(str, L"description"), "got %s\n", wine_dbgstr_w(str));
             SysFreeString(str);
@@ -1514,7 +1514,7 @@ static void test_ShellLinkObject(void)
 
         str = NULL;
         hr = IShellLinkDual2_get_WorkingDirectory(sld, &str);
-        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK, "got 0x%08lx\n", hr);
         if (hr == S_OK) {
             ok(!wcscmp(str, L"working directory"), "got %s\n", wine_dbgstr_w(str));
             SysFreeString(str);
@@ -1522,7 +1522,7 @@ static void test_ShellLinkObject(void)
 
         str = NULL;
         hr = IShellLinkDual2_get_Arguments(sld, &str);
-        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK, "got 0x%08lx\n", hr);
         if (hr == S_OK) {
             ok(!wcscmp(str, L"arguments"), "got %s\n", wine_dbgstr_w(str));
             SysFreeString(str);
@@ -1530,12 +1530,12 @@ static void test_ShellLinkObject(void)
 
         hk = 0;
         hr = IShellLinkDual2_get_Hotkey(sld, &hk);
-        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK, "got 0x%08lx\n", hr);
         todo_wine ok(hk == 1234, "got %i\n", hk);
 
         hk = 0;
         hr = IShellLinkDual2_get_ShowCommand(sld, &hk);
-        todo_wine ok(hr == S_OK, "got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK, "got 0x%08lx\n", hr);
         todo_wine ok(hk == 1, "got %i\n", hk);
 
         IShellLinkDual2_Release(sld);
@@ -1544,9 +1544,9 @@ static void test_ShellLinkObject(void)
     FolderItem_Release(item);
 
     ret = DeleteFileW(link_path);
-    ok(ret, "DeleteFile failed: %08x\n", GetLastError());
+    ok(ret, "DeleteFile failed: %08lx\n", GetLastError());
     ret = DeleteFileW(empty_path);
-    ok(ret, "DeleteFile failed: %08x\n", GetLastError());
+    ok(ret, "DeleteFile failed: %08lx\n", GetLastError());
 
     Folder2_Release(folder2);
 
@@ -1581,14 +1581,14 @@ static void test_ShellExecute(void)
     name = SysAllocString(regW);
 
     hr = IShellDispatch2_ShellExecute(sd, name, args, dir, op, show);
-    ok(hr == S_OK, "ShellExecute failed: %08x\n", hr);
+    ok(hr == S_OK, "ShellExecute failed: %08lx\n", hr);
 
     /* test invalid value for show */
     V_VT(&show) = VT_BSTR;
     V_BSTR(&show) = name;
 
     hr = IShellDispatch2_ShellExecute(sd, name, args, dir, op, show);
-    ok(hr == S_OK, "ShellExecute failed: %08x\n", hr);
+    ok(hr == S_OK, "ShellExecute failed: %08lx\n", hr);
 
     SysFreeString(name);
     IShellDispatch2_Release(sd);
@@ -1599,7 +1599,7 @@ START_TEST(shelldispatch)
     HRESULT r;
 
     r = CoInitialize(NULL);
-    ok(SUCCEEDED(r), "CoInitialize failed: %08x\n", r);
+    ok(SUCCEEDED(r), "CoInitialize failed: %08lx\n", r);
     if (FAILED(r))
         return;
 
diff --git a/dlls/shell32/tests/shelllink.c b/dlls/shell32/tests/shelllink.c
index 5caebcd776c..e4e1e664038 100644
--- a/dlls/shell32/tests/shelllink.c
+++ b/dlls/shell32/tests/shelllink.c
@@ -74,7 +74,7 @@ static LPITEMIDLIST path_to_pidl(const char* path)
         MultiByteToWideChar(CP_ACP, 0, path, -1, pathW, len);
 
         r=pSHILCreateFromPath(pathW, &pidl, NULL);
-        ok(r == S_OK, "SHILCreateFromPath failed (0x%08x)\n", r);
+        ok(r == S_OK, "SHILCreateFromPath failed (0x%08lx)\n", r);
         heap_free(pathW);
     }
     return pidl;
@@ -100,93 +100,93 @@ static void test_get_set(void)
 
     r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                          &IID_IShellLinkA, (LPVOID*)&sl);
-    ok(r == S_OK, "no IID_IShellLinkA (0x%08x)\n", r);
+    ok(r == S_OK, "no IID_IShellLinkA (0x%08lx)\n", r);
     if (r != S_OK)
         return;
 
     /* Test Getting / Setting the description */
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetDescription(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetDescription failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetDescription failed (0x%08lx)\n", r);
     ok(*buffer=='\0', "GetDescription returned '%s'\n", buffer);
 
     str="Some description";
     r = IShellLinkA_SetDescription(sl, str);
-    ok(r == S_OK, "SetDescription failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetDescription failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetDescription(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetDescription failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetDescription failed (0x%08lx)\n", r);
     ok(strcmp(buffer,str)==0, "GetDescription returned '%s'\n", buffer);
 
     r = IShellLinkA_SetDescription(sl, NULL);
-    ok(r == S_OK, "SetDescription failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetDescription failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetDescription(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetDescription failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetDescription failed (0x%08lx)\n", r);
     ok(!*buffer, "GetDescription returned '%s'\n", buffer);
 
     /* Test Getting / Setting the work directory */
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetWorkingDirectory(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetWorkingDirectory failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetWorkingDirectory failed (0x%08lx)\n", r);
     ok(*buffer=='\0', "GetWorkingDirectory returned '%s'\n", buffer);
 
     str="c:\\nonexistent\\directory";
     r = IShellLinkA_SetWorkingDirectory(sl, str);
-    ok(r == S_OK, "SetWorkingDirectory failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetWorkingDirectory failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetWorkingDirectory(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetWorkingDirectory failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetWorkingDirectory failed (0x%08lx)\n", r);
     ok(lstrcmpiA(buffer,str)==0, "GetWorkingDirectory returned '%s'\n", buffer);
 
     /* Test Getting / Setting the path */
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-    ok(r == S_FALSE, "GetPath failed (0x%08x)\n", r);
+    ok(r == S_FALSE, "GetPath failed (0x%08lx)\n", r);
     ok(!*buffer, "GetPath returned '%s'\n", buffer);
 
     strcpy(buffer,"garbage");
     memset(&finddata, 0xaa, sizeof(finddata));
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), &finddata, SLGP_RAWPATH);
-    ok(r == S_FALSE, "GetPath failed (0x%08x)\n", r);
+    ok(r == S_FALSE, "GetPath failed (0x%08lx)\n", r);
     ok(!*buffer, "GetPath returned '%s'\n", buffer);
-    ok(finddata.dwFileAttributes == 0, "unexpected attributes %x\n", finddata.dwFileAttributes);
+    ok(finddata.dwFileAttributes == 0, "unexpected attributes %lx\n", finddata.dwFileAttributes);
     ok(finddata.cFileName[0] == 0, "unexpected filename '%s'\n", finddata.cFileName);
 
     r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, &IID_IShellLinkW, (void **)&slW);
-    ok(r == S_OK, "CoCreateInstance failed (0x%08x)\n", r);
+    ok(r == S_OK, "CoCreateInstance failed (0x%08lx)\n", r);
     IShellLinkW_Release(slW);
 
     r = IShellLinkA_SetPath(sl, NULL);
-    ok(r == E_INVALIDARG, "Unexpected hr %#x.\n", r);
+    ok(r == E_INVALIDARG, "Unexpected hr %#lx.\n", r);
 
     r = IShellLinkA_SetPath(sl, "");
-    ok(r==S_OK, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_OK, "SetPath failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-    ok(r == S_FALSE, "GetPath failed (0x%08x)\n", r);
+    ok(r == S_FALSE, "GetPath failed (0x%08lx)\n", r);
     ok(*buffer=='\0', "GetPath returned '%s'\n", buffer);
 
     /* Win98 returns S_FALSE, but WinXP returns S_OK */
     str="c:\\nonexistent\\file";
     r = IShellLinkA_SetPath(sl, str);
-    ok(r==S_FALSE || r==S_OK, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r==S_OK, "SetPath failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-    ok(r == S_OK, "GetPath failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetPath failed (0x%08lx)\n", r);
     ok(lstrcmpiA(buffer,str)==0, "GetPath returned '%s'\n", buffer);
 
     strcpy(buffer,"garbage");
     memset(&finddata, 0xaa, sizeof(finddata));
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), &finddata, SLGP_RAWPATH);
-    ok(r == S_OK, "GetPath failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetPath failed (0x%08lx)\n", r);
     ok(lstrcmpiA(buffer,str)==0, "GetPath returned '%s'\n", buffer);
-    ok(finddata.dwFileAttributes == 0, "unexpected attributes %x\n", finddata.dwFileAttributes);
+    ok(finddata.dwFileAttributes == 0, "unexpected attributes %lx\n", finddata.dwFileAttributes);
     ok(lstrcmpiA(finddata.cFileName, "file") == 0, "unexpected filename '%s'\n", finddata.cFileName);
 
     /* Get some real path to play with */
@@ -196,7 +196,7 @@ static void test_get_set(void)
     /* Test the interaction of SetPath and SetIDList */
     tmp_pidl=NULL;
     r = IShellLinkA_GetIDList(sl, &tmp_pidl);
-    ok(r == S_OK, "GetIDList failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIDList failed (0x%08lx)\n", r);
     if (r == S_OK)
     {
         BOOL ret;
@@ -217,16 +217,16 @@ static void test_get_set(void)
         LPITEMIDLIST second_pidl;
 
         r = IShellLinkA_SetIDList(sl, pidl);
-        ok(r == S_OK, "SetIDList failed (0x%08x)\n", r);
+        ok(r == S_OK, "SetIDList failed (0x%08lx)\n", r);
 
         tmp_pidl=NULL;
         r = IShellLinkA_GetIDList(sl, &tmp_pidl);
-        ok(r == S_OK, "GetIDList failed (0x%08x)\n", r);
+        ok(r == S_OK, "GetIDList failed (0x%08lx)\n", r);
         ok(tmp_pidl && ILIsEqual(pidl, tmp_pidl),
            "GetIDList returned an incorrect pidl\n");
 
         r = IShellLinkA_GetIDList(sl, &second_pidl);
-        ok(r == S_OK, "GetIDList failed (0x%08x)\n", r);
+        ok(r == S_OK, "GetIDList failed (0x%08lx)\n", r);
         ok(second_pidl && ILIsEqual(pidl, second_pidl),
            "GetIDList returned an incorrect pidl\n");
         ok(second_pidl != tmp_pidl, "pidls are the same\n");
@@ -237,15 +237,15 @@ static void test_get_set(void)
 
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-        ok(r == S_OK, "GetPath failed (0x%08x)\n", r);
+        ok(r == S_OK, "GetPath failed (0x%08lx)\n", r);
         ok(lstrcmpiA(buffer, mypath)==0, "GetPath returned '%s'\n", buffer);
 
         strcpy(buffer,"garbage");
         memset(&finddata, 0xaa, sizeof(finddata));
         r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), &finddata, SLGP_RAWPATH);
-        ok(r == S_OK, "GetPath failed (0x%08x)\n", r);
+        ok(r == S_OK, "GetPath failed (0x%08lx)\n", r);
         ok(lstrcmpiA(buffer, mypath)==0, "GetPath returned '%s'\n", buffer);
-        ok(finddata.dwFileAttributes != 0, "unexpected attributes %x\n", finddata.dwFileAttributes);
+        ok(finddata.dwFileAttributes != 0, "unexpected attributes %lx\n", finddata.dwFileAttributes);
         ok(lstrcmpiA(finddata.cFileName, "regedit.exe") == 0, "unexpected filename '%s'\n", finddata.cFileName);
     }
 
@@ -254,22 +254,22 @@ static void test_get_set(void)
         LPITEMIDLIST pidl_controls;
 
         r = pSHGetFolderLocation(NULL, CSIDL_CONTROLS, NULL, 0, &pidl_controls);
-        ok(r == S_OK, "SHGetFolderLocation failed (0x%08x)\n", r);
+        ok(r == S_OK, "SHGetFolderLocation failed (0x%08lx)\n", r);
 
         r = IShellLinkA_SetIDList(sl, pidl_controls);
-        ok(r == S_OK, "SetIDList failed (0x%08x)\n", r);
+        ok(r == S_OK, "SetIDList failed (0x%08lx)\n", r);
 
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-        ok(r == S_FALSE, "GetPath failed (0x%08x)\n", r);
+        ok(r == S_FALSE, "GetPath failed (0x%08lx)\n", r);
         ok(buffer[0] == 0, "GetPath returned '%s'\n", buffer);
 
         strcpy(buffer,"garbage");
         memset(&finddata, 0xaa, sizeof(finddata));
         r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), &finddata, SLGP_RAWPATH);
-        ok(r == S_FALSE, "GetPath failed (0x%08x)\n", r);
+        ok(r == S_FALSE, "GetPath failed (0x%08lx)\n", r);
         ok(buffer[0] == 0, "GetPath returned '%s'\n", buffer);
-        ok(finddata.dwFileAttributes == 0, "unexpected attributes %x\n", finddata.dwFileAttributes);
+        ok(finddata.dwFileAttributes == 0, "unexpected attributes %lx\n", finddata.dwFileAttributes);
         ok(finddata.cFileName[0] == 0, "unexpected filename '%s'\n", finddata.cFileName);
 
         ILFree(pidl_controls);
@@ -277,102 +277,102 @@ static void test_get_set(void)
 
     /* test path with quotes (IShellLinkA_SetPath returns S_FALSE on W2K and below and S_OK on XP and above */
     r = IShellLinkA_SetPath(sl, "\"c:\\nonexistent\\file\"");
-    ok(r==S_FALSE || r == S_OK, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK, "SetPath failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-    ok(r==S_OK, "GetPath failed (0x%08x)\n", r);
+    ok(r==S_OK, "GetPath failed (0x%08lx)\n", r);
     todo_wine ok(!strcmp(buffer, "C:\\nonexistent\\file"),
        "case doesn't match\n");
 
     r = IShellLinkA_SetPath(sl, "\"c:\\foo");
-    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08lx)\n", r);
 
     r = IShellLinkA_SetPath(sl, "\"\"c:\\foo");
-    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08lx)\n", r);
 
     r = IShellLinkA_SetPath(sl, "c:\\foo\"");
-    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08lx)\n", r);
 
     r = IShellLinkA_SetPath(sl, "\"\"c:\\foo\"");
-    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08lx)\n", r);
 
     r = IShellLinkA_SetPath(sl, "\"\"c:\\foo\"\"");
-    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08x)\n", r);
+    ok(r==S_FALSE || r == S_OK || r == E_INVALIDARG /* Vista */, "SetPath failed (0x%08lx)\n", r);
 
     /* Test Getting / Setting the arguments */
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetArguments(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetArguments failed (0x%08lx)\n", r);
     ok(*buffer=='\0', "GetArguments returned '%s'\n", buffer);
 
     str="param1 \"spaced param2\"";
     r = IShellLinkA_SetArguments(sl, str);
-    ok(r == S_OK, "SetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetArguments failed (0x%08lx)\n", r);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetArguments(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetArguments failed (0x%08lx)\n", r);
     ok(strcmp(buffer,str)==0, "GetArguments returned '%s'\n", buffer);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_SetArguments(sl, NULL);
-    ok(r == S_OK, "SetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetArguments failed (0x%08lx)\n", r);
     r = IShellLinkA_GetArguments(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetArguments failed (0x%08lx)\n", r);
     ok(!buffer[0] || strcmp(buffer,str)==0, "GetArguments returned '%s'\n", buffer);
 
     strcpy(buffer,"garbage");
     r = IShellLinkA_SetArguments(sl, "");
-    ok(r == S_OK, "SetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetArguments failed (0x%08lx)\n", r);
     r = IShellLinkA_GetArguments(sl, buffer, sizeof(buffer));
-    ok(r == S_OK, "GetArguments failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetArguments failed (0x%08lx)\n", r);
     ok(!buffer[0], "GetArguments returned '%s'\n", buffer);
 
     /* Test Getting / Setting showcmd */
     i=0xdeadbeef;
     r = IShellLinkA_GetShowCmd(sl, &i);
-    ok(r == S_OK, "GetShowCmd failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetShowCmd failed (0x%08lx)\n", r);
     ok(i==SW_SHOWNORMAL, "GetShowCmd returned %d\n", i);
 
     r = IShellLinkA_SetShowCmd(sl, SW_SHOWMAXIMIZED);
-    ok(r == S_OK, "SetShowCmd failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetShowCmd failed (0x%08lx)\n", r);
 
     i=0xdeadbeef;
     r = IShellLinkA_GetShowCmd(sl, &i);
-    ok(r == S_OK, "GetShowCmd failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetShowCmd failed (0x%08lx)\n", r);
     ok(i==SW_SHOWMAXIMIZED, "GetShowCmd returned %d'\n", i);
 
     /* Test Getting / Setting the icon */
     i=0xdeadbeef;
     strcpy(buffer,"garbage");
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(*buffer=='\0', "GetIconLocation returned '%s'\n", buffer);
     ok(i==0, "GetIconLocation returned %d\n", i);
 
     str="c:\\nonexistent\\file";
     r = IShellLinkA_SetIconLocation(sl, str, 0xbabecafe);
-    ok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
 
     i=0xdeadbeef;
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(lstrcmpiA(buffer,str)==0, "GetIconLocation returned '%s'\n", buffer);
     ok(i==0xbabecafe, "GetIconLocation returned %d'\n", i);
 
     /* Test Getting / Setting the hot key */
     w=0xbeef;
     r = IShellLinkA_GetHotkey(sl, &w);
-    ok(r == S_OK, "GetHotkey failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetHotkey failed (0x%08lx)\n", r);
     ok(w==0, "GetHotkey returned %d\n", w);
 
     r = IShellLinkA_SetHotkey(sl, 0x5678);
-    ok(r == S_OK, "SetHotkey failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetHotkey failed (0x%08lx)\n", r);
 
     w=0xbeef;
     r = IShellLinkA_GetHotkey(sl, &w);
-    ok(r == S_OK, "GetHotkey failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetHotkey failed (0x%08lx)\n", r);
     ok(w==0x5678, "GetHotkey returned %d'\n", w);
 
     IShellLinkA_Release(sl);
@@ -394,53 +394,53 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc)
 
     r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                          &IID_IShellLinkA, (LPVOID*)&sl);
-    lok(r == S_OK, "no IID_IShellLinkA (0x%08x)\n", r);
+    lok(r == S_OK, "no IID_IShellLinkA (0x%08lx)\n", r);
     if (r != S_OK)
         return;
 
     if (desc->description)
     {
         r = IShellLinkA_SetDescription(sl, desc->description);
-        lok(r == S_OK, "SetDescription failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetDescription failed (0x%08lx)\n", r);
     }
     if (desc->workdir)
     {
         r = IShellLinkA_SetWorkingDirectory(sl, desc->workdir);
-        lok(r == S_OK, "SetWorkingDirectory failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetWorkingDirectory failed (0x%08lx)\n", r);
     }
     if (desc->path)
     {
         r = IShellLinkA_SetPath(sl, desc->path);
-        lok(SUCCEEDED(r), "SetPath failed (0x%08x)\n", r);
+        lok(SUCCEEDED(r), "SetPath failed (0x%08lx)\n", r);
     }
     if (desc->pidl)
     {
         r = IShellLinkA_SetIDList(sl, desc->pidl);
-        lok(r == S_OK, "SetIDList failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetIDList failed (0x%08lx)\n", r);
     }
     if (desc->arguments)
     {
         r = IShellLinkA_SetArguments(sl, desc->arguments);
-        lok(r == S_OK, "SetArguments failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetArguments failed (0x%08lx)\n", r);
     }
     if (desc->showcmd)
     {
         r = IShellLinkA_SetShowCmd(sl, desc->showcmd);
-        lok(r == S_OK, "SetShowCmd failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetShowCmd failed (0x%08lx)\n", r);
     }
     if (desc->icon)
     {
         r = IShellLinkA_SetIconLocation(sl, desc->icon, desc->icon_id);
-        lok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
     }
     if (desc->hotkey)
     {
         r = IShellLinkA_SetHotkey(sl, desc->hotkey);
-        lok(r == S_OK, "SetHotkey failed (0x%08x)\n", r);
+        lok(r == S_OK, "SetHotkey failed (0x%08lx)\n", r);
     }
 
     r = IShellLinkA_QueryInterface(sl, &IID_IPersistFile, (void**)&pf);
-    lok(r == S_OK, "no IID_IPersistFile (0x%08x)\n", r);
+    lok(r == S_OK, "no IID_IPersistFile (0x%08lx)\n", r);
     if (r == S_OK)
     {
         LPOLESTR str;
@@ -453,39 +453,39 @@ void create_lnk_(int line, const WCHAR* path, lnk_desc_t* desc)
 
         init_dirty = IPersistFile_IsDirty(pf); /* empty links start off as clean */
         r = IPersistFile_Save(pf, NULL, FALSE);
-        lok(r == S_OK || r == E_INVALIDARG /* before Windows 7 */, "save failed (0x%08x)\n", r);
+        lok(r == S_OK || r == E_INVALIDARG /* before Windows 7 */, "save failed (0x%08lx)\n", r);
         r = IPersistFile_IsDirty(pf);
-        lok(r == init_dirty, "dirty (0x%08x)\n", r);
+        lok(r == init_dirty, "dirty (0x%08lx)\n", r);
 
         r = IPersistFile_Save(pf, NULL, TRUE);
-        lok(r == S_OK || r == E_INVALIDARG /* before Windows 7 */, "save failed (0x%08x)\n", r);
+        lok(r == S_OK || r == E_INVALIDARG /* before Windows 7 */, "save failed (0x%08lx)\n", r);
         r = IPersistFile_IsDirty(pf);
-        lok(r == init_dirty, "dirty (0x%08x)\n", r);
+        lok(r == init_dirty, "dirty (0x%08lx)\n", r);
 
         /* test GetCurFile before ::Save */
         str = (LPWSTR)0xdeadbeef;
         r = IPersistFile_GetCurFile(pf, &str);
-        lok(r == S_FALSE, "got 0x%08x\n", r);
+        lok(r == S_FALSE, "got 0x%08lx\n", r);
         lok(str == NULL, "got %p\n", str);
 
         r = IPersistFile_Save(pf, path, TRUE);
-        lok(r == S_OK, "save failed (0x%08x)\n", r);
+        lok(r == S_OK, "save failed (0x%08lx)\n", r);
         r = IPersistFile_IsDirty(pf);
-        lok(r == S_FALSE, "dirty (0x%08x)\n", r);
+        lok(r == S_FALSE, "dirty (0x%08lx)\n", r);
 
         /* test GetCurFile after ::Save */
         r = IPersistFile_GetCurFile(pf, &str);
-        lok(r == S_OK, "got 0x%08x\n", r);
+        lok(r == S_OK, "got 0x%08lx\n", r);
         lok(str != NULL, "Didn't expect NULL\n");
         lok(!wcscmp(path, str), "Expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(str));
         CoTaskMemFree(str);
 
         r = IPersistFile_Save(pf, NULL, TRUE);
-        lok(r == S_OK, "save failed (0x%08x)\n", r);
+        lok(r == S_OK, "save failed (0x%08lx)\n", r);
 
         /* test GetCurFile after ::Save */
         r = IPersistFile_GetCurFile(pf, &str);
-        lok(r == S_OK, "got 0x%08x\n", r);
+        lok(r == S_OK, "got 0x%08lx\n", r);
         lok(str != NULL, "Didn't expect NULL\n");
         lok(!wcscmp(path, str), "Expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(str));
         CoTaskMemFree(str);
@@ -506,12 +506,12 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
 
     r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                          &IID_IShellLinkA, (LPVOID*)&sl);
-    lok(r == S_OK, "no IID_IShellLinkA (0x%08x)\n", r);
+    lok(r == S_OK, "no IID_IShellLinkA (0x%08lx)\n", r);
     if (r != S_OK)
         return;
 
     r = IShellLinkA_QueryInterface(sl, &IID_IPersistFile, (LPVOID*)&pf);
-    lok(r == S_OK, "no IID_IPersistFile (0x%08x)\n", r);
+    lok(r == S_OK, "no IID_IPersistFile (0x%08lx)\n", r);
     if (r != S_OK)
     {
         IShellLinkA_Release(sl);
@@ -521,15 +521,15 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     /* test GetCurFile before ::Load */
     str = (LPWSTR)0xdeadbeef;
     r = IPersistFile_GetCurFile(pf, &str);
-    lok(r == S_FALSE, "got 0x%08x\n", r);
+    lok(r == S_FALSE, "got 0x%08lx\n", r);
     lok(str == NULL, "got %p\n", str);
 
     r = IPersistFile_Load(pf, path, STGM_READ);
-    lok(r == S_OK, "load failed (0x%08x)\n", r);
+    lok(r == S_OK, "load failed (0x%08lx)\n", r);
 
     /* test GetCurFile after ::Save */
     r = IPersistFile_GetCurFile(pf, &str);
-    lok(r == S_OK, "got 0x%08x\n", r);
+    lok(r == S_OK, "got 0x%08lx\n", r);
     lok(str != NULL, "Didn't expect NULL\n");
     lok(!wcscmp(path, str), "Expected %s, got %s\n", wine_dbgstr_w(path), wine_dbgstr_w(str));
     CoTaskMemFree(str);
@@ -540,7 +540,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetDescription(sl, buffer, sizeof(buffer));
-        lok(r == S_OK, "GetDescription failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetDescription failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x1) != 0)
             lok(strcmp(buffer, desc->description)==0, "GetDescription returned '%s' instead of '%s'\n",
                 buffer, desc->description);
@@ -549,7 +549,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetWorkingDirectory(sl, buffer, sizeof(buffer));
-        lok(r == S_OK, "GetWorkingDirectory failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetWorkingDirectory failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x2) != 0)
             lok(lstrcmpiA(buffer, desc->workdir)==0, "GetWorkingDirectory returned '%s' instead of '%s'\n",
                 buffer, desc->workdir);
@@ -558,7 +558,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetPath(sl, buffer, sizeof(buffer), NULL, SLGP_RAWPATH);
-        lok(SUCCEEDED(r), "GetPath failed (0x%08x)\n", r);
+        lok(SUCCEEDED(r), "GetPath failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x4) != 0)
             lok(lstrcmpiA(buffer, desc->path)==0, "GetPath returned '%s' instead of '%s'\n",
                 buffer, desc->path);
@@ -567,7 +567,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         LPITEMIDLIST pidl=NULL;
         r = IShellLinkA_GetIDList(sl, &pidl);
-        lok(r == S_OK, "GetIDList failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetIDList failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x8) != 0)
             lok(ILIsEqual(pidl, desc->pidl), "GetIDList returned an incorrect pidl\n");
     }
@@ -575,7 +575,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         int i=0xdeadbeef;
         r = IShellLinkA_GetShowCmd(sl, &i);
-        lok(r == S_OK, "GetShowCmd failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetShowCmd failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x10) != 0)
             lok(i==desc->showcmd, "GetShowCmd returned 0x%0x instead of 0x%0x\n",
                 i, desc->showcmd);
@@ -585,7 +585,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
         int i=0xdeadbeef;
         strcpy(buffer,"garbage");
         r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-        lok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x20) != 0) {
             lok(lstrcmpiA(buffer, desc->icon)==0, "GetIconLocation returned '%s' instead of '%s'\n",
                 buffer, desc->icon);
@@ -597,7 +597,7 @@ static void check_lnk_(int line, const WCHAR* path, lnk_desc_t* desc, int todo)
     {
         WORD i=0xbeef;
         r = IShellLinkA_GetHotkey(sl, &i);
-        lok(r == S_OK, "GetHotkey failed (0x%08x)\n", r);
+        lok(r == S_OK, "GetHotkey failed (0x%08lx)\n", r);
         todo_wine_if ((todo & 0x40) != 0)
             lok(i==desc->hotkey, "GetHotkey returned 0x%04x instead of 0x%04x\n",
                 i, desc->hotkey);
@@ -651,7 +651,7 @@ static void test_load_save(void)
     check_lnk(lnkfile, &desc, 0x0);
 
     r=GetModuleFileNameA(NULL, mypath, sizeof(mypath));
-    ok(r<sizeof(mypath), "GetModuleFileName failed (%d)\n", r);
+    ok(r<sizeof(mypath), "GetModuleFileName failed (%ld)\n", r);
     strcpy(mydir, mypath);
     p=strrchr(mydir, '\\');
     if (p)
@@ -726,9 +726,9 @@ static void test_load_save(void)
 
     /* Create a temporary non-executable file */
     r=GetTempPathA(sizeof(mypath), mypath);
-    ok(r<sizeof(mypath), "GetTempPath failed (%d), err %d\n", r, GetLastError());
+    ok(r<sizeof(mypath), "GetTempPath failed (%ld), err %ld\n", r, GetLastError());
     r = GetLongPathNameA(mypath, mydir, sizeof(mydir));
-    ok(r<sizeof(mydir), "GetLongPathName failed (%d), err %d\n", r, GetLastError());
+    ok(r<sizeof(mydir), "GetLongPathName failed (%ld), err %ld\n", r, GetLastError());
     p=strrchr(mydir, '\\');
     if (p)
         *p='\0';
@@ -753,7 +753,7 @@ static void test_load_save(void)
     check_lnk(lnkfile, &desc, 0x0);
 
     r = GetShortPathNameA(mydir, mypath, sizeof(mypath));
-    ok(r<sizeof(mypath), "GetShortPathName failed (%d), err %d\n", r, GetLastError());
+    ok(r<sizeof(mypath), "GetShortPathName failed (%ld), err %ld\n", r, GetLastError());
 
     strcpy(realpath, mypath);
     strcat(realpath, "\\test.txt");
@@ -774,7 +774,7 @@ static void test_load_save(void)
     check_lnk(lnkfile, &desc, 0x0);
 
     r = DeleteFileA(mypath);
-    ok(r, "failed to delete file %s (%d)\n", mypath, GetLastError());
+    ok(r, "failed to delete file %s (%ld)\n", mypath, GetLastError());
 
     /* Create a temporary .bat file */
     strcpy(mypath, mydir);
@@ -804,7 +804,7 @@ static void test_load_save(void)
     check_lnk(lnkfile, &desc, 0x4);
 
     r = DeleteFileA(realpath);
-    ok(r, "failed to delete file %s (%d)\n", realpath, GetLastError());
+    ok(r, "failed to delete file %s (%ld)\n", realpath, GetLastError());
 
     /* FIXME: Also test saving a .lnk pointing to a pidl that cannot be
      * represented as a path.
@@ -812,7 +812,7 @@ static void test_load_save(void)
 
     /* DeleteFileW is not implemented on Win9x */
     r=DeleteFileA(lnkfileA);
-    ok(r, "failed to delete link '%s' (%d)\n", lnkfileA, GetLastError());
+    ok(r, "failed to delete link '%s' (%ld)\n", lnkfileA, GetLastError());
 }
 
 static void test_datalink(void)
@@ -836,10 +836,10 @@ static void test_datalink(void)
 
     r = CoCreateInstance( &CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                             &IID_IShellLinkW, (LPVOID*)&sl );
-    ok( r == S_OK, "Failed to create shelllink object, hr %#x.\n", r);
+    ok( r == S_OK, "Failed to create shelllink object, hr %#lx.\n", r);
 
     r = IShellLinkW_QueryInterface( sl, &IID_IShellLinkDataList, (void **)&dl );
-    ok( r == S_OK, "Failed to get interface, hr %#x.\n", r);
+    ok( r == S_OK, "Failed to get interface, hr %#lx.\n", r);
 
     flags = 0;
     r = IShellLinkDataList_GetFlags( dl, &flags );
@@ -852,7 +852,7 @@ static void test_datalink(void)
     ok( dar == NULL, "should be null\n");
 
     r = IShellLinkW_SetPath(sl, NULL);
-    ok(r == E_INVALIDARG, "Unexpected hr %#x.\n", r);
+    ok(r == E_INVALIDARG, "Unexpected hr %#lx.\n", r);
 
     r = IShellLinkW_SetPath(sl, lnk);
     ok(r == S_OK, "SetPath failed\n");
@@ -889,7 +889,7 @@ static void test_shdefextracticon(void)
     HRESULT res;
 
     res = SHDefExtractIconA("shell32.dll", 0, 0, &hiconlarge, &hiconsmall, MAKELONG(16,24));
-    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%x\n", res);
+    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%lx\n", res);
     ok(hiconlarge != NULL, "got null hiconlarge\n");
     ok(hiconsmall != NULL, "got null hiconsmall\n");
     DestroyIcon(hiconlarge);
@@ -897,12 +897,12 @@ static void test_shdefextracticon(void)
 
     hiconsmall = NULL;
     res = SHDefExtractIconA("shell32.dll", 0, 0, NULL, &hiconsmall, MAKELONG(16,24));
-    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%x\n", res);
+    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%lx\n", res);
     ok(hiconsmall != NULL, "got null hiconsmall\n");
     DestroyIcon(hiconsmall);
 
     res = SHDefExtractIconA("shell32.dll", 0, 0, NULL, NULL, MAKELONG(16,24));
-    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%x\n", res);
+    ok(SUCCEEDED(res), "SHDefExtractIconA failed, res=%lx\n", res);
 }
 
 static void test_GetIconLocation(void)
@@ -917,25 +917,25 @@ static void test_GetIconLocation(void)
 
     r = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
             &IID_IShellLinkA, (LPVOID*)&sl);
-    ok(r == S_OK, "no IID_IShellLinkA (0x%08x)\n", r);
+    ok(r == S_OK, "no IID_IShellLinkA (0x%08lx)\n", r);
     if(r != S_OK)
         return;
 
     i = 0xdeadbeef;
     strcpy(buffer, "garbage");
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(*buffer == '\0', "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0, "GetIconLocation returned %d\n", i);
 
     str = "c:\\some\\path";
     r = IShellLinkA_SetPath(sl, str);
-    ok(r == S_FALSE || r == S_OK, "SetPath failed (0x%08x)\n", r);
+    ok(r == S_FALSE || r == S_OK, "SetPath failed (0x%08lx)\n", r);
 
     i = 0xdeadbeef;
     strcpy(buffer, "garbage");
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(*buffer == '\0', "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0, "GetIconLocation returned %d\n", i);
 
@@ -943,48 +943,48 @@ static void test_GetIconLocation(void)
     strcat(mypath, "\\regedit.exe");
     pidl = path_to_pidl(mypath);
     r = IShellLinkA_SetIDList(sl, pidl);
-    ok(r == S_OK, "SetPath failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetPath failed (0x%08lx)\n", r);
     ILFree(pidl);
 
     i = 0xdeadbeef;
     strcpy(buffer, "garbage");
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(*buffer == '\0', "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0, "GetIconLocation returned %d\n", i);
 
     str = "c:\\nonexistent\\file";
     r = IShellLinkA_SetIconLocation(sl, str, 0xbabecafe);
-    ok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
 
     i = 0xdeadbeef;
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(lstrcmpiA(buffer,str) == 0, "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0xbabecafe, "GetIconLocation returned %#x.\n", i);
 
     r = IShellLinkA_SetIconLocation(sl, NULL, 0xcafefe);
-    ok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
 
     i = 0xdeadbeef;
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(!*buffer, "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0xcafefe, "GetIconLocation returned %#x.\n", i);
 
     r = IShellLinkA_QueryInterface(sl, &IID_IShellLinkW, (void **)&slW);
-    ok(SUCCEEDED(r), "Failed to get IShellLinkW, hr %#x.\n", r);
+    ok(SUCCEEDED(r), "Failed to get IShellLinkW, hr %#lx.\n", r);
 
     str = "c:\\nonexistent\\file";
     r = IShellLinkA_SetIconLocation(sl, str, 0xbabecafe);
-    ok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
 
     r = IShellLinkA_SetIconLocation(sl, NULL, 0xcafefe);
-    ok(r == S_OK, "SetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "SetIconLocation failed (0x%08lx)\n", r);
 
     i = 0xdeadbeef;
     r = IShellLinkA_GetIconLocation(sl, buffer, sizeof(buffer), &i);
-    ok(r == S_OK, "GetIconLocation failed (0x%08x)\n", r);
+    ok(r == S_OK, "GetIconLocation failed (0x%08lx)\n", r);
     ok(!*buffer, "GetIconLocation returned '%s'\n", buffer);
     ok(i == 0xcafefe, "GetIconLocation returned %#x.\n", i);
 
@@ -1010,7 +1010,7 @@ static void test_SHGetStockIconInfo(void)
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO);
     hr = pSHGetStockIconInfo(SIID_INVALID, SHGSI_ICONLOCATION, sii);
-    ok(hr == E_INVALIDARG, "-1: got 0x%x (expected E_INVALIDARG)\n", hr);
+    ok(hr == E_INVALIDARG, "-1: got 0x%lx (expected E_INVALIDARG)\n", hr);
 
     /* max. id for vista is 140 (no definition exists for this value) */
     for (i = SIID_DOCNOASSOC; i <= SIID_CLUSTEREDDRIVE; i++)
@@ -1020,7 +1020,7 @@ static void test_SHGetStockIconInfo(void)
         hr = pSHGetStockIconInfo(i, SHGSI_ICONLOCATION, sii);
 
         ok(hr == S_OK,
-            "%3d: got 0x%x, iSysImageIndex: 0x%x, iIcon: 0x%x (expected S_OK)\n",
+            "%3d: got 0x%lx, iSysImageIndex: 0x%x, iIcon: 0x%x (expected S_OK)\n",
             i, hr, sii->iSysImageIndex, sii->iIcon);
 
         if ((hr == S_OK) && (winetest_debug > 1))
@@ -1034,7 +1034,7 @@ static void test_SHGetStockIconInfo(void)
         memset(buffer, '#', sizeof(buffer));
         sii->cbSize = sizeof(SHSTOCKICONINFO);
         hr = pSHGetStockIconInfo(i, SHGSI_ICONLOCATION, sii);
-        ok(hr == E_INVALIDARG, "%3d: got 0x%x (expected E_INVALIDARG)\n", i, hr);
+        ok(hr == E_INVALIDARG, "%3d: got 0x%lx (expected E_INVALIDARG)\n", i, hr);
     todo_wine {
         ok(sii->iSysImageIndex == -1, "%d: got iSysImageIndex %d\n", i, sii->iSysImageIndex);
         ok(sii->iIcon == -1, "%d: got iIcon %d\n", i, sii->iIcon);
@@ -1045,7 +1045,7 @@ static void test_SHGetStockIconInfo(void)
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO);
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, sii);
-    ok(hr == S_OK, "got 0x%x (expected S_OK)\n", hr);
+    ok(hr == S_OK, "got 0x%lx (expected S_OK)\n", hr);
     ok(!sii->hIcon, "got %p (expected NULL)\n", sii->hIcon);
     ok(sii->iSysImageIndex == -1, "got %d (expected -1)\n", sii->iSysImageIndex);
 
@@ -1053,26 +1053,26 @@ static void test_SHGetStockIconInfo(void)
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO) + 2;
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, sii);
-    ok(hr == E_INVALIDARG, "+2: got 0x%x, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
+    ok(hr == E_INVALIDARG, "+2: got 0x%lx, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
 
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO) + 1;
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, sii);
-    ok(hr == E_INVALIDARG, "+1: got 0x%x, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
+    ok(hr == E_INVALIDARG, "+1: got 0x%lx, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
 
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO) - 1;
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, sii);
-    ok(hr == E_INVALIDARG, "-1: got 0x%x, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
+    ok(hr == E_INVALIDARG, "-1: got 0x%lx, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
 
     memset(buffer, '#', sizeof(buffer));
     sii->cbSize = sizeof(SHSTOCKICONINFO) - 2;
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, sii);
-    ok(hr == E_INVALIDARG, "-2: got 0x%x, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
+    ok(hr == E_INVALIDARG, "-2: got 0x%lx, iSysImageIndex: 0x%x, iIcon: 0x%x\n", hr, sii->iSysImageIndex, sii->iIcon);
 
     /* there is a NULL check for the struct  */
     hr = pSHGetStockIconInfo(SIID_FOLDER, SHGSI_ICONLOCATION, NULL);
-    ok(hr == E_INVALIDARG, "NULL: got 0x%x\n", hr);
+    ok(hr == E_INVALIDARG, "NULL: got 0x%lx\n", hr);
 }
 
 static void test_SHExtractIcons(void)
@@ -1141,10 +1141,10 @@ static void test_propertystore(void)
 
     hr = CoCreateInstance(&CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER,
                          &IID_IShellLinkA, (void**)&linkA);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellLinkA_QueryInterface(linkA, &IID_IShellLinkW, (void**)&linkW);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IShellLinkA_QueryInterface(linkA, &IID_IPropertyStore, (void**)&ps);
     if (hr == S_OK) {
@@ -1153,10 +1153,10 @@ static void test_propertystore(void)
         IPropertyStore_Release(ps);
 
         hr = IShellLinkW_QueryInterface(linkW, &IID_IPropertyStore, (void**)&ps);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
 
         hr = IPropertyStore_QueryInterface(ps, &IID_IPropertyStoreCache, (void**)&pscache);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         IPropertyStore_Release(ps);
     }
@@ -1218,7 +1218,7 @@ static void test_ExtractIcon(void)
     ok(hicon == NULL, "Got icon %p\n", hicon);
 
     r = DeleteFileA(path);
-    ok(r, "failed to delete file %s (%d)\n", path, GetLastError());
+    ok(r, "failed to delete file %s (%ld)\n", path, GetLastError());
 
     /* same for W variant */
 if (0)
@@ -1266,7 +1266,7 @@ if (0)
     ok(hicon == NULL, "Got icon %p\n", hicon);
 
     r = DeleteFileW(pathW);
-    ok(r, "failed to delete file %s (%d)\n", path, GetLastError());
+    ok(r, "failed to delete file %s (%ld)\n", path, GetLastError());
 }
 
 static void test_ExtractAssociatedIcon(void)
@@ -1346,20 +1346,20 @@ static void test_SHGetImageList(void)
     BOOL dpi_aware = pIsProcessDPIAware && pIsProcessDPIAware();
 
     hr = SHGetImageList( SHIL_LARGE, &IID_IImageList, (void **)&list );
-    ok( hr == S_OK, "got %08x\n", hr );
+    ok( hr == S_OK, "got %08lx\n", hr );
     start_refs = IImageList_AddRef( list );
     IImageList_Release( list );
 
     hr = SHGetImageList( SHIL_LARGE, &IID_IImageList, (void **)&list2 );
-    ok( hr == S_OK, "got %08x\n", hr );
+    ok( hr == S_OK, "got %08lx\n", hr );
     ok( list == list2, "lists differ\n" );
     refs = IImageList_AddRef( list );
     IImageList_Release( list );
-    ok( refs == start_refs + 1, "got %d, start_refs %d\n", refs, start_refs );
+    ok( refs == start_refs + 1, "got %ld, start_refs %ld\n", refs, start_refs );
     IImageList_Release( list2 );
 
     hr = SHGetImageList( SHIL_SMALL, &IID_IImageList, (void **)&list2 );
-    ok( hr == S_OK, "got %08x\n", hr );
+    ok( hr == S_OK, "got %08lx\n", hr );
 
     ret = Shell_GetImageLists( &lg, &sm );
     ok( ret, "got %d\n", ret );
@@ -1369,7 +1369,7 @@ static void test_SHGetImageList(void)
     /* Shell_GetImageLists doesn't take a reference */
     refs = IImageList_AddRef( list );
     IImageList_Release( list );
-    ok( refs == start_refs, "got %d, start_refs %d\n", refs, start_refs );
+    ok( refs == start_refs, "got %ld, start_refs %ld\n", refs, start_refs );
 
     IImageList_Release( list2 );
     IImageList_Release( list );
@@ -1379,7 +1379,7 @@ static void test_SHGetImageList(void)
     {
         hr = SHGetImageList( i, &IID_IImageList, (void **)&list );
         ok( hr == S_OK || broken( i == SHIL_JUMBO && hr == E_INVALIDARG ), /* XP and 2003 */
-                "%d: got %08x\n", i, hr );
+                "%d: got %08lx\n", i, hr );
         if (FAILED(hr)) continue;
         IImageList_GetIconSize( list, &width, &height );
         switch (i)
@@ -1424,7 +1424,7 @@ START_TEST(shelllink)
     pIsProcessDPIAware = (void *)GetProcAddress(huser32, "IsProcessDPIAware");
 
     r = CoInitialize(NULL);
-    ok(r == S_OK, "CoInitialize failed (0x%08x)\n", r);
+    ok(r == S_OK, "CoInitialize failed (0x%08lx)\n", r);
     if (r != S_OK)
         return;
 
diff --git a/dlls/shell32/tests/shellole.c b/dlls/shell32/tests/shellole.c
index 1c26612bf98..5f0c2ea1bca 100644
--- a/dlls/shell32/tests/shellole.c
+++ b/dlls/shell32/tests/shellole.c
@@ -116,15 +116,15 @@ static HRESULT WINAPI PropertyStorage_ReadMultiple(IPropertyStorage *This, ULONG
         ok(rgpspec != NULL, "rgpspec = NULL\n");
         ok(rgpropvar != NULL, "rgpropvar = NULL\n");
 
-        ok(rgpspec[0].ulKind == PRSPEC_PROPID, "rgpspec[0].ulKind = %d\n", rgpspec[0].ulKind);
-        ok(rgpspec[0].u.propid == PID_CODEPAGE, "rgpspec[0].propid = %d\n", rgpspec[0].u.propid);
+        ok(rgpspec[0].ulKind == PRSPEC_PROPID, "rgpspec[0].ulKind = %ld\n", rgpspec[0].ulKind);
+        ok(rgpspec[0].u.propid == PID_CODEPAGE, "rgpspec[0].propid = %ld\n", rgpspec[0].u.propid);
 
         rgpropvar[0].vt = VT_I2;
         rgpropvar[0].iVal = 1234;
     } else {
         CHECK_EXPECT(ReadMultiple);
 
-        ok(cpspec == 10, "cpspec = %u\n", cpspec);
+        ok(cpspec == 10, "cpspec = %lu\n", cpspec);
         ok(rgpspec == (void*)0xdeadbeef, "rgpspec = %p\n", rgpspec);
         ok(rgpropvar != NULL, "rgpropvar = NULL\n");
 
@@ -149,10 +149,10 @@ static HRESULT WINAPI PropertyStorage_WriteMultiple(IPropertyStorage *This, ULON
 {
     CHECK_EXPECT(WriteMultiple);
 
-    ok(cpspec == 20, "cpspec = %d\n", cpspec);
+    ok(cpspec == 20, "cpspec = %ld\n", cpspec);
     ok(rgpspec == (void*)0xdeadbeef, "rgpspec = %p\n", rgpspec);
     ok(rgpropvar == (void*)0xdeadbeef, "rgpropvar = %p\n", rgpspec);
-    ok(propidNameFirst == PID_FIRST_USABLE, "propidNameFirst = %d\n", propidNameFirst);
+    ok(propidNameFirst == PID_FIRST_USABLE, "propidNameFirst = %ld\n", propidNameFirst);
     return S_OK;
 }
 
@@ -272,8 +272,8 @@ static HRESULT WINAPI PropertySetStorage_Create(IPropertySetStorage *This,
     ok(IsEqualGUID(rfmtid, &FMTID_Test) || IsEqualGUID(rfmtid, &FMTID_NotExisting),
             "Incorrect rfmtid value\n");
     ok(pclsid == NULL, "pclsid != NULL\n");
-    ok(grfFlags == PROPSETFLAG_ANSI, "grfFlags = %x\n", grfFlags);
-    ok(grfMode == STGM_READ, "grfMode = %x\n", grfMode);
+    ok(grfFlags == PROPSETFLAG_ANSI, "grfFlags = %lx\n", grfFlags);
+    ok(grfMode == STGM_READ, "grfMode = %lx\n", grfMode);
 
     *ppprstg = &PropertyStorage;
     return S_OK;
@@ -285,7 +285,7 @@ static HRESULT WINAPI PropertySetStorage_Open(IPropertySetStorage *This,
     CHECK_EXPECT(Open);
 
     if(IsEqualGUID(rfmtid, &FMTID_Test)) {
-        ok(grfMode == STGM_READ, "grfMode = %x\n", grfMode);
+        ok(grfMode == STGM_READ, "grfMode = %lx\n", grfMode);
 
         *ppprstg = &PropertyStorage;
         return S_OK;
@@ -348,14 +348,14 @@ static void test_SHPropStg_functions(void)
     hres = pSHPropStgCreate(&PropertySetStorage, &FMTID_Test, NULL, PROPSETFLAG_DEFAULT,
             STGM_READ, OPEN_EXISTING, &property_storage, &codepage);
     ok(codepage == 1234, "codepage = %d\n", codepage);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(Open);
     CHECK_CALLED(ReadMultipleCodePage);
 
     SET_EXPECT(Open);
     hres = pSHPropStgCreate(&PropertySetStorage, &FMTID_NotExisting, NULL,
             PROPSETFLAG_DEFAULT, STGM_READ, OPEN_EXISTING, &property_storage, &codepage);
-    ok(hres == STG_E_FILENOTFOUND, "hres = %x\n", hres);
+    ok(hres == STG_E_FILENOTFOUND, "hres = %lx\n", hres);
     CHECK_CALLED(Open);
 
     SET_EXPECT(Open);
@@ -366,7 +366,7 @@ static void test_SHPropStg_functions(void)
     hres = pSHPropStgCreate(&PropertySetStorage, &FMTID_Test, NULL, PROPSETFLAG_ANSI,
             STGM_READ, CREATE_ALWAYS, &property_storage, &codepage);
     ok(codepage == 1234, "codepage = %d\n", codepage);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(Open);
     CHECK_CALLED(Release);
     CHECK_CALLED(Delete);
@@ -379,7 +379,7 @@ static void test_SHPropStg_functions(void)
     hres = pSHPropStgCreate(&PropertySetStorage, &FMTID_NotExisting, NULL, PROPSETFLAG_ANSI,
             STGM_READ, CREATE_ALWAYS, &property_storage, &codepage);
     ok(codepage == 1234, "codepage = %d\n", codepage);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(Open);
     CHECK_CALLED(Create);
     CHECK_CALLED(ReadMultipleCodePage);
@@ -387,7 +387,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(Open);
     hres = pSHPropStgCreate(&PropertySetStorage, &FMTID_Test, &FMTID_NotExisting,
             PROPSETFLAG_DEFAULT, STGM_READ, OPEN_EXISTING, &property_storage, NULL);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(Open);
 
     SET_EXPECT(Stat);
@@ -395,7 +395,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(WriteMultiple);
     codepage = 0;
     hres = pSHPropStgWriteMultiple(property_storage, &codepage, 20, (void*)0xdeadbeef, (void*)0xdeadbeef, PID_FIRST_USABLE);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     ok(codepage == 1234, "codepage = %d\n", codepage);
     CHECK_CALLED(Stat);
     CHECK_CALLED(ReadMultipleCodePage);
@@ -405,7 +405,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(ReadMultipleCodePage);
     SET_EXPECT(WriteMultiple);
     hres = pSHPropStgWriteMultiple(property_storage, NULL, 20, (void*)0xdeadbeef, (void*)0xdeadbeef, PID_FIRST_USABLE);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(Stat);
     CHECK_CALLED(ReadMultipleCodePage);
     CHECK_CALLED(WriteMultiple);
@@ -414,7 +414,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(WriteMultiple);
     codepage = 1000;
     hres = pSHPropStgWriteMultiple(property_storage, &codepage, 20, (void*)0xdeadbeef, (void*)0xdeadbeef, PID_FIRST_USABLE);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     ok(codepage == 1000, "codepage = %d\n", codepage);
     CHECK_CALLED(Stat);
     CHECK_CALLED(WriteMultiple);
@@ -425,7 +425,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(ReadMultipleCodePage);
     SET_EXPECT(Stat);
     hres = pSHPropStgReadMultiple(property_storage, 0, 10, (void*)0xdeadbeef, read);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(ReadMultiple);
     CHECK_CALLED(ReadMultipleCodePage);
     CHECK_CALLED(Stat);
@@ -433,7 +433,7 @@ static void test_SHPropStg_functions(void)
     SET_EXPECT(ReadMultiple);
     SET_EXPECT(Stat);
     hres = pSHPropStgReadMultiple(property_storage, 1251, 10, (void*)0xdeadbeef, read);
-    ok(hres == S_OK, "hres = %x\n", hres);
+    ok(hres == S_OK, "hres = %lx\n", hres);
     CHECK_CALLED(ReadMultiple);
     CHECK_CALLED(Stat);
 }
@@ -715,19 +715,19 @@ static void test_SHCreateQueryCancelAutoPlayMoniker(void)
     }
 
     hr = pSHCreateQueryCancelAutoPlayMoniker(NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 
     hr = pSHCreateQueryCancelAutoPlayMoniker(&mon);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     sys = -1;
     hr = IMoniker_IsSystemMoniker(mon, &sys);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
-    ok(sys == MKSYS_CLASSMONIKER, "got %d\n", sys);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
+    ok(sys == MKSYS_CLASSMONIKER, "got %ld\n", sys);
 
     memset(&clsid, 0, sizeof(clsid));
     hr = IMoniker_GetClassID(mon, &clsid);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(IsEqualGUID(&clsid, &CLSID_ClassMoniker), "got %s\n", wine_dbgstr_guid(&clsid));
 
     /* extract used CLSID that implements this hook */
@@ -736,7 +736,7 @@ static void test_SHCreateQueryCancelAutoPlayMoniker(void)
 
     CreateBindCtx(0, &ctxt);
     hr = IMoniker_BindToObject(mon, ctxt, &test_moniker, &IID_IQueryCancelAutoPlay, (void**)&unk);
-    ok(hr == E_NOTIMPL, "got 0x%08x\n", hr);
+    ok(hr == E_NOTIMPL, "got 0x%08lx\n", hr);
     IBindCtx_Release(ctxt);
 
     CHECK_CALLED(autoplay_BindToObject);
@@ -778,8 +778,8 @@ static LRESULT WINAPI drop_window_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARA
         ok(!strcmp(filename, DROPTEST_FILENAME), "got %s\n", filename);
         r = DragQueryPoint(hDrop, &pt);
         ok(r == expected, "expected %d, got %d\n", expected, r);
-        ok(pt.x == 10, "expected 10, got %d\n", pt.x);
-        ok(pt.y == 20, "expected 20, got %d\n", pt.y);
+        ok(pt.x == 10, "expected 10, got %ld\n", pt.x);
+        ok(pt.y == 20, "expected 20, got %ld\n", pt.y);
         DragFinish(hDrop);
         return 0;
     }
@@ -803,13 +803,13 @@ static DWORD WINAPI drop_window_therad(void *arg)
 
     param->hwnd = CreateWindowA("drop test", NULL, 0, 0, 0, 0, 0,
                                 NULL, 0, NULL, 0);
-    ok(param->hwnd != NULL, "CreateWindow failed: %d\n", GetLastError());
+    ok(param->hwnd != NULL, "CreateWindow failed: %ld\n", GetLastError());
 
     memset(&info, 0, sizeof(info));
     info.cbSize = sizeof(info);
     r = GetWindowInfo(param->hwnd, &info);
     ok(r, "got %d\n", r);
-    ok(!(info.dwExStyle & WS_EX_ACCEPTFILES), "got %08x\n", info.dwExStyle);
+    ok(!(info.dwExStyle & WS_EX_ACCEPTFILES), "got %08lx\n", info.dwExStyle);
 
     DragAcceptFiles(param->hwnd, TRUE);
 
@@ -817,7 +817,7 @@ static DWORD WINAPI drop_window_therad(void *arg)
     info.cbSize = sizeof(info);
     r = GetWindowInfo(param->hwnd, &info);
     ok(r, "got %d\n", r);
-    ok((info.dwExStyle & WS_EX_ACCEPTFILES), "got %08x\n", info.dwExStyle);
+    ok((info.dwExStyle & WS_EX_ACCEPTFILES), "got %08lx\n", info.dwExStyle);
 
     SetEvent(param->ready);
 
@@ -849,7 +849,7 @@ static void test_DragQueryFile(BOOL non_client_flag)
     hThread = CreateThread(NULL, 0, drop_window_therad, &param, 0, NULL);
 
     rc = WaitForSingleObject(param.ready, 5000);
-    ok(rc == WAIT_OBJECT_0, "got %u\n", rc);
+    ok(rc == WAIT_OBJECT_0, "got %lu\n", rc);
 
     hDrop = GlobalAlloc(GHND, sizeof(DROPFILES) + (strlen(DROPTEST_FILENAME) + 2) * sizeof(WCHAR));
     pDrop = GlobalLock(hDrop);
@@ -873,7 +873,7 @@ static void test_DragQueryFile(BOOL non_client_flag)
     ok(r, "got %d\n", r);
 
     rc = WaitForSingleObject(hThread, 5000);
-    ok(rc == WAIT_OBJECT_0, "got %d\n", rc);
+    ok(rc == WAIT_OBJECT_0, "got %ld\n", rc);
 
     CloseHandle(param.ready);
     CloseHandle(hThread);
@@ -904,14 +904,14 @@ static void test_SHCreateSessionKey(void)
 
     hkey = (HKEY)0xdeadbeef;
     hr = pSHCreateSessionKey(0, &hkey);
-    ok(hr == E_ACCESSDENIED, "got 0x%08x\n", hr);
+    ok(hr == E_ACCESSDENIED, "got 0x%08lx\n", hr);
     ok(hkey == NULL, "got %p\n", hkey);
 
     hr = pSHCreateSessionKey(KEY_READ, &hkey);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = pSHCreateSessionKey(KEY_READ, &hkey2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(hkey != hkey2, "got %p, %p\n", hkey, hkey2);
 
     RegCloseKey(hkey);
@@ -935,10 +935,10 @@ static void test_dragdrophelper(void)
     HRESULT hr;
 
     hr = CoCreateInstance(&CLSID_DragDropHelper, NULL, CLSCTX_INPROC_SERVER, &IID_IDropTargetHelper, (void **)&target);
-    ok(hr == S_OK, "Failed to create IDropTargetHelper, %#x\n", hr);
+    ok(hr == S_OK, "Failed to create IDropTargetHelper, %#lx\n", hr);
 
     hr = IDropTargetHelper_QueryInterface(target, &IID_IDragSourceHelper, (void **)&dragsource);
-    ok(hr == S_OK, "QI failed, %#x\n", hr);
+    ok(hr == S_OK, "QI failed, %#lx\n", hr);
     IDragSourceHelper_Release(dragsource);
 
     IDropTargetHelper_Release(target);
@@ -951,7 +951,7 @@ START_TEST(shellole)
     init();
 
     hr = CoInitialize(NULL);
-    ok(hr == S_OK, "CoInitialize failed (0x%08x)\n", hr);
+    ok(hr == S_OK, "CoInitialize failed (0x%08lx)\n", hr);
     if (hr != S_OK)
         return;
 
diff --git a/dlls/shell32/tests/shellpath.c b/dlls/shell32/tests/shellpath.c
index 7d0f725158a..91ecf6b9a80 100644
--- a/dlls/shell32/tests/shellpath.c
+++ b/dlls/shell32/tests/shellpath.c
@@ -217,7 +217,7 @@ static void loadShell32(void)
     {
         shellVersion.cbSize = sizeof(shellVersion);
         pDllGetVersion(&shellVersion);
-        trace("shell32 version is %d.%d\n",
+        trace("shell32 version is %ld.%ld\n",
               shellVersion.dwMajorVersion, shellVersion.dwMinorVersion);
     }
 #undef GET_PROC
@@ -1327,12 +1327,12 @@ static void test_parameters(void)
     /* check a bogus CSIDL: */
     pidl = NULL;
     hr = SHGetFolderLocation(NULL, 0xeeee, NULL, 0, &pidl);
-    ok(hr == E_INVALIDARG, "got 0x%08x, expected E_INVALIDARG\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx, expected E_INVALIDARG\n", hr);
 
     /* check a bogus user token: */
     pidl = NULL;
     hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, (HANDLE)2, 0, &pidl);
-    ok(hr == E_FAIL || hr == E_HANDLE, "got 0x%08x, expected E_FAIL or E_HANDLE\n", hr);
+    ok(hr == E_FAIL || hr == E_HANDLE, "got 0x%08lx, expected E_FAIL or E_HANDLE\n", hr);
 
     /* a NULL pidl pointer crashes, so don't test it */
 
@@ -1343,7 +1343,7 @@ static void test_parameters(void)
             SHGetSpecialFolderLocation(NULL, 0, NULL);
 
         hr = pSHGetSpecialFolderLocation(NULL, 0xeeee, &pidl);
-        ok(hr == E_INVALIDARG, "got returned 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "got returned 0x%08lx\n", hr);
     }
 
     if (pSHGetFolderPathA)
@@ -1351,10 +1351,10 @@ static void test_parameters(void)
         /* expect 2's a bogus handle, especially since we didn't open it */
         hr = pSHGetFolderPathA(NULL, CSIDL_DESKTOP, (HANDLE)2, SHGFP_TYPE_DEFAULT, path);
         ok(hr == E_FAIL || hr == E_HANDLE || /* Vista and 2k8 */
-           broken(hr == S_OK), /* W2k and Me */ "got 0x%08x, expected E_FAIL\n", hr);
+           broken(hr == S_OK), /* W2k and Me */ "got 0x%08lx, expected E_FAIL\n", hr);
 
         hr = pSHGetFolderPathA(NULL, 0xeeee, NULL, SHGFP_TYPE_DEFAULT, path);
-        ok(hr == E_INVALIDARG, "got 0x%08x, expected E_INVALIDARG\n", hr);
+        ok(hr == E_INVALIDARG, "got 0x%08lx, expected E_INVALIDARG\n", hr);
     }
 
     if (pSHGetSpecialFolderPathA)
@@ -1437,7 +1437,7 @@ static void test_SHGetFolderPath(BOOL optional, int folder)
 
     hr = pSHGetFolderPathA(NULL, folder, NULL, SHGFP_TYPE_CURRENT, path);
     ok(hr == S_OK || optional,
-     "SHGetFolderPathA(NULL, %s, NULL, SHGFP_TYPE_CURRENT, path) failed: 0x%08x\n", getFolderName(folder), hr);
+     "SHGetFolderPathA(NULL, %s, NULL, SHGFP_TYPE_CURRENT, path) failed: 0x%08lx\n", getFolderName(folder), hr);
 }
 
 static void test_SHGetSpecialFolderPath(BOOL optional, int folder)
@@ -1716,12 +1716,12 @@ static void doChild(const char *arg)
         /* test some failure cases first: */
         hr = pSHGetFolderPathA(NULL, CSIDL_FAVORITES, NULL, SHGFP_TYPE_CURRENT, path);
         ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-            "SHGetFolderPath returned 0x%08x, expected 0x80070002\n", hr);
+            "SHGetFolderPath returned 0x%08lx, expected 0x80070002\n", hr);
 
         pidl = NULL;
         hr = SHGetFolderLocation(NULL, CSIDL_FAVORITES, NULL, 0, &pidl);
         ok(hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-            "SHGetFolderLocation returned 0x%08x\n", hr);
+            "SHGetFolderLocation returned 0x%08lx\n", hr);
 
         ok(!pSHGetSpecialFolderPathA(NULL, path, CSIDL_FAVORITES, FALSE),
             "SHGetSpecialFolderPath succeeded, expected failure\n");
@@ -1729,12 +1729,12 @@ static void doChild(const char *arg)
         pidl = NULL;
         hr = pSHGetSpecialFolderLocation(NULL, CSIDL_FAVORITES, &pidl);
         ok(hr == E_FAIL || hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-            "SHGetFolderLocation returned 0x%08x\n", hr);
+            "SHGetFolderLocation returned 0x%08lx\n", hr);
 
         /* now test success: */
         hr = pSHGetFolderPathA(NULL, CSIDL_FAVORITES | CSIDL_FLAG_CREATE, NULL,
                                SHGFP_TYPE_CURRENT, path);
-        ok (hr == S_OK, "got 0x%08x\n", hr);
+        ok (hr == S_OK, "got 0x%08lx\n", hr);
         if (hr == S_OK)
         {
             BOOL ret;
@@ -1744,7 +1744,7 @@ static void doChild(const char *arg)
             ok(!ret, "expected failure with ERROR_ALREADY_EXISTS\n");
             if (!ret)
                 ok(GetLastError() == ERROR_ALREADY_EXISTS,
-                  "got %d, expected ERROR_ALREADY_EXISTS\n", GetLastError());
+                  "got %ld, expected ERROR_ALREADY_EXISTS\n", GetLastError());
 
             p = path + strlen(path);
             strcpy(p, "\\desktop.ini");
@@ -1752,7 +1752,7 @@ static void doChild(const char *arg)
             *p = 0;
             SetFileAttributesA( path, FILE_ATTRIBUTE_NORMAL );
             ret = RemoveDirectoryA(path);
-            ok( ret, "failed to remove %s error %u\n", path, GetLastError() );
+            ok( ret, "failed to remove %s error %lu\n", path, GetLastError() );
         }
     }
     else if (arg[0] == '2')
@@ -1761,7 +1761,7 @@ static void doChild(const char *arg)
            original value of CSIDL_FAVORITES is restored. */
         hr = pSHGetFolderPathA(NULL, CSIDL_FAVORITES | CSIDL_FLAG_CREATE, NULL,
             SHGFP_TYPE_CURRENT, path);
-        ok(hr == S_OK, "SHGetFolderPath failed: 0x%08x\n", hr);
+        ok(hr == S_OK, "SHGetFolderPath failed: 0x%08lx\n", hr);
     }
 }
 
@@ -1861,17 +1861,17 @@ static void test_SHGetFolderPathEx(void)
 
 if (0) { /* crashes */
     hr = pSHGetKnownFolderPath(&FOLDERID_Desktop, 0, NULL, NULL);
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08lx\n", hr);
 }
     /* non-existent folder id */
     path = (void *)0xdeadbeef;
     hr = pSHGetKnownFolderPath(&IID_IOleObject, 0, NULL, &path);
-    ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08lx\n", hr);
     ok(path == NULL, "got %p\n", path);
 
     path = NULL;
     hr = pSHGetKnownFolderPath(&FOLDERID_Desktop, KF_FLAG_DEFAULT_PATH, NULL, &path);
-    ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
     ok(path != NULL, "expected path != NULL\n");
     CoTaskMemFree(path);
 
@@ -1886,40 +1886,40 @@ if (0) { /* crashes */
             ok(path == NULL, "expected path == NULL\n");
             continue;
         }
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path != NULL, "expected path != NULL\n");
 
         path2 = NULL;
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_SIMPLE_IDLIST, NULL, &path2);
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path2 != NULL, "expected path != NULL\n");
         ok(!lstrcmpiW(path, path2), "expected equal paths: %s, %s\n", wine_dbgstr_w(path), wine_dbgstr_w(path2));
         CoTaskMemFree(path2);
 
         path2 = NULL;
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_DONT_UNEXPAND, NULL, &path2);
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path2 != NULL, "expected path != NULL\n");
         ok(!lstrcmpiW(path, path2), "expected equal paths: %s, %s\n", wine_dbgstr_w(path), wine_dbgstr_w(path2));
         CoTaskMemFree(path2);
 
         path2 = NULL;
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_SIMPLE_IDLIST | KF_FLAG_DONT_UNEXPAND, NULL, &path2);
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path2 != NULL, "expected path != NULL\n");
         ok(!lstrcmpiW(path, path2), "expected equal paths: %s, %s\n", wine_dbgstr_w(path), wine_dbgstr_w(path2));
         CoTaskMemFree(path2);
 
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_DEFAULT_PATH, NULL, &path2);
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path2 != NULL, "expected path != NULL\n");
         CoTaskMemFree(path2);
 
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_NOT_PARENT_RELATIVE, NULL, &path2);
-        ok(hr == E_INVALIDARG, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "expected S_OK, got 0x%08lx\n", hr);
 
         hr = pSHGetKnownFolderPath(folder_id, KF_FLAG_DEFAULT_PATH | KF_FLAG_NOT_PARENT_RELATIVE, NULL, &path2);
-        ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+        ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
         ok(path2 != NULL, "expected path != NULL\n");
         CoTaskMemFree(path2);
 
@@ -1928,50 +1928,50 @@ if (0) { /* crashes */
 
     path = NULL;
     hr = pSHGetKnownFolderPath(&FOLDERID_Desktop, 0, NULL, &path);
-    ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
     ok(path != NULL, "expected path != NULL\n");
 
     hr = pSHGetFolderPathEx(&FOLDERID_Desktop, 0, NULL, buffer, MAX_PATH);
-    ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
     ok(!lstrcmpiW(path, buffer), "expected equal paths\n");
     len = lstrlenW(buffer);
     CoTaskMemFree(path);
 
     hr = pSHGetFolderPathEx(&FOLDERID_Desktop, 0, NULL, buffer, 0);
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08lx\n", hr);
 
 if (0) { /* crashes */
     hr = pSHGetFolderPathEx(&FOLDERID_Desktop, 0, NULL, NULL, len + 1);
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08lx\n", hr);
 
     hr = pSHGetFolderPathEx(NULL, 0, NULL, buffer, MAX_PATH);
-    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "expected E_INVALIDARG, got 0x%08lx\n", hr);
 }
     hr = pSHGetFolderPathEx(&FOLDERID_Desktop, 0, NULL, buffer, len);
-    ok(hr == E_NOT_SUFFICIENT_BUFFER, "expected E_NOT_SUFFICIENT_BUFFER, got 0x%08x\n", hr);
+    ok(hr == E_NOT_SUFFICIENT_BUFFER, "expected E_NOT_SUFFICIENT_BUFFER, got 0x%08lx\n", hr);
 
     hr = pSHGetFolderPathEx(&FOLDERID_Desktop, 0, NULL, buffer, len + 1);
-    ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
 
     path = NULL;
     hr = pSHGetKnownFolderPath(&FOLDERID_ProgramFilesX64, 0, NULL, &path);
 #ifdef _WIN64
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     ok(path != NULL, "path not set\n");
     CoTaskMemFree(path);
 #else
-    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
+    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08lx\n", hr);
     ok(path == NULL, "path set\n");
 #endif
 
     path = NULL;
     hr = pSHGetKnownFolderPath(&FOLDERID_ProgramFilesCommonX64, 0, NULL, &path);
 #ifdef _WIN64
-    ok(hr == S_OK, "expected S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "expected S_OK, got 0x%08lx\n", hr);
     ok(path != NULL, "path not set\n");
     CoTaskMemFree(path);
 #else
-    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
+    todo_wine ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08lx\n", hr);
     ok(path == NULL, "path set\n");
 #endif
 }
@@ -2063,7 +2063,7 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
 
                     ok_(__FILE__, known_folder->line)(known_folder->attributes == kfd.dwAttributes ||
                             (known_folder->csidl & WINE_ATTRIBUTES_OPTIONAL && kfd.dwAttributes == 0),
-                            "invalid known folder attributes for %s: 0x%08x expected, but 0x%08x retrieved\n", known_folder->sFolderId, known_folder->attributes, kfd.dwAttributes);
+                            "invalid known folder attributes for %s: 0x%08lx expected, but 0x%08lx retrieved\n", known_folder->sFolderId, known_folder->attributes, kfd.dwAttributes);
 
                     ok_(__FILE__, known_folder->line)(!(kfd.kfdFlags & (~known_folder->definitionFlags)), "invalid known folder flags for %s: 0x%08x expected, but 0x%08x retrieved\n", known_folder->sFolderId, known_folder->definitionFlags, kfd.kfdFlags);
 
@@ -2073,7 +2073,7 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
                     {
                         ikf_path = NULL;
                         hr = IKnownFolder_GetPath(folder, KF_FLAG_DEFAULT, &ikf_path);
-                        ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolder::GetPath failed: 0x%08x\n", hr);
+                        ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolder::GetPath failed: 0x%08lx\n", hr);
                         ok_(__FILE__, known_folder->line)(ikf_path != NULL, "SHGetKnownFolderPath gave NULL path\n");
 
                         /* IKnownFolder::GetPath and SHGetKnownFolderPath should be the same */
@@ -2088,13 +2088,13 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
                                     debugstr_w(kfd.pszRelativePath), debugstr_w(ikf_path));
 
                             hr = IKnownFolderManager_GetFolder(mgr, &kfd.fidParent, &kf_parent);
-                            ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolderManager::GetFolder(parent) failed: 0x%08x\n", hr);
+                            ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolderManager::GetFolder(parent) failed: 0x%08lx\n", hr);
 
                             if(SUCCEEDED(hr))
                             {
                                 ikf_parent_path = NULL;
                                 hr = IKnownFolder_GetPath(kf_parent, KF_FLAG_DEFAULT, &ikf_parent_path);
-                                ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolder::GetPath(parent) failed: 0x%08x\n", hr);
+                                ok_(__FILE__, known_folder->line)(hr == S_OK, "IKnownFolder::GetPath(parent) failed: 0x%08lx\n", hr);
 
                                 /* Parent path + pszRelativePath should give the full path */
                                 ok_(__FILE__, known_folder->line)(memcmp(ikf_parent_path, ikf_path, lstrlenW(ikf_parent_path) * sizeof(WCHAR)) == 0,
@@ -2151,7 +2151,7 @@ static void check_known_folder(IKnownFolderManager *mgr, KNOWNFOLDERID *folderId
                 trace("  localized name: %s\n", wine_dbgstr_w(kfd.pszLocalizedName));
                 trace("  icon: %s\n", wine_dbgstr_w(kfd.pszIcon));
                 trace("  security: %s\n", wine_dbgstr_w(kfd.pszSecurity));
-                trace("  attributes: 0x%08x\n", kfd.dwAttributes);
+                trace("  attributes: 0x%08lx\n", kfd.dwAttributes);
                 trace("  flags: 0x%08x\n", kfd.kfdFlags);
                 trace("  type: %s\n", wine_dbgstr_guid(&kfd.ftidType));
                 FreeKnownFolderDefinitionFields(&kfd);
@@ -2214,96 +2214,96 @@ static void test_knownFolders(void)
     {
         IUnknown *unk;
 
-        ok(hr == S_OK, "failed to create KnownFolderManager instance: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to create KnownFolderManager instance: 0x%08lx\n", hr);
 
         hr = IKnownFolderManager_QueryInterface(mgr, &IID_IMarshal, (void**)&unk);
-        ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+        ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
         hr = IKnownFolderManager_FolderIdFromCsidl(mgr, CSIDL_WINDOWS, &folderId);
-        ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08lx\n", hr);
         ok(IsEqualGUID(&folderId, &FOLDERID_Windows)==TRUE, "invalid KNOWNFOLDERID returned\n");
 
         hr = IKnownFolderManager_FolderIdToCsidl(mgr, &FOLDERID_Windows, &csidl);
-        ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to convert CSIDL to KNOWNFOLDERID: 0x%08lx\n", hr);
         ok(csidl == CSIDL_WINDOWS, "invalid CSIDL returned\n");
 
         hr = IKnownFolderManager_GetFolder(mgr, &FOLDERID_Windows, &folder);
-        ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IKnownFolder_QueryInterface(folder, &IID_IMarshal, (void**)&unk);
-            ok(hr == E_NOINTERFACE, "got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE, "got 0x%08lx\n", hr);
 
             hr = IKnownFolder_GetCategory(folder, &cat);
-            ok(hr == S_OK, "failed to get folder category: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get folder category: 0x%08lx\n", hr);
             ok(cat==KF_CATEGORY_FIXED, "invalid folder category: %d\n", cat);
 
             hr = IKnownFolder_GetId(folder, &folderId);
-            ok(hr == S_OK, "failed to get folder id: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get folder id: 0x%08lx\n", hr);
             ok(IsEqualGUID(&folderId, &FOLDERID_Windows)==TRUE, "invalid KNOWNFOLDERID returned\n");
 
             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-            ok(hr == S_OK, "failed to get path from known folder: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get path from known folder: 0x%08lx\n", hr);
             ok(lstrcmpiW(sWinDir, folderPath)==0, "invalid path returned: \"%s\", expected: \"%s\"\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sWinDir));
             CoTaskMemFree(folderPath);
 
             hr = IKnownFolder_GetRedirectionCapabilities(folder, &redirectionCapabilities);
-            ok(hr == S_OK, "failed to get redirection capabilities: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get redirection capabilities: 0x%08lx\n", hr);
             todo_wine
             ok(redirectionCapabilities==0, "invalid redirection capabilities returned: %d\n", redirectionCapabilities);
 
             hr = IKnownFolder_SetPath(folder, 0, sWinDir);
             todo_wine
-            ok(hr == E_INVALIDARG, "unexpected value from SetPath: 0x%08x\n", hr);
+            ok(hr == E_INVALIDARG, "unexpected value from SetPath: 0x%08lx\n", hr);
 
             hr = IKnownFolder_GetFolderDefinition(folder, &kfDefinition);
-            ok(hr == S_OK, "failed to get folder definition: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get folder definition: 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 ok(kfDefinition.category==KF_CATEGORY_FIXED, "invalid folder category: 0x%08x\n", kfDefinition.category);
                 ok(lstrcmpW(kfDefinition.pszName, sWindows)==0, "invalid folder name: %s\n", wine_dbgstr_w(kfDefinition.pszName));
-                ok(kfDefinition.dwAttributes==0, "invalid folder attributes: %d\n", kfDefinition.dwAttributes);
+                ok(kfDefinition.dwAttributes==0, "invalid folder attributes: %ld\n", kfDefinition.dwAttributes);
                 FreeKnownFolderDefinitionFields(&kfDefinition);
             }
 
             hr = IKnownFolder_Release(folder);
-            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08lx\n", hr);
         }
 
         hr = IKnownFolderManager_GetFolderByName(mgr, sWindows, &folder);
-        ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IKnownFolder_GetId(folder, &folderId);
-            ok(hr == S_OK, "failed to get folder id: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get folder id: 0x%08lx\n", hr);
             ok(IsEqualGUID(&folderId, &FOLDERID_Windows)==TRUE, "invalid KNOWNFOLDERID returned\n");
 
             hr = IKnownFolder_Release(folder);
-            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08lx\n", hr);
         }
 
         hr = IKnownFolderManager_GetFolderByName(mgr, sWindows2, &folder);
-        ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IKnownFolder_GetId(folder, &folderId);
-            ok(hr == S_OK, "failed to get folder id: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to get folder id: 0x%08lx\n", hr);
             ok(IsEqualGUID(&folderId, &FOLDERID_Windows)==TRUE, "invalid KNOWNFOLDERID returned\n");
 
             hr = IKnownFolder_Release(folder);
-            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08lx\n", hr);
         }
 
         folder = (IKnownFolder *)0xdeadbeef;
         hr = IKnownFolderManager_GetFolderByName(mgr, sNoSuch, &folder);
-        ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
+        ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08lx\n", hr);
         ok(folder == NULL, "got %p\n", folder);
 
         for(i=0; i < ARRAY_SIZE(known_folder_found); ++i)
             known_folder_found[i] = FALSE;
 
         hr = IKnownFolderManager_GetFolderIds(mgr, &folders, &nCount);
-        ok(hr == S_OK, "failed to get known folders: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to get known folders: 0x%08lx\n", hr);
         for(i=0;i<nCount;++i)
             check_known_folder(mgr, &folders[i]);
 
@@ -2335,24 +2335,24 @@ static void test_knownFolders(void)
             win_skip("No permissions required to register custom known folder\n");
         else
         {
-            ok(hr == S_OK, "failed to register known folder: 0x%08x\n", hr);
+            ok(hr == S_OK, "failed to register known folder: 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 hr = IKnownFolderManager_GetFolder(mgr, &newFolderId, &folder);
-                ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+                ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
                 if(SUCCEEDED(hr))
                 {
                     hr = IKnownFolder_GetCategory(folder, &cat);
-                    ok(hr == S_OK, "failed to get folder category: hr=0x%0x\n", hr);
+                    ok(hr == S_OK, "failed to get folder category: hr=0x%0lx\n", hr);
                     ok(cat == KF_CATEGORY_PERUSER, "invalid category returned: %d, while %d (KF_CATEGORY_PERUSER) expected\n", cat, KF_CATEGORY_PERUSER);
 
                     hr = IKnownFolder_GetId(folder, &folderId);
-                    ok(hr == S_OK, "failed to get folder id: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to get folder id: 0x%08lx\n", hr);
                     ok(IsEqualGUID(&folderId, &newFolderId)==TRUE, "invalid KNOWNFOLDERID returned\n");
 
                     /* current path should be Temp\Example */
                     hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                    ok(hr == S_OK, "failed to get path from known folder: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to get path from known folder: 0x%08lx\n", hr);
                     ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                     CoTaskMemFree(folderPath);
 
@@ -2368,45 +2368,45 @@ static void test_knownFolders(void)
                     kfSubDefinition.fidParent = newFolderId;
 
                     hr = IKnownFolderManager_RegisterFolder(mgr, &subFolderId, &kfSubDefinition);
-                    ok(hr == S_OK, "failed to register known folder: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to register known folder: 0x%08lx\n", hr);
                     if(SUCCEEDED(hr))
                     {
 
                         hr = IKnownFolderManager_GetFolder(mgr, &subFolderId, &subFolder);
-                        ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+                        ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
                         if(SUCCEEDED(hr))
                         {
                             /* check sub folder path */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolderPath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolderPath));
                             CoTaskMemFree(folderPath);
 
 
                             /* try to redirect Example to Temp\Example2  */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, 0, sExample2Path, 0, NULL, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExample2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExample2Path));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder - it should fail now, as we redirected its parent folder, but we have no sub folder in new location */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "unexpected value from GetPath(): 0x%08x\n", hr);
+                            ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "unexpected value from GetPath(): 0x%08lx\n", hr);
                             ok(folderPath==NULL, "invalid known folder path retrieved: \"%s\" when NULL pointer was expected\n", wine_dbgstr_w(folderPath));
                             CoTaskMemFree(folderPath);
 
 
                             /* set Example path to original. Using SetPath() is valid here, as it also uses redirection internally */
                             hr = IKnownFolder_SetPath(folder, 0, sExamplePath);
-                            ok(hr == S_OK, "SetPath() failed: 0x%08x\n", hr);
+                            ok(hr == S_OK, "SetPath() failed: 0x%08lx\n", hr);
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                             CoTaskMemFree(folderPath);
 
@@ -2417,11 +2417,11 @@ static void test_knownFolders(void)
 
                             /* again perform that same redirection */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, 0, sExample2Path, 0, NULL, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify sub folder. It should succeed now, as the required sub folder exists */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolder2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolder2Path));
                             CoTaskMemFree(folderPath);
 
@@ -2431,7 +2431,7 @@ static void test_knownFolders(void)
                             /* verify subfolder. It still succeeds, so Windows does not check folder presence each time */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
                             todo_wine
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             todo_wine
                             ok(lstrcmpiW(folderPath, sSubFolder2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolder2Path));
                             CoTaskMemFree(folderPath);
@@ -2439,17 +2439,17 @@ static void test_knownFolders(void)
 
                             /* set Example path to original */
                             hr = IKnownFolder_SetPath(folder, 0, sExamplePath);
-                            ok(hr == S_OK, "SetPath() failed: 0x%08x\n", hr);
+                            ok(hr == S_OK, "SetPath() failed: 0x%08lx\n", hr);
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolderPath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolderPath));
                             CoTaskMemFree(folderPath);
 
@@ -2460,17 +2460,17 @@ static void test_knownFolders(void)
 
                             /* do that same redirection, but try to exclude sub-folder */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, 0, sExample2Path, 1, &subFolderId, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExample2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExample2Path));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder. Unexpectedly, this path was also changed. So, exclusion seems to be ignored (Windows bug)? This test however will let us know, if this behavior is changed */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolder2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolder2Path));
                             CoTaskMemFree(folderPath);
 
@@ -2480,34 +2480,34 @@ static void test_knownFolders(void)
 
                             /* set Example path to original */
                             hr = IKnownFolder_SetPath(folder, 0, sExamplePath);
-                            ok(hr == S_OK, "SetPath() failed: 0x%08x\n", hr);
+                            ok(hr == S_OK, "SetPath() failed: 0x%08lx\n", hr);
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolderPath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolderPath));
                             CoTaskMemFree(folderPath);
 
 
                             /* do that same redirection again, but set it to copy content. It should also copy the sub folder, so checking it would succeed now */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, KF_REDIRECT_COPY_CONTENTS, sExample2Path, 0, NULL, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExample2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExample2Path));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolder2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolder2Path));
                             CoTaskMemFree(folderPath);
 
@@ -2517,55 +2517,55 @@ static void test_knownFolders(void)
 
                             /* set Example path to original */
                             hr = IKnownFolder_SetPath(folder, 0, sExamplePath);
-                            ok(hr == S_OK, "SetPath() failed: 0x%08x\n", hr);
+                            ok(hr == S_OK, "SetPath() failed: 0x%08lx\n", hr);
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolderPath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolderPath));
                             CoTaskMemFree(folderPath);
 
 
                             /* redirect again, set it to copy content and remove originals */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, KF_REDIRECT_COPY_CONTENTS | KF_REDIRECT_DEL_SOURCE_CONTENTS, sExample2Path, 0, NULL, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExample2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExample2Path));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolder2Path)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolder2Path));
                             CoTaskMemFree(folderPath);
 
                             /* check if original directory was really removed */
                             dwAttributes = GetFileAttributesW(sExamplePath);
-                            ok(dwAttributes==INVALID_FILE_ATTRIBUTES, "directory should not exist, but has attributes: 0x%08x\n", dwAttributes );
+                            ok(dwAttributes==INVALID_FILE_ATTRIBUTES, "directory should not exist, but has attributes: 0x%08lx\n", dwAttributes );
 
 
                             /* redirect (with copy) to original path */
                             hr = IKnownFolderManager_Redirect(mgr, &newFolderId, NULL, KF_REDIRECT_COPY_CONTENTS,  sExamplePath, 0, NULL, &errorMsg);
-                            ok(hr == S_OK, "failed to redirect known folder: 0x%08x, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
+                            ok(hr == S_OK, "failed to redirect known folder: 0x%08lx, errorMsg: %s\n", hr, wine_dbgstr_w(errorMsg));
 
                             /* verify */
                             hr = IKnownFolder_GetPath(folder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sExamplePath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sExamplePath));
                             CoTaskMemFree(folderPath);
 
                             /* verify sub folder */
                             hr = IKnownFolder_GetPath(subFolder, 0, &folderPath);
-                            ok(hr == S_OK, "failed to get known folder path: 0x%08x\n", hr);
+                            ok(hr == S_OK, "failed to get known folder path: 0x%08lx\n", hr);
                             ok(lstrcmpiW(folderPath, sSubFolderPath)==0, "invalid known folder path retrieved: \"%s\" when \"%s\" was expected\n", wine_dbgstr_w(folderPath), wine_dbgstr_w(sSubFolderPath));
                             CoTaskMemFree(folderPath);
 
@@ -2578,63 +2578,63 @@ static void test_knownFolders(void)
                                 /* try to get current known folder path */
                                 hr = pSHGetKnownFolderPath(&newFolderId, 0, NULL, &folderPath);
                                 todo_wine
-                                ok(hr==S_OK, "cannot get known folder path: hr=0x%0x\n", hr);
+                                ok(hr==S_OK, "cannot get known folder path: hr=0x%0lx\n", hr);
                                 todo_wine
                                 ok(lstrcmpW(folderPath, sExamplePath)==0, "invalid path returned: %s\n", wine_dbgstr_w(folderPath));
 
                                 /* set it to new value */
                                 hr = pSHSetKnownFolderPath(&newFolderId, 0, NULL, sExample2Path);
                                 todo_wine
-                                ok(hr==S_OK, "cannot set known folder path: hr=0x%0x\n", hr);
+                                ok(hr==S_OK, "cannot set known folder path: hr=0x%0lx\n", hr);
 
                                 /* check if it changed */
                                 hr = pSHGetKnownFolderPath(&newFolderId, 0, NULL, &folderPath);
                                 todo_wine
-                                ok(hr==S_OK, "cannot get known folder path: hr=0x%0x\n", hr);
+                                ok(hr==S_OK, "cannot get known folder path: hr=0x%0lx\n", hr);
                                 todo_wine
                                 ok(lstrcmpW(folderPath, sExample2Path)==0, "invalid path returned: %s\n", wine_dbgstr_w(folderPath));
 
                                 /* set it back */
                                 hr = pSHSetKnownFolderPath(&newFolderId, 0, NULL, sExamplePath);
                                 todo_wine
-                                ok(hr==S_OK, "cannot set known folder path: hr=0x%0x\n", hr);
+                                ok(hr==S_OK, "cannot set known folder path: hr=0x%0lx\n", hr);
                             }
 
                             IKnownFolder_Release(subFolder);
                         }
 
                         hr = IKnownFolderManager_UnregisterFolder(mgr, &subFolderId);
-                        ok(hr == S_OK, "failed to unregister folder: 0x%08x\n", hr);
+                        ok(hr == S_OK, "failed to unregister folder: 0x%08lx\n", hr);
                     }
 
                     FreeKnownFolderDefinitionFields(&kfSubDefinition);
 
                     hr = IKnownFolder_Release(folder);
-                    ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08lx\n", hr);
 
                     /* update the folder */
                     CoTaskMemFree(kfDefinition.pszName);
                     kfDefinition.pszName = CoTaskMemAlloc(sizeof(sExample2));
                     lstrcpyW(kfDefinition.pszName, sExample2);
                     hr = IKnownFolderManager_RegisterFolder(mgr, &newFolderId, &kfDefinition);
-                    ok(hr == S_OK, "failed to re-register known folder: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to re-register known folder: 0x%08lx\n", hr);
 
                     hr = IKnownFolderManager_GetFolder(mgr, &newFolderId, &folder);
-                    ok(hr == S_OK, "failed to get known folder: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to get known folder: 0x%08lx\n", hr);
 
                     hr = IKnownFolder_GetFolderDefinition(folder, &kfSubDefinition);
-                    ok(hr == S_OK, "failed to get folder definition: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to get folder definition: 0x%08lx\n", hr);
                     ok(!memcmp(kfDefinition.pszName, kfSubDefinition.pszName, sizeof(sExample2)),
                             "Got wrong updated name: %s\n", wine_dbgstr_w(kfSubDefinition.pszName));
 
                     FreeKnownFolderDefinitionFields(&kfSubDefinition);
 
                     hr = IKnownFolder_Release(folder);
-                    ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08x\n", hr);
+                    ok(hr == S_OK, "failed to release KnownFolder instance: 0x%08lx\n", hr);
                 }
 
                 hr = IKnownFolderManager_UnregisterFolder(mgr, &newFolderId);
-                ok(hr == S_OK, "failed to unregister folder: 0x%08x\n", hr);
+                ok(hr == S_OK, "failed to unregister folder: 0x%08lx\n", hr);
             }
         }
         FreeKnownFolderDefinitionFields(&kfDefinition);
@@ -2645,7 +2645,7 @@ static void test_knownFolders(void)
         RemoveDirectoryW(sExample2Path);
 
         hr = IKnownFolderManager_Release(mgr);
-        ok(hr == S_OK, "failed to release KnownFolderManager instance: 0x%08x\n", hr);
+        ok(hr == S_OK, "failed to release KnownFolderManager instance: 0x%08lx\n", hr);
     }
     CoUninitialize();
 }
@@ -2695,14 +2695,14 @@ static void test_DoEnvironmentSubst(void)
             return;
         }
         ok(HIWORD(res) && (LOWORD(res) == res2),
-            "got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2);
+            "got %d/%d (expected TRUE/%ld)\n", HIWORD(res), LOWORD(res), res2);
         ok(!lstrcmpA(bufferA, expectedA),
             "got %s (expected %s)\n", bufferA, expectedA);
 
         res2 = ExpandEnvironmentStringsW(bufferW, expectedW, MAX_PATH);
         res = DoEnvironmentSubstW(bufferW, MAX_PATH);
         ok(HIWORD(res) && (LOWORD(res) == res2),
-            "got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2);
+            "got %d/%d (expected TRUE/%ld)\n", HIWORD(res), LOWORD(res), res2);
         ok(!lstrcmpW(bufferW, expectedW),
             "got %s (expected %s)\n", wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW));
         winetest_pop_context();
@@ -2720,14 +2720,14 @@ static void test_DoEnvironmentSubst(void)
     res2 = ExpandEnvironmentStringsA(bufferA, expectedA, MAX_PATH);
     res = DoEnvironmentSubstA(bufferA, len + 1);
     ok(HIWORD(res) && (LOWORD(res) == res2),
-        "+1: got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2);
+        "+1: got %d/%d (expected TRUE/%ld)\n", HIWORD(res), LOWORD(res), res2);
     ok(!lstrcmpA(bufferA, expectedA),
         "+1: got %s (expected %s)\n", bufferA, expectedA);
 
     res2 = ExpandEnvironmentStringsW(bufferW, expectedW, MAX_PATH);
     res = DoEnvironmentSubstW(bufferW, len + 1);
     ok(HIWORD(res) && (LOWORD(res) == res2),
-        "+1: got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2);
+        "+1: got %d/%d (expected TRUE/%ld)\n", HIWORD(res), LOWORD(res), res2);
     ok(!lstrcmpW(bufferW, expectedW),
         "+1: got %s (expected %s)\n", wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW));
 
@@ -2741,7 +2741,7 @@ static void test_DoEnvironmentSubst(void)
     /* ANSI version failed without an extra byte, as documented on msdn */
     res = DoEnvironmentSubstA(bufferA, len);
     ok(!HIWORD(res) && (LOWORD(res) == len),
-        " 0: got %d/%d  (expected FALSE/%d)\n", HIWORD(res), LOWORD(res), len);
+        " 0: got %d/%d  (expected FALSE/%ld)\n", HIWORD(res), LOWORD(res), len);
     ok(!lstrcmpA(bufferA, names[i]),
         " 0: got %s (expected %s)\n", bufferA, names[i]);
 
@@ -2749,7 +2749,7 @@ static void test_DoEnvironmentSubst(void)
     res2 = ExpandEnvironmentStringsW(bufferW, expectedW, MAX_PATH);
     res = DoEnvironmentSubstW(bufferW, len);
     ok(HIWORD(res) && (LOWORD(res) == res2),
-        " 0: got %d/%d (expected TRUE/%d)\n", HIWORD(res), LOWORD(res), res2);
+        " 0: got %d/%d (expected TRUE/%ld)\n", HIWORD(res), LOWORD(res), res2);
     ok(!lstrcmpW(bufferW, expectedW),
         " 0: got %s (expected %s)\n", wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW));
 
@@ -2763,14 +2763,14 @@ static void test_DoEnvironmentSubst(void)
 
     res = DoEnvironmentSubstA(bufferA, len - 1);
     ok(!HIWORD(res) && (LOWORD(res) == (len - 1)),
-        "-1: got %d/%d  (expected FALSE/%d)\n", HIWORD(res), LOWORD(res), len - 1);
+        "-1: got %d/%d  (expected FALSE/%ld)\n", HIWORD(res), LOWORD(res), len - 1);
     ok(!lstrcmpA(bufferA, names[i]),
         "-1: got %s (expected %s)\n", bufferA, names[i]);
 
     lstrcpyW(expectedW, bufferW);
     res = DoEnvironmentSubstW(bufferW, len - 1);
     ok(!HIWORD(res) && (LOWORD(res) == (len - 1)),
-        "-1: got %d/%d  (expected FALSE/%d)\n", HIWORD(res), LOWORD(res), len - 1);
+        "-1: got %d/%d  (expected FALSE/%ld)\n", HIWORD(res), LOWORD(res), len - 1);
     ok(!lstrcmpW(bufferW, expectedW),
         "-1: got %s (expected %s)\n", wine_dbgstr_w(bufferW), wine_dbgstr_w(expectedW));
 
@@ -2785,13 +2785,13 @@ static void test_DoEnvironmentSubst(void)
     res2 = lstrlenA(does_not_existA) + 1;
     res = DoEnvironmentSubstA(bufferA, MAX_PATH);
     ok(HIWORD(res) && (LOWORD(res) == res2),
-            "%d: got %d/%d (expected TRUE/%d)\n", i, HIWORD(res), LOWORD(res), res2);
+            "%d: got %d/%d (expected TRUE/%ld)\n", i, HIWORD(res), LOWORD(res), res2);
     ok(!lstrcmpA(bufferA, does_not_existA),
         "%d: got %s (expected %s)\n", i, bufferA, does_not_existA);
 
     res = DoEnvironmentSubstW(bufferW, MAX_PATH);
     ok(HIWORD(res) && (LOWORD(res) == res2),
-        "%d: got %d/%d (expected TRUE/%d)\n", i, HIWORD(res), LOWORD(res), res2);
+        "%d: got %d/%d (expected TRUE/%ld)\n", i, HIWORD(res), LOWORD(res), res2);
     ok(!lstrcmpW(bufferW, does_not_existW),
         "%d: got %s (expected %s)\n", i, wine_dbgstr_w(bufferW), wine_dbgstr_w(does_not_existW));
 
@@ -2895,7 +2895,7 @@ static void test_SHGetKnownFolderIDList(void)
     }
 
     hr = pSHGetKnownFolderIDList(NULL, 0, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 
 if (0) { /* crashes on native */
     pidl = (void*)0xdeadbeef;
@@ -2904,36 +2904,36 @@ if (0) { /* crashes on native */
     /* not a known folder */
     pidl = (void*)0xdeadbeef;
     hr = pSHGetKnownFolderIDList(&IID_IUnknown, 0, NULL, &pidl);
-    ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08x\n", hr);
+    ok(hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), "got 0x%08lx\n", hr);
     ok(pidl == NULL, "got %p\n", pidl);
 
     hr = pSHGetKnownFolderIDList(&FOLDERID_Desktop, 0, NULL, NULL);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 
     pidl = (void*)0xdeadbeef;
     hr = pSHGetKnownFolderIDList(&FOLDERID_Desktop, 0, NULL, &pidl);
-    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08lx\n", hr);
     ok(ILIsEmpty(pidl), "pidl should be empty.\n");
     ok(pidl->mkid.cb == 0, "get wrong value: %d\n", pidl->mkid.cb);
     ILFree(pidl);
 
     pidl = (void*)0xdeadbeef;
     hr = pSHGetKnownFolderIDList(&FOLDERID_Desktop, KF_FLAG_NO_ALIAS, NULL, &pidl);
-    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08lx\n", hr);
     todo_wine ok(!ILIsEmpty(pidl), "pidl should not be empty.\n");
     todo_wine ok(pidl->mkid.cb == 20, "get wrong value: %d\n", pidl->mkid.cb);
     ILFree(pidl);
 
     pidl = (void*)0xdeadbeef;
     hr = pSHGetKnownFolderIDList(&FOLDERID_Documents, 0, NULL, &pidl);
-    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08lx\n", hr);
     ok(!ILIsEmpty(pidl), "pidl should not be empty.\n");
     ok(pidl->mkid.cb == 20, "get wrong value: %d\n", pidl->mkid.cb);
     ILFree(pidl);
 
     pidl = (void*)0xdeadbeef;
     hr = pSHGetKnownFolderIDList(&FOLDERID_Documents, KF_FLAG_NO_ALIAS, NULL, &pidl);
-    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetKnownFolderIDList failed: 0x%08lx\n", hr);
     ok(!ILIsEmpty(pidl), "pidl should not be empty.\n");
     ok(pidl->mkid.cb == 20, "get wrong value: %d\n", pidl->mkid.cb);
     ILFree(pidl);
@@ -3051,7 +3051,7 @@ static void test_PathResolve(void)
         if (!tests[i].expected)
             ok(GetLastError() == ERROR_FILE_NOT_FOUND ||
                broken(GetLastError() == ERROR_PATH_NOT_FOUND /* some win 8.1 & 10 */),
-               "expected ERROR_FILE_NOT_FOUND, got %d\n", GetLastError());
+               "expected ERROR_FILE_NOT_FOUND, got %ld\n", GetLastError());
         winetest_pop_context();
     }
 
diff --git a/dlls/shell32/tests/shfldr_special.c b/dlls/shell32/tests/shfldr_special.c
index b73759ed0f8..cc0bb20ff33 100644
--- a/dlls/shell32/tests/shfldr_special.c
+++ b/dlls/shell32/tests/shfldr_special.c
@@ -57,19 +57,19 @@ static void test_parse_for_entire_network(void)
     DWORD expected_attr;
 
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, my_network_places_path, &eaten, &pidl, &attr);
-    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%lx\n", hr);
     todo_wine
-    ok(eaten == 0xdeadbeef, "eaten should not have been set to %u\n", eaten);
+    ok(eaten == 0xdeadbeef, "eaten should not have been set to %lu\n", eaten);
     expected_attr = SFGAO_HASSUBFOLDER|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR|SFGAO_DROPTARGET|SFGAO_HASPROPSHEET|SFGAO_CANRENAME|SFGAO_CANLINK;
     todo_wine
     ok((attr == expected_attr) || /* Win9x, NT4 */
        (attr == (expected_attr | SFGAO_STREAM)) || /* W2K */
        (attr == (expected_attr | SFGAO_CANDELETE)) || /* XP, W2K3 */
        (attr == (expected_attr | SFGAO_CANDELETE | SFGAO_NONENUMERATED)), /* Vista */
-       "Unexpected attributes : %08x\n", attr);
+       "Unexpected attributes : %08lx\n", attr);
 
     ILFree(pidl);
 
@@ -86,15 +86,15 @@ static void test_parse_for_entire_network(void)
         win_skip("'EntireNetwork' is not available on Win9x, NT4 and Vista\n");
         return;
     }
-    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%lx\n", hr);
     todo_wine
-    ok(eaten == 0xdeadbeef, "eaten should not have been set to %u\n", eaten);
+    ok(eaten == 0xdeadbeef, "eaten should not have been set to %lu\n", eaten);
     expected_attr = SFGAO_HASSUBFOLDER|SFGAO_FOLDER|SFGAO_FILESYSANCESTOR|SFGAO_HASPROPSHEET|SFGAO_CANLINK;
     todo_wine
     ok(attr == expected_attr || /* winme, nt4 */
        attr == (expected_attr | SFGAO_STREAM) || /* win2k */
        attr == (expected_attr | SFGAO_STORAGEANCESTOR),  /* others */
-       "attr should be 0x%x, not 0x%x\n", expected_attr, attr);
+       "attr should be 0x%lx, not 0x%lx\n", expected_attr, attr);
 
     ILFree(pidl);
 }
@@ -113,18 +113,18 @@ static void test_parse_for_control_panel(void)
     DWORD attr = ~0;
 
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, control_panel_path, &eaten, &pidl, &attr);
-    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%x\n", hr);
-    todo_wine ok(eaten == 0xdeadbeef, "eaten should not have been set to %u\n", eaten);
+    ok(hr == S_OK, "IShellFolder_ParseDisplayName failed with error 0x%lx\n", hr);
+    todo_wine ok(eaten == 0xdeadbeef, "eaten should not have been set to %lu\n", eaten);
     todo_wine
     ok((attr == (SFGAO_CANLINK | SFGAO_FOLDER)) || /* Win9x, NT4 */
        (attr == (SFGAO_CANLINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER | SFGAO_STREAM)) || /* W2K */
        (attr == (SFGAO_CANLINK | SFGAO_FOLDER | SFGAO_HASSUBFOLDER)) || /* W2K, XP, W2K3 */
        (attr == (SFGAO_CANLINK | SFGAO_NONENUMERATED)) || /* Vista */
        (attr == SFGAO_CANLINK), /* Vista, W2K8 */
-       "Unexpected attributes : %08x\n", attr);
+       "Unexpected attributes : %08lx\n", attr);
 
     ILFree(pidl);
     IShellFolder_Release(psfDesktop);
@@ -160,14 +160,14 @@ if (0)
 
     /* 5 columns defined */
     hr = IShellFolder2_GetDetailsOf(folder, NULL, 6, &details);
-    ok(hr == E_NOTIMPL, "got 0x%08x\n", hr);
+    ok(hr == E_NOTIMPL, "got 0x%08lx\n", hr);
 
     hr = IShellFolder2_GetDefaultColumnState(folder, 6, &state);
-    ok(broken(hr == E_NOTIMPL) || hr == E_INVALIDARG /* Win7 */, "got 0x%08x\n", hr);
+    ok(broken(hr == E_NOTIMPL) || hr == E_INVALIDARG /* Win7 */, "got 0x%08lx\n", hr);
 
     details.str.u.pOleStr = NULL;
     hr = IShellFolder2_GetDetailsOf(folder, NULL, 0, &details);
-    ok(hr == S_OK || broken(hr == E_NOTIMPL) /* W2K */, "got 0x%08x\n", hr);
+    ok(hr == S_OK || broken(hr == E_NOTIMPL) /* W2K */, "got 0x%08lx\n", hr);
     if (SHELL_OsIsUnicode()) SHFree(details.str.u.pOleStr);
 
     /* test every column if method is implemented */
@@ -178,7 +178,7 @@ if (0)
         for(i = 0; i < 6; i++)
         {
             hr = IShellFolder2_GetDetailsOf(folder, NULL, i, &details);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
 
             /* all columns are left-aligned */
             ok(details.fmt == LVCFMT_LEFT, "got 0x%x\n", details.fmt);
@@ -187,33 +187,33 @@ if (0)
             if (SHELL_OsIsUnicode()) SHFree(details.str.u.pOleStr);
 
             hr = IShellFolder2_GetDefaultColumnState(folder, i, &state);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             /* all columns are string except document count */
             if (i == 1)
-                ok(state == (SHCOLSTATE_TYPE_INT | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
+                ok(state == (SHCOLSTATE_TYPE_INT | SHCOLSTATE_ONBYDEFAULT), "got 0x%lx\n", state);
             else
-                ok(state == (SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT), "got 0x%x\n", state);
+                ok(state == (SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT), "got 0x%lx\n", state);
         }
     }
 
     /* default pidl */
     hr = IShellFolder2_QueryInterface(folder, &IID_IPersistFolder2, (void**)&pf);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     /* not initialized */
     pidl1 = (void*)0xdeadbeef;
     hr = IPersistFolder2_GetCurFolder(pf, &pidl1);
-    ok(hr == S_FALSE, "got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "got 0x%08lx\n", hr);
     ok(pidl1 == NULL, "got %p\n", pidl1);
 
     hr = SHGetSpecialFolderLocation(NULL, CSIDL_PRINTERS, &pidl2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IPersistFolder2_Initialize(pf, pidl2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     hr = IPersistFolder2_GetCurFolder(pf, &pidl1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     ok(ILIsEqual(pidl1, pidl2), "expected same PIDL\n");
     IPersistFolder2_Release(pf);
@@ -231,10 +231,10 @@ static void test_desktop_folder(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&psf);
-    ok(hr == S_OK, "Got %x\n", hr);
+    ok(hr == S_OK, "Got %lx\n", hr);
 
     hr = IShellFolder_QueryInterface(psf, &IID_IShellFolder, NULL);
-    ok(hr == E_POINTER, "Got %x\n", hr);
+    ok(hr == E_POINTER, "Got %lx\n", hr);
 
     IShellFolder_Release(psf);
 }
@@ -255,7 +255,7 @@ static void test_desktop_displaynameof(void)
     UINT i;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopFolder failed with error 0x%08lx\n", hr);
     if (FAILED(hr)) return;
 
     for (i = 0; i < ARRAY_SIZE(folders); i++)
@@ -263,26 +263,26 @@ static void test_desktop_displaynameof(void)
         WCHAR name1[MAX_PATH], name2[MAX_PATH];
 
         hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, folders[i], &eaten, &pidl, NULL);
-        ok(hr == S_OK, "IShellFolder::ParseDisplayName failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "IShellFolder::ParseDisplayName failed with error 0x%08lx\n", hr);
         if (FAILED(hr)) continue;
 
         hr = IShellFolder_GetDisplayNameOf(desktop, pidl, SHGDN_INFOLDER, &strret);
-        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08lx\n", hr);
         hr = StrRetToBufW(&strret, pidl, name1, ARRAY_SIZE(name1));
-        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08lx\n", hr);
 
         hr = IShellFolder_GetDisplayNameOf(desktop, pidl, SHGDN_INFOLDER | SHGDN_FORPARSING | SHGDN_FORADDRESSBAR, &strret);
-        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08lx\n", hr);
         hr = StrRetToBufW(&strret, pidl, name2, ARRAY_SIZE(name2));
-        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08lx\n", hr);
 
         ok(!lstrcmpW(name1, name2), "the display names are not equal: %s vs %s\n", wine_dbgstr_w(name1), wine_dbgstr_w(name2));
         ok(name1[0] != ':' || name1[1] != ':', "display name is a GUID: %s\n", wine_dbgstr_w(name1));
 
         hr = IShellFolder_GetDisplayNameOf(desktop, pidl, SHGDN_INFOLDER | SHGDN_FORPARSING, &strret);
-        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "IShellFolder::GetDisplayNameOf failed with error 0x%08lx\n", hr);
         hr = StrRetToBufW(&strret, pidl, name1, ARRAY_SIZE(name1));
-        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08x\n", hr);
+        ok(hr == S_OK, "StrRetToBuf failed with error 0x%08lx\n", hr);
 
         ok(lstrcmpW(name1, name2), "the display names are equal: %s\n", wine_dbgstr_w(name1));
         ok(name1[0] == ':' && name1[1] == ':', "display name is not a GUID: %s\n", wine_dbgstr_w(name1));
diff --git a/dlls/shell32/tests/shlexec.c b/dlls/shell32/tests/shlexec.c
index e319dfb6fa7..cea7245f387 100644
--- a/dlls/shell32/tests/shlexec.c
+++ b/dlls/shell32/tests/shlexec.c
@@ -157,7 +157,7 @@ static HDDEDATA CALLBACK ddeCb(UINT uType, UINT uFmt, HCONV hConv,
     DWORD size = 0;
 
     if (winetest_debug > 2)
-        trace("dde_cb: %04x, %04x, %p, %p, %p, %p, %08lx, %08lx\n",
+        trace("dde_cb: %04x, %04x, %p, %p, %p, %p, %08Ix, %08Ix\n",
               uType, uFmt, hConv, hsz1, hsz2, hData, dwData1, dwData2);
 
     switch (uType)
@@ -166,7 +166,7 @@ static HDDEDATA CALLBACK ddeCb(UINT uType, UINT uFmt, HCONV hConv,
             if (!DdeCmpStringHandles(hsz1, hszTopic))
             {
                 size = DdeQueryStringA(ddeInst, hsz2, ddeApplication, MAX_PATH, CP_WINANSI);
-                ok(size < MAX_PATH, "got size %d\n", size);
+                ok(size < MAX_PATH, "got size %ld\n", size);
                 assert(size < MAX_PATH);
                 return (HDDEDATA)TRUE;
             }
@@ -174,7 +174,7 @@ static HDDEDATA CALLBACK ddeCb(UINT uType, UINT uFmt, HCONV hConv,
 
         case XTYP_EXECUTE:
             size = DdeGetData(hData, (LPBYTE)ddeExec, MAX_PATH, 0);
-            ok(size < MAX_PATH, "got size %d\n", size);
+            ok(size < MAX_PATH, "got size %ld\n", size);
             assert(size < MAX_PATH);
             DdeFreeDataHandle(hData);
             if (post_quit_on_execute)
@@ -239,7 +239,7 @@ static void doChild(int argc, char** argv)
     *buffer = '\0';
     SetLastError(0);
     GetEnvironmentVariableA("ShlexecVar", buffer, sizeof(buffer));
-    childPrintf(hFile, "ShlexecVarLE=%d\r\n", GetLastError());
+    childPrintf(hFile, "ShlexecVarLE=%ld\r\n", GetLastError());
     childPrintf(hFile, "ShlexecVar=%s\r\n", encodeA(buffer));
 
     map = OpenFileMappingA(FILE_MAP_READ, FALSE, "winetest_shlexec_dde_map");
@@ -266,7 +266,7 @@ static void doChild(int argc, char** argv)
             hszTopic = DdeCreateStringHandleA(ddeInst, shared_block, CP_WINANSI);
             ok(hszTopic != NULL, "DdeCreateStringHandleA(%s) = NULL\n", shared_block);
             hdde = DdeNameService(ddeInst, hszApplication, 0, DNS_REGISTER | DNS_FILTEROFF);
-            ok(hdde != NULL, "DdeNameService() failed le=%u\n", GetLastError());
+            ok(hdde != NULL, "DdeNameService() failed le=%lu\n", GetLastError());
 
             timer = SetTimer(NULL, 0, CHILD_DDE_TIMEOUT, childTimeout);
 
@@ -277,14 +277,14 @@ static void doChild(int argc, char** argv)
             while (GetMessageA(&msg, NULL, 0, 0))
             {
                 if (winetest_debug > 2)
-                    trace("msg %d lParam=%ld wParam=%lu\n", msg.message, msg.lParam, msg.wParam);
+                    trace("msg %d lParam=%Id wParam=%Iu\n", msg.message, msg.lParam, msg.wParam);
                 DispatchMessageA(&msg);
             }
 
             Sleep(500);
             KillTimer(NULL, timer);
             hdde = DdeNameService(ddeInst, hszApplication, 0, DNS_UNREGISTER);
-            ok(hdde != NULL, "DdeNameService() failed le=%u\n", GetLastError());
+            ok(hdde != NULL, "DdeNameService() failed le=%lu\n", GetLastError());
             ok(DdeFreeStringHandle(ddeInst, hszTopic), "DdeFreeStringHandle(topic)\n");
             ok(DdeFreeStringHandle(ddeInst, hszApplication), "DdeFreeStringHandle(application)\n");
             ok(DdeUninitialize(ddeInst), "DdeUninitialize() failed\n");
@@ -301,7 +301,7 @@ static void doChild(int argc, char** argv)
         childPrintf(hFile, "ddeExec=%s\r\n", encodeA(ddeExec));
     }
 
-    childPrintf(hFile, "Failures=%d\r\n", winetest_get_failures());
+    childPrintf(hFile, "Failures=%ld\r\n", winetest_get_failures());
     CloseHandle(hFile);
 
     init_event(filename);
@@ -561,7 +561,7 @@ static INT_PTR shell_execute_(const char* file, int line, LPCSTR verb, LPCSTR fi
             bad_shellexecute = 1;
         okShell_(file, line)(rc == rcEmpty ||
                              broken(rc != rcEmpty && rcEmpty == SE_ERR_NOASSOC) /* NT4 */,
-                             "Got different return value with empty string: %lu %lu\n", rc, rcEmpty);
+                             "Got different return value with empty string: %Iu %Iu\n", rc, rcEmpty);
     }
 
     return rc;
@@ -583,7 +583,7 @@ static INT_PTR shell_execute_ex_(const char* file, int line,
     mask |= SEE_MASK_NOCLOSEPROCESS | SEE_MASK_NO_CONSOLE;
 
     strcpy(shell_call, "ShellExecuteEx(");
-    sprintf(smask, "0x%x", mask);
+    sprintf(smask, "0x%lx", mask);
     strcat_param(shell_call, "mask", smask);
     strcat_param(shell_call, "verb", verb);
     strcat_param(shell_call, "file", filename);
@@ -616,7 +616,7 @@ static INT_PTR shell_execute_ex_(const char* file, int line,
     success=ShellExecuteExA(&sei);
     rc=(INT_PTR)sei.hInstApp;
     okShell_(file, line)((success && rc > 32) || (!success && rc <= 32),
-                         "rc=%d and hInstApp=%ld is not allowed\n",
+                         "rc=%d and hInstApp=%Id is not allowed\n",
                          success, rc);
 
     if (rc > 32)
@@ -626,18 +626,18 @@ static INT_PTR shell_execute_ex_(const char* file, int line,
         {
             wait_rc=WaitForSingleObject(sei.hProcess, 5000);
             okShell_(file, line)(wait_rc==WAIT_OBJECT_0,
-                                 "WaitForSingleObject(hProcess) returned %d\n",
+                                 "WaitForSingleObject(hProcess) returned %ld\n",
                                  wait_rc);
             wait_rc = GetExitCodeProcess(sei.hProcess, &rc);
-            okShell_(file, line)(wait_rc, "GetExitCodeProcess() failed le=%u\n", GetLastError());
+            okShell_(file, line)(wait_rc, "GetExitCodeProcess() failed le=%lu\n", GetLastError());
             todo_wine_if(_todo_wait)
-                okShell_(file, line)(rc == 0, "child returned %u\n", rc);
+                okShell_(file, line)(rc == 0, "child returned %lu\n", rc);
             CloseHandle(sei.hProcess);
         }
         wait_rc=WaitForSingleObject(hEvent, 5000);
         todo_wine_if(_todo_wait)
             okShell_(file, line)(wait_rc==WAIT_OBJECT_0,
-                                 "WaitForSingleObject returned %d\n", wait_rc);
+                                 "WaitForSingleObject returned %ld\n", wait_rc);
     }
     else
         okShell_(file, line)(sei.hProcess==NULL,
@@ -690,19 +690,19 @@ static BOOL create_test_class(const char* class, BOOL protocol)
                          KEY_CREATE_SUB_KEY | KEY_SET_VALUE, NULL,
                          &hkey, NULL);
     ok(rc == ERROR_SUCCESS || rc == ERROR_ACCESS_DENIED,
-       "could not create class %s (rc=%d)\n", class, rc);
+       "could not create class %s (rc=%ld)\n", class, rc);
     if (rc != ERROR_SUCCESS)
         return FALSE;
 
     if (protocol)
     {
         rc = RegSetValueExA(hkey, "URL Protocol", 0, REG_SZ, (LPBYTE)"", 1);
-        ok(rc == ERROR_SUCCESS, "RegSetValueEx '%s' failed, expected ERROR_SUCCESS, got %d\n", class, rc);
+        ok(rc == ERROR_SUCCESS, "RegSetValueEx '%s' failed, expected ERROR_SUCCESS, got %ld\n", class, rc);
     }
 
     rc = RegCreateKeyExA(hkey, "shell", 0, NULL, 0,
                          KEY_CREATE_SUB_KEY, NULL, &hkey_shell, NULL);
-    ok(rc == ERROR_SUCCESS, "RegCreateKeyEx 'shell' failed, expected ERROR_SUCCESS, got %d\n", rc);
+    ok(rc == ERROR_SUCCESS, "RegCreateKeyEx 'shell' failed, expected ERROR_SUCCESS, got %ld\n", rc);
 
     CloseHandle(hkey);
     CloseHandle(hkey_shell);
@@ -719,12 +719,12 @@ static BOOL create_test_association(const char* extension)
     rc=RegCreateKeyExA(HKEY_CLASSES_ROOT, extension, 0, NULL, 0, KEY_SET_VALUE,
                        NULL, &hkey, NULL);
     ok(rc == ERROR_SUCCESS || rc == ERROR_ACCESS_DENIED,
-       "could not create association %s (rc=%d)\n", class, rc);
+       "could not create association %s (rc=%ld)\n", class, rc);
     if (rc != ERROR_SUCCESS)
         return FALSE;
 
     rc=RegSetValueExA(hkey, NULL, 0, REG_SZ, (LPBYTE) class, strlen(class)+1);
-    ok(rc==ERROR_SUCCESS, "RegSetValueEx '%s' failed, expected ERROR_SUCCESS, got %d\n", class, rc);
+    ok(rc==ERROR_SUCCESS, "RegSetValueEx '%s' failed, expected ERROR_SUCCESS, got %ld\n", class, rc);
     CloseHandle(hkey);
 
     return create_test_class(class, FALSE);
@@ -835,15 +835,15 @@ static void create_test_verb_dde(const char* classname, const char* verb,
     sprintf(shell, "%s\\shell", classname);
     rc=RegOpenKeyExA(HKEY_CLASSES_ROOT, shell, 0,
                      KEY_CREATE_SUB_KEY, &hkey_shell);
-    ok(rc == ERROR_SUCCESS, "%s key creation failed with %d\n", shell, rc);
+    ok(rc == ERROR_SUCCESS, "%s key creation failed with %ld\n", shell, rc);
 
     rc=RegCreateKeyExA(hkey_shell, verb, 0, NULL, 0, KEY_CREATE_SUB_KEY,
                        NULL, &hkey_verb, NULL);
-    ok(rc == ERROR_SUCCESS, "%s verb key creation failed with %d\n", verb, rc);
+    ok(rc == ERROR_SUCCESS, "%s verb key creation failed with %ld\n", verb, rc);
 
     rc=RegCreateKeyExA(hkey_verb, "command", 0, NULL, 0, KEY_SET_VALUE,
                        NULL, &hkey_cmd, NULL);
-    ok(rc == ERROR_SUCCESS, "\'command\' key creation failed with %d\n", rc);
+    ok(rc == ERROR_SUCCESS, "\'command\' key creation failed with %ld\n", rc);
 
     if (rawcmd)
     {
@@ -854,7 +854,7 @@ static void create_test_verb_dde(const char* classname, const char* verb,
         cmd = heap_alloc(strlen(argv0) + 10 + strlen(child_file) + 2 + strlen(cmdtail) + 1);
         sprintf(cmd,"%s shlexec \"%s\" %s", argv0, child_file, cmdtail);
         rc=RegSetValueExA(hkey_cmd, NULL, 0, REG_SZ, (LPBYTE)cmd, strlen(cmd)+1);
-        ok(rc == ERROR_SUCCESS, "setting command failed with %d\n", rc);
+        ok(rc == ERROR_SUCCESS, "setting command failed with %ld\n", rc);
         heap_free(cmd);
     }
 
@@ -864,40 +864,40 @@ static void create_test_verb_dde(const char* classname, const char* verb,
 
         rc=RegCreateKeyExA(hkey_verb, "ddeexec", 0, NULL, 0, KEY_SET_VALUE |
                            KEY_CREATE_SUB_KEY, NULL, &hkey_ddeexec, NULL);
-        ok(rc == ERROR_SUCCESS, "\'ddeexec\' key creation failed with %d\n", rc);
+        ok(rc == ERROR_SUCCESS, "\'ddeexec\' key creation failed with %ld\n", rc);
         rc=RegSetValueExA(hkey_ddeexec, NULL, 0, REG_SZ, (LPBYTE)ddeexec,
                           strlen(ddeexec)+1);
-        ok(rc == ERROR_SUCCESS, "set value failed with %d\n", rc);
+        ok(rc == ERROR_SUCCESS, "set value failed with %ld\n", rc);
 
         if (application)
         {
             rc=RegCreateKeyExA(hkey_ddeexec, "application", 0, NULL, 0, KEY_SET_VALUE,
                                NULL, &hkey_application, NULL);
-            ok(rc == ERROR_SUCCESS, "\'application\' key creation failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "\'application\' key creation failed with %ld\n", rc);
 
             rc=RegSetValueExA(hkey_application, NULL, 0, REG_SZ, (LPBYTE)application,
                               strlen(application)+1);
-            ok(rc == ERROR_SUCCESS, "set value failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "set value failed with %ld\n", rc);
             CloseHandle(hkey_application);
         }
         if (topic)
         {
             rc=RegCreateKeyExA(hkey_ddeexec, "topic", 0, NULL, 0, KEY_SET_VALUE,
                                NULL, &hkey_topic, NULL);
-            ok(rc == ERROR_SUCCESS, "\'topic\' key creation failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "\'topic\' key creation failed with %ld\n", rc);
             rc=RegSetValueExA(hkey_topic, NULL, 0, REG_SZ, (LPBYTE)topic,
                               strlen(topic)+1);
-            ok(rc == ERROR_SUCCESS, "set value failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "set value failed with %ld\n", rc);
             CloseHandle(hkey_topic);
         }
         if (ifexec)
         {
             rc=RegCreateKeyExA(hkey_ddeexec, "ifexec", 0, NULL, 0, KEY_SET_VALUE,
                                NULL, &hkey_ifexec, NULL);
-            ok(rc == ERROR_SUCCESS, "\'ifexec\' key creation failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "\'ifexec\' key creation failed with %ld\n", rc);
             rc=RegSetValueExA(hkey_ifexec, NULL, 0, REG_SZ, (LPBYTE)ifexec,
                               strlen(ifexec)+1);
-            ok(rc == ERROR_SUCCESS, "set value failed with %d\n", rc);
+            ok(rc == ERROR_SUCCESS, "set value failed with %ld\n", rc);
             CloseHandle(hkey_ifexec);
         }
         CloseHandle(hkey_ddeexec);
@@ -1103,48 +1103,48 @@ static void test_lpFile_parsed(void)
     /* existing "drawback_file.noassoc" prevents finding "drawback_file.noassoc foo.shlexec" on Wine */
     sprintf(fileA, "%s\\drawback_file.noassoc foo.shlexec", tmpdir);
     rc=shell_execute(NULL, fileA, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu\n", rc);
+    okShell(rc > 32, "failed: rc=%Iu\n", rc);
 
     /* if quoted, existing "drawback_file.noassoc" does not prevent finding "drawback_file.noassoc foo.shlexec" on Wine */
     sprintf(fileA, "\"%s\\drawback_file.noassoc foo.shlexec\"", tmpdir);
     rc=shell_execute(NULL, fileA, NULL, NULL);
     okShell(rc > 32 || broken(rc == SE_ERR_FNF) /* Win95/NT4 */,
-            "failed: rc=%lu\n", rc);
+            "failed: rc=%Iu\n", rc);
 
     /* error should be SE_ERR_FNF, not SE_ERR_NOASSOC */
     sprintf(fileA, "\"%s\\drawback_file.noassoc\" foo.shlexec", tmpdir);
     rc=shell_execute(NULL, fileA, NULL, NULL);
-    okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* ""command"" not works on wine (and real win9x and w2k) */
     sprintf(fileA, "\"\"%s\\simple.shlexec\"\"", tmpdir);
     rc=shell_execute(NULL, fileA, NULL, NULL);
     todo_wine okShell(rc > 32 || broken(rc == SE_ERR_FNF) /* Win9x/2000 */,
-                      "failed: rc=%lu\n", rc);
+                      "failed: rc=%Iu\n", rc);
 
     /* nonexistent "drawback_nonexist.noassoc" does not prevent finding "drawback_nonexist.noassoc foo.shlexec" on Wine */
     sprintf(fileA, "%s\\drawback_nonexist.noassoc foo.shlexec", tmpdir);
     rc=shell_execute(NULL, fileA, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu\n", rc);
+    okShell(rc > 32, "failed: rc=%Iu\n", rc);
 
     /* is SEE_MASK_DOENVSUBST default flag? Should only be when XP emulates 9x (XP bug or real 95 or ME behavior ?) */
     rc=shell_execute(NULL, "%TMPDIR%\\simple.shlexec", NULL, NULL);
-    todo_wine okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    todo_wine okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* quoted */
     rc=shell_execute(NULL, "\"%TMPDIR%\\simple.shlexec\"", NULL, NULL);
-    todo_wine okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    todo_wine okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* test SEE_MASK_DOENVSUBST works */
     rc=shell_execute_ex(SEE_MASK_DOENVSUBST | SEE_MASK_FLAG_NO_UI,
                         NULL, "%TMPDIR%\\simple.shlexec", NULL, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu\n", rc);
+    okShell(rc > 32, "failed: rc=%Iu\n", rc);
 
     /* quoted lpFile does not work on real win95 and nt4 */
     rc=shell_execute_ex(SEE_MASK_DOENVSUBST | SEE_MASK_FLAG_NO_UI,
                         NULL, "\"%TMPDIR%\\simple.shlexec\"", NULL, NULL, NULL);
     okShell(rc > 32 || broken(rc == SE_ERR_FNF) /* Win95/NT4 */,
-            "failed: rc=%lu\n", rc);
+            "failed: rc=%Iu\n", rc);
 }
 
 typedef struct
@@ -1376,12 +1376,12 @@ static void test_commandline2argv(void)
     SetLastError(0xdeadbeef);
     args = CommandLineToArgvW(exeW, NULL);
     le = GetLastError();
-    ok(args == NULL && le == ERROR_INVALID_PARAMETER, "expected NULL with ERROR_INVALID_PARAMETER got %p with %u\n", args, le);
+    ok(args == NULL && le == ERROR_INVALID_PARAMETER, "expected NULL with ERROR_INVALID_PARAMETER got %p with %lu\n", args, le);
 
     SetLastError(0xdeadbeef);
     args = CommandLineToArgvW(NULL, NULL);
     le = GetLastError();
-    ok(args == NULL && le == ERROR_INVALID_PARAMETER, "expected NULL with ERROR_INVALID_PARAMETER got %p with %u\n", args, le);
+    ok(args == NULL && le == ERROR_INVALID_PARAMETER, "expected NULL with ERROR_INVALID_PARAMETER got %p with %lu\n", args, le);
 
     *strW = 0;
     args = CommandLineToArgvW(strW, &numargs);
@@ -1558,7 +1558,7 @@ static void test_argify(void)
 
     /* We need NOZONECHECKS on Win2003 to block a dialog */
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS, NULL, argv0, params, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu\n", rc);
+    okShell(rc > 32, "failed: rc=%Iu\n", rc);
     okChildInt("argcA", 4);
     okChildPath("argvA3", fileA);
 
@@ -1584,7 +1584,7 @@ static void test_argify(void)
         bad = test->broken ? test->broken : test->cmd;
 
         rc = shell_execute_ex(SEE_MASK_DOENVSUBST, test->verb, fileA, test->params, NULL, NULL);
-        okShell(rc > 32, "failed: rc=%lu\n", rc);
+        okShell(rc > 32, "failed: rc=%Iu\n", rc);
 
         cmd = getChildString("Child", "cmdlineA");
         /* Our commands are such that the verb immediately precedes the
@@ -1652,7 +1652,7 @@ static void test_filename(void)
             rc=33;
         okShell(rc==test->rc ||
                 broken(quotedfile && rc == SE_ERR_FNF), /* NT4 */
-                "failed: rc=%ld err=%u\n", rc, GetLastError());
+                "failed: rc=%Id err=%lu\n", rc, GetLastError());
         if (rc == 33)
         {
             const char* verb;
@@ -1675,7 +1675,7 @@ static void test_filename(void)
         if (rc > 32)
             rc=33;
         todo_wine_if(test->todo & 0x1)
-            okShell(rc==test->rc, "failed: rc=%ld err=%u\n", rc, GetLastError());
+            okShell(rc==test->rc, "failed: rc=%Id err=%lu\n", rc, GetLastError());
         if (rc==0)
         {
             int count;
@@ -1719,7 +1719,7 @@ static void test_filename(void)
          */
         sprintf(filename, "\"%s\\test file.shlexec\"", tmpdir);
         rc=shell_execute(NULL, filename, NULL, NULL);
-        okShell(rc > 32, "failed: rc=%ld err=%u\n", rc, GetLastError());
+        okShell(rc > 32, "failed: rc=%Id err=%lu\n", rc, GetLastError());
         okChildInt("argcA", 5);
         okChildString("argvA3", "Open");
         sprintf(filename, "%s\\test file.shlexec", tmpdir);
@@ -1728,7 +1728,7 @@ static void test_filename(void)
 
     sprintf(filename, "\"%s\\test file.sha\"", tmpdir);
     rc=shell_execute(NULL, filename, NULL, NULL);
-    todo_wine okShell(rc > 32, "failed: rc=%ld err=%u\n", rc, GetLastError());
+    todo_wine okShell(rc > 32, "failed: rc=%Id err=%lu\n", rc, GetLastError());
     okChildInt("argcA", 5);
     todo_wine okChildString("argvA3", "averb");
     sprintf(filename, "%s\\test file.sha", tmpdir);
@@ -1827,7 +1827,7 @@ static void test_fileurls(void)
 
         /* Test it first with FindExecutable() */
         rc = (INT_PTR)FindExecutableA(fileurl, NULL, command);
-        ok(rc == SE_ERR_FNF, "FindExecutable(%s) failed: bad rc=%lu\n", fileurl, rc);
+        ok(rc == SE_ERR_FNF, "FindExecutable(%s) failed: bad rc=%Iu\n", fileurl, rc);
 
         /* Then ShellExecute() */
         if ((test->todo & 0x10) == 0)
@@ -1842,14 +1842,14 @@ static void test_fileurls(void)
         if (test->flags & URL_SUCCESS)
         {
             todo_wine_if(test->todo & 0x1)
-                okShell(rc > 32, "failed: bad rc=%lu\n", rc);
+                okShell(rc > 32, "failed: bad rc=%Iu\n", rc);
         }
         else
         {
             todo_wine_if(test->todo & 0x1)
                 okShell(rc == SE_ERR_FNF || rc == SE_ERR_PNF ||
                         broken(rc == SE_ERR_ACCESSDENIED) /* win2000 */,
-                        "failed: bad rc=%lu\n", rc);
+                        "failed: bad rc=%Iu\n", rc);
         }
         if (rc == 33)
         {
@@ -1884,15 +1884,15 @@ static void test_urls(void)
     /* Protocols must be properly declared */
     rc = shell_execute(NULL, "notaproto://foo", NULL, NULL);
     ok(rc == SE_ERR_NOASSOC || broken(rc == SE_ERR_ACCESSDENIED),
-       "%s returned %lu\n", shell_call, rc);
+       "%s returned %Iu\n", shell_call, rc);
 
     rc = shell_execute(NULL, "fakeproto://foo/bar", NULL, NULL);
     todo_wine ok(rc == SE_ERR_NOASSOC || broken(rc == SE_ERR_ACCESSDENIED),
-                 "%s returned %lu\n", shell_call, rc);
+                 "%s returned %Iu\n", shell_call, rc);
 
     /* Here's a real live one */
     rc = shell_execute(NULL, "shlproto://foo/bar", NULL, NULL);
-    ok(rc > 32, "%s failed: rc=%lu\n", shell_call, rc);
+    ok(rc > 32, "%s failed: rc=%Iu\n", shell_call, rc);
     okChildInt("argcA", 5);
     okChildString("argvA3", "URL");
     okChildString("argvA4", "shlproto://foo/bar");
@@ -1901,7 +1901,7 @@ static void test_urls(void)
     rc = shell_execute(NULL, "shlpaverb://foo/bar", NULL, NULL);
     todo_wine ok(rc > 32 || /* XP+IE7 - Win10 */
                  broken(rc == SE_ERR_NOASSOC), /* XP+IE6 */
-                 "%s failed: rc=%lu\n", shell_call, rc);
+                 "%s failed: rc=%Iu\n", shell_call, rc);
     if (rc > 32)
     {
         okChildInt("argcA", 5);
@@ -1913,7 +1913,7 @@ static void test_urls(void)
     rc = shell_execute("averb", "shlproto://foo/bar", NULL, NULL);
     ok(rc > 32 || /* Win8 - Win10 */
        broken(rc == SE_ERR_ACCESSDENIED), /* XP - Win7 */
-       "%s failed: rc=%lu\n", shell_call, rc);
+       "%s failed: rc=%Iu\n", shell_call, rc);
     if (rc > 32)
     {
         okChildString("argvA3", "AVerb");
@@ -1922,21 +1922,21 @@ static void test_urls(void)
 
     /* A .lnk ending does not turn a URL into a shortcut */
     rc = shell_execute(NULL, "shlproto://foo/bar.lnk", NULL, NULL);
-    ok(rc > 32, "%s failed: rc=%lu\n", shell_call, rc);
+    ok(rc > 32, "%s failed: rc=%Iu\n", shell_call, rc);
     okChildInt("argcA", 5);
     okChildString("argvA3", "URL");
     okChildString("argvA4", "shlproto://foo/bar.lnk");
 
     /* Neither does a .exe extension */
     rc = shell_execute(NULL, "shlproto://foo/bar.exe", NULL, NULL);
-    ok(rc > 32, "%s failed: rc=%lu\n", shell_call, rc);
+    ok(rc > 32, "%s failed: rc=%Iu\n", shell_call, rc);
     okChildInt("argcA", 5);
     okChildString("argvA3", "URL");
     okChildString("argvA4", "shlproto://foo/bar.exe");
 
     /* But a class name overrides it */
     rc = shell_execute(NULL, "shlproto://foo/bar", "shlexec.shlexec", NULL);
-    ok(rc > 32, "%s failed: rc=%lu\n", shell_call, rc);
+    ok(rc > 32, "%s failed: rc=%Iu\n", shell_call, rc);
     okChildInt("argcA", 5);
     okChildString("argvA3", "URL");
     okChildString("argvA4", "shlproto://foo/bar");
@@ -1944,7 +1944,7 @@ static void test_urls(void)
     /* Environment variables are expanded in URLs (but not in file URLs!) */
     rc = shell_execute_ex(SEE_MASK_DOENVSUBST | SEE_MASK_FLAG_NO_UI,
                           NULL, "shlproto://%TMPDIR%/bar", NULL, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu\n", rc);
+    okShell(rc > 32, "failed: rc=%Iu\n", rc);
     okChildInt("argcA", 5);
     sprintf(url, "shlproto://%s/bar", tmpdir);
     okChildString("argvA3", "URL");
@@ -1953,7 +1953,7 @@ static void test_urls(void)
     /* But only after the path has been identified as a URL */
     SetEnvironmentVariableA("urlprefix", "shlproto:///");
     rc = shell_execute(NULL, "%urlprefix%foo", NULL, NULL);
-    todo_wine ok(rc == SE_ERR_FNF, "%s returned %lu\n", shell_call, rc);
+    todo_wine ok(rc == SE_ERR_FNF, "%s returned %Iu\n", shell_call, rc);
     SetEnvironmentVariableA("urlprefix", NULL);
 
     delete_test_class("fakeproto");
@@ -1981,7 +1981,7 @@ static void test_find_executable(void)
     if (0) /* Can crash on Vista! */
     {
     rc=(INT_PTR)FindExecutableA(NULL, NULL, command);
-    ok(rc == SE_ERR_FNF || rc > 32 /* nt4 */, "FindExecutable(NULL) returned %ld\n", rc);
+    ok(rc == SE_ERR_FNF || rc > 32 /* nt4 */, "FindExecutable(NULL) returned %Id\n", rc);
     ok(strcmp(command, "your word") != 0, "FindExecutable(NULL) returned command=[%s]\n", command);
     }
 
@@ -1991,30 +1991,30 @@ static void test_find_executable(void)
     /* Search for something that should be in the system-wide search path (no default directory) */
     strcpy(command, "your word");
     rc=(INT_PTR)FindExecutableA("notepad.exe", NULL, command);
-    ok(rc > 32, "FindExecutable(%s) returned %ld\n", "notepad.exe", rc);
+    ok(rc > 32, "FindExecutable(%s) returned %Id\n", "notepad.exe", rc);
     ok(strcasecmp(command, notepad_path) == 0, "FindExecutable(%s) returned command=[%s]\n", "notepad.exe", command);
 
     /* Search for something that should be in the system-wide search path (with default directory) */
     strcpy(command, "your word");
     rc=(INT_PTR)FindExecutableA("notepad.exe", tmpdir, command);
-    ok(rc > 32, "FindExecutable(%s) returned %ld\n", "notepad.exe", rc);
+    ok(rc > 32, "FindExecutable(%s) returned %Id\n", "notepad.exe", rc);
     ok(strcasecmp(command, notepad_path) == 0, "FindExecutable(%s) returned command=[%s]\n", "notepad.exe", command);
 
     strcpy(command, "your word");
     rc=(INT_PTR)FindExecutableA(tmpdir, NULL, command);
-    ok(rc == SE_ERR_NOASSOC /* >= win2000 */ || rc > 32 /* win98, nt4 */, "FindExecutable(NULL) returned %ld\n", rc);
+    ok(rc == SE_ERR_NOASSOC /* >= win2000 */ || rc > 32 /* win98, nt4 */, "FindExecutable(NULL) returned %Id\n", rc);
     ok(strcmp(command, "your word") != 0, "FindExecutable(NULL) returned command=[%s]\n", command);
 
     sprintf(filename, "%s\\test file.sfe", tmpdir);
     rc=(INT_PTR)FindExecutableA(filename, NULL, command);
-    ok(rc > 32, "FindExecutable(%s) returned %ld\n", filename, rc);
+    ok(rc > 32, "FindExecutable(%s) returned %Id\n", filename, rc);
     /* Depending on the platform, command could be '%1' or 'test file.sfe' */
 
     rc=(INT_PTR)FindExecutableA("test file.sfe", tmpdir, command);
-    ok(rc > 32, "FindExecutable(%s) returned %ld\n", filename, rc);
+    ok(rc > 32, "FindExecutable(%s) returned %Id\n", filename, rc);
 
     rc=(INT_PTR)FindExecutableA("test file.sfe", NULL, command);
-    ok(rc == SE_ERR_FNF, "FindExecutable(%s) returned %ld\n", filename, rc);
+    ok(rc == SE_ERR_FNF, "FindExecutable(%s) returned %Id\n", filename, rc);
 
     delete_test_association(".sfe");
 
@@ -2027,7 +2027,7 @@ static void test_find_executable(void)
 
     sprintf(filename, "%s\\test file.shl", tmpdir);
     rc=(INT_PTR)FindExecutableA(filename, NULL, command);
-    ok(rc == SE_ERR_FNF /* NT4 */ || rc > 32, "FindExecutable(%s) returned %ld\n", filename, rc);
+    ok(rc == SE_ERR_FNF /* NT4 */ || rc > 32, "FindExecutable(%s) returned %Id\n", filename, rc);
 
     sprintf(filename, "%s\\test file.shlfoo", tmpdir);
     rc=(INT_PTR)FindExecutableA(filename, NULL, command);
@@ -2075,7 +2075,7 @@ static void test_find_executable(void)
         if (rc > 32)
             rc=33;
         todo_wine_if(test->todo & 0x10)
-            ok(rc==test->rc, "FindExecutable(%s) failed: rc=%ld\n", filename, rc);
+            ok(rc==test->rc, "FindExecutable(%s) failed: rc=%Id\n", filename, rc);
         if (rc > 32)
         {
             BOOL equal;
@@ -2121,7 +2121,7 @@ static void test_lnks(void)
         /* Should open through our association */
         sprintf(filename, "%s\\test_shortcut_shlexec.lnk", tmpdir);
         rc=shell_execute_ex(SEE_MASK_NOZONECHECKS, NULL, filename, NULL, NULL, NULL);
-        okShell(rc > 32, "failed: rc=%lu err=%u\n", rc, GetLastError());
+        okShell(rc > 32, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         okChildInt("argcA", 5);
         okChildString("argvA3", "Open");
         sprintf(params, "%s\\test file.shlexec", tmpdir);
@@ -2129,7 +2129,7 @@ static void test_lnks(void)
         okChildPath("argvA4", filename);
 
         rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_DOENVSUBST, NULL, "%TMPDIR%\\test_shortcut_shlexec.lnk", NULL, NULL, NULL);
-        okShell(rc > 32, "failed: rc=%lu err=%u\n", rc, GetLastError());
+        okShell(rc > 32, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         okChildInt("argcA", 5);
         okChildString("argvA3", "Open");
         sprintf(params, "%s\\test file.shlexec", tmpdir);
@@ -2140,7 +2140,7 @@ static void test_lnks(void)
     /* Should just run our executable */
     sprintf(filename, "%s\\test_shortcut_exe.lnk", tmpdir);
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS, NULL, filename, NULL, NULL, NULL);
-    okShell(rc > 32, "failed: rc=%lu err=%u\n", rc, GetLastError());
+    okShell(rc > 32, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
     okChildInt("argcA", 4);
     okChildString("argvA3", "Lnk");
 
@@ -2148,7 +2148,7 @@ static void test_lnks(void)
     {
         /* An explicit class overrides lnk's ContextMenuHandler */
         rc=shell_execute_ex(SEE_MASK_CLASSNAME | SEE_MASK_NOZONECHECKS, NULL, filename, NULL, NULL, "shlexec.shlexec");
-        okShell(rc > 32, "failed: rc=%lu err=%u\n", rc, GetLastError());
+        okShell(rc > 32, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         okChildInt("argcA", 5);
         okChildString("argvA3", "Open");
         okChildPath("argvA4", filename);
@@ -2169,7 +2169,7 @@ static void test_lnks(void)
             c++;
         }
         rc=shell_execute_ex(SEE_MASK_NOZONECHECKS, NULL, filename, NULL, NULL, NULL);
-        okShell(rc > 32, "failed: rc=%lu err=%u\n", rc, GetLastError());
+        okShell(rc > 32, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         okChildInt("argcA", 4);
         okChildString("argvA3", "Lnk");
     }
@@ -2186,7 +2186,7 @@ static void test_lnks(void)
         if (rc > 32)
             rc=33;
         todo_wine_if(test->todo & 0x1)
-            okShell(rc==test->rc, "failed: rc=%lu err=%u\n", rc, GetLastError());
+            okShell(rc==test->rc, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         if (rc==0)
         {
             todo_wine_if(test->todo & 0x2)
@@ -2212,7 +2212,7 @@ static void test_exes(void)
     /* We need NOZONECHECKS on Win2003 to block a dialog */
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS, NULL, argv0, params,
                         NULL, NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
     okChildInt("argcA", 4);
     okChildString("argvA3", "Exec");
 
@@ -2223,7 +2223,7 @@ static void test_exes(void)
         {
             rc=shell_execute(NULL, filename, params, NULL);
             todo_wine {
-                okShell(rc==SE_ERR_NOASSOC, "returned %lu\n", rc);
+                okShell(rc==SE_ERR_NOASSOC, "returned %Iu\n", rc);
             }
         }
     }
@@ -2235,16 +2235,16 @@ static void test_exes(void)
     /* test combining executable and parameters */
     sprintf(filename, "%s shlexec \"%s\" Exec", argv0, child_file);
     rc = shell_execute(NULL, filename, NULL, NULL);
-    okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     sprintf(filename, "\"%s\" shlexec \"%s\" Exec", argv0, child_file);
     rc = shell_execute(NULL, filename, NULL, NULL);
-    okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* A verb, even if invalid, overrides the normal handling of executables */
     todo_wait rc = shell_execute_ex(SEE_MASK_FLAG_NO_UI,
                                     "notaverb", argv0, NULL, NULL, NULL);
-    todo_wine okShell(rc == SE_ERR_NOASSOC, "returned %lu\n", rc);
+    todo_wine okShell(rc == SE_ERR_NOASSOC, "returned %Iu\n", rc);
 
     if (!skip_shlexec_tests)
     {
@@ -2252,7 +2252,7 @@ static void test_exes(void)
         /* FIXME SEE_MASK_FLAG_NO_UI is only needed due to Wine's bug */
         rc = shell_execute_ex(SEE_MASK_CLASSNAME | SEE_MASK_FLAG_NO_UI,
                               NULL, argv0, NULL, NULL, ".shlexec");
-        todo_wine okShell(rc > 32, "returned %lu\n", rc);
+        todo_wine okShell(rc > 32, "returned %Iu\n", rc);
         okChildInt("argcA", 5);
         todo_wine okChildString("argvA3", "Open");
         todo_wine okChildPath("argvA4", argv0);
@@ -2304,7 +2304,7 @@ static DWORD WINAPI hooked_WaitForInputIdle(HANDLE process, DWORD timeout)
 {
     waitforinputidle_count++;
     if (winetest_debug > 1)
-        trace("WaitForInputIdle() waiting for dde event timeout=min(%u,5s)\n", timeout);
+        trace("WaitForInputIdle() waiting for dde event timeout=min(%lu,5s)\n", timeout);
     timeout = timeout < 5000 ? timeout : 5000;
     return WaitForSingleObject(dde_ready_event, timeout);
 }
@@ -2444,7 +2444,7 @@ static void test_dde(void)
             Sleep(CHILD_DDE_TIMEOUT);
             continue;
         }
-        okShell(32 < rc, "failed: rc=%lu err=%u\n", rc, GetLastError());
+        okShell(32 < rc, "failed: rc=%Iu err=%lu\n", rc, GetLastError());
         if (test->ddeexec)
             okShell(waitforinputidle_count == 1 ||
                     broken(waitforinputidle_count == 0) /* Win10 race */,
@@ -2564,7 +2564,7 @@ static void test_dde_default_app(void)
     ddeInst = 0;
     rc = DdeInitializeA(&ddeInst, ddeCb, CBF_SKIP_ALLNOTIFICATIONS | CBF_FAIL_ADVISES |
                         CBF_FAIL_POKES | CBF_FAIL_REQUESTS, 0);
-    ok(rc == DMLERR_NO_ERROR, "got %lx\n", rc);
+    ok(rc == DMLERR_NO_ERROR, "got %Ix\n", rc);
 
     sprintf(filename, "%s\\test file.sde", tmpdir);
 
@@ -2621,7 +2621,7 @@ static void test_dde_default_app(void)
         }
 
         todo_wine_if(test->todo & 0x1)
-            okShell(rc==test->rc[which], "failed: rc=%lu err=%u\n",
+            okShell(rc==test->rc[which], "failed: rc=%Iu err=%lu\n",
                     rc, GetLastError());
         if (rc == 33)
         {
@@ -2664,7 +2664,7 @@ static void init_test(void)
     {
         dllver.cbSize=sizeof(dllver);
         pDllGetVersion(&dllver);
-        trace("major=%d minor=%d build=%d platform=%d\n",
+        trace("major=%ld minor=%ld build=%ld platform=%ld\n",
               dllver.dwMajorVersion, dllver.dwMinorVersion,
               dllver.dwBuildNumber, dllver.dwPlatformID);
     }
@@ -2674,12 +2674,12 @@ static void init_test(void)
     }
 
     r = CoInitialize(NULL);
-    ok(r == S_OK, "CoInitialize failed (0x%08x)\n", r);
+    ok(r == S_OK, "CoInitialize failed (0x%08lx)\n", r);
     if (FAILED(r))
         exit(1);
 
     rc=GetModuleFileNameA(NULL, argv0, sizeof(argv0));
-    ok(rc != 0 && rc < sizeof(argv0), "got %d\n", rc);
+    ok(rc != 0 && rc < sizeof(argv0), "got %ld\n", rc);
     if (GetFileAttributesA(argv0)==INVALID_FILE_ATTRIBUTES)
     {
         strcat(argv0, ".so");
@@ -2703,7 +2703,7 @@ static void init_test(void)
     DeleteFileA( tmpdir );
     rc = CreateDirectoryA( tmpdir, NULL );
     ok( rc || GetLastError() == ERROR_ALREADY_EXISTS,
-        "failed to create %s err %u\n", tmpdir, GetLastError() );
+        "failed to create %s err %lu\n", tmpdir, GetLastError() );
     /* Set %TMPDIR% for the tests */
     SetEnvironmentVariableA("TMPDIR", tmpdir);
 
@@ -2722,7 +2722,7 @@ static void init_test(void)
                      FILE_ATTRIBUTE_NORMAL, NULL);
         if (hfile==INVALID_HANDLE_VALUE)
         {
-            trace("unable to create '%s': err=%u\n", filename, GetLastError());
+            trace("unable to create '%s': err=%lu\n", filename, GetLastError());
             assert(0);
         }
         CloseHandle(hfile);
@@ -2828,7 +2828,7 @@ static void test_directory(void)
     SetCurrentDirectoryA(tmpdir);
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, NULL, NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
     okChildInt("argcA", 4);
     todo_wine okChildString("argvA0", path);
     okChildString("argvA3", "Exec");
@@ -2837,12 +2837,12 @@ static void test_directory(void)
 
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, NULL, NULL);
-    okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* Explicitly specify the directory to use */
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, tmpdir, NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
     okChildInt("argcA", 4);
     okChildString("argvA0", path);
     okChildString("argvA3", "Exec");
@@ -2851,11 +2851,11 @@ static void test_directory(void)
     /* Specify it through an environment variable */
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, "%TMPDIR%", NULL);
-    todo_wine okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    todo_wine okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     rc=shell_execute_ex(SEE_MASK_DOENVSUBST|SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, "%TMPDIR%", NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
     okChildInt("argcA", 4);
     okChildString("argvA0", path);
     okChildString("argvA3", "Exec");
@@ -2865,14 +2865,14 @@ static void test_directory(void)
     sprintf(dirpath, "%s:%s", curdir, tmpdir);
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, "test2.exe", params, dirpath, NULL);
-    okShell(rc == SE_ERR_FNF, "returned %lu\n", rc);
+    okShell(rc == SE_ERR_FNF, "returned %Iu\n", rc);
 
     /* Same-named executable in different directory */
     snprintf(path, ARRAY_SIZE(path), "%s%s", tmpdir, strrchr(argv0, '\\'));
     CopyFileA(argv0, path, FALSE);
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, strrchr(argv0, '\\') + 1, params, tmpdir, NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
     okChildInt("argcA", 4);
     okChildString("argvA0", path);
     okChildString("argvA3", "Exec");
@@ -2880,10 +2880,10 @@ static void test_directory(void)
 
     SetCurrentDirectoryA(tmpdir);
     ret = CreateDirectoryA( "tmp", NULL );
-    ok(ret || GetLastError() == ERROR_ALREADY_EXISTS, "Failed to create 'tmp' err %u\n", GetLastError());
+    ok(ret || GetLastError() == ERROR_ALREADY_EXISTS, "Failed to create 'tmp' err %lu\n", GetLastError());
     rc=shell_execute_ex(SEE_MASK_NOZONECHECKS|SEE_MASK_FLAG_NO_UI,
                         NULL, path, params, "tmp", NULL);
-    okShell(rc > 32, "returned %lu\n", rc);
+    okShell(rc > 32, "returned %Iu\n", rc);
 
     DeleteFileA(path);
 
diff --git a/dlls/shell32/tests/shlfileop.c b/dlls/shell32/tests/shlfileop.c
index 180ff4b1108..273b09d5005 100644
--- a/dlls/shell32/tests/shlfileop.c
+++ b/dlls/shell32/tests/shlfileop.c
@@ -42,7 +42,7 @@
 #define expect_retval(ret, ret_prewin32)\
     ok(retval == ret ||\
        broken(retval == ret_prewin32),\
-       "Expected %d, got %d\n", ret, retval)
+       "Expected %d, got %ld\n", ret, retval)
 
 static BOOL old_shell32 = FALSE;
 
@@ -173,7 +173,7 @@ static void test_get_file_info(void)
     /* Test whether fields of SHFILEINFOA are always cleared */
     memset(&shfi, 0xcf, sizeof(shfi));
     rc=SHGetFileInfoA("", 0, &shfi, sizeof(shfi), 0);
-    ok(rc == 1, "SHGetFileInfoA('' | 0) should return 1, got 0x%x\n", rc);
+    ok(rc == 1, "SHGetFileInfoA('' | 0) should return 1, got 0x%lx\n", rc);
     todo_wine ok(shfi.hIcon == 0, "SHGetFileInfoA('' | 0) did not clear hIcon\n");
     todo_wine ok(shfi.szDisplayName[0] == 0, "SHGetFileInfoA('' | 0) did not clear szDisplayName[0]\n");
     todo_wine ok(shfi.szTypeName[0] == 0, "SHGetFileInfoA('' | 0) did not clear szTypeName[0]\n");
@@ -201,7 +201,7 @@ static void test_get_file_info(void)
     rc=SHGetFileInfoA("c:\\nonexistent", FILE_ATTRIBUTE_DIRECTORY,
                       &shfi, sizeof(shfi),
                       SHGFI_ATTRIBUTES | SHGFI_USEFILEATTRIBUTES);
-    ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent | SHGFI_ATTRIBUTES) should return 1, got 0x%x\n", rc);
+    ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent | SHGFI_ATTRIBUTES) should return 1, got 0x%lx\n", rc);
     if (rc)
         ok(shfi.dwAttributes != 0xcfcfcfcf, "dwFileAttributes is not set\n");
     todo_wine ok(shfi.hIcon == 0, "SHGetFileInfoA(c:\\nonexistent | SHGFI_ATTRIBUTES) did not clear hIcon\n");
@@ -214,7 +214,7 @@ static void test_get_file_info(void)
     rc=SHGetFileInfoA("c:\\nonexistent", FILE_ATTRIBUTE_DIRECTORY,
                       &shfi, sizeof(shfi),
                       SHGFI_EXETYPE | SHGFI_USEFILEATTRIBUTES);
-    todo_wine ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent | SHGFI_EXETYPE) should return 1, got 0x%x\n", rc);
+    todo_wine ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent | SHGFI_EXETYPE) should return 1, got 0x%lx\n", rc);
 
     /* Test SHGFI_USEFILEATTRIBUTES support */
     strcpy(shfi.szDisplayName, "dummy");
@@ -222,7 +222,7 @@ static void test_get_file_info(void)
     rc=SHGetFileInfoA("c:\\nonexistent", FILE_ATTRIBUTE_DIRECTORY,
                       &shfi, sizeof(shfi),
                       SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES);
-    ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent) should return 1, got 0x%x\n", rc);
+    ok(rc == 1, "SHGetFileInfoA(c:\\nonexistent) should return 1, got 0x%lx\n", rc);
     if (rc)
     {
         ok(strcmp(shfi.szDisplayName, "dummy"), "SHGetFileInfoA(c:\\nonexistent) displayname is not set\n");
@@ -239,13 +239,13 @@ static void test_get_file_info(void)
         rc=SHGetFileInfoA(notepad, GetFileAttributesA(notepad),
                           &shfi, sizeof(shfi),
                           SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES);
-        ok(rc == 1, "SHGetFileInfoA(%s, SHGFI_USEFILEATTRIBUTES) should return 1, got 0x%x\n", notepad, rc);
+        ok(rc == 1, "SHGetFileInfoA(%s, SHGFI_USEFILEATTRIBUTES) should return 1, got 0x%lx\n", notepad, rc);
         strcpy(shfi2.szDisplayName, "dummy");
         shfi2.iIcon=0xdeadbeef;
         rc2=SHGetFileInfoA(notepad, 0,
                            &shfi2, sizeof(shfi2),
                            SHGFI_ICONLOCATION);
-        ok(rc2 == 1, "SHGetFileInfoA(%s) failed %x\n", notepad, rc2);
+        ok(rc2 == 1, "SHGetFileInfoA(%s) failed %lx\n", notepad, rc2);
         if (rc && rc2)
         {
             ok(lstrcmpiA(shfi2.szDisplayName, shfi.szDisplayName) == 0, "wrong display name %s != %s\n", shfi.szDisplayName, shfi2.szDisplayName);
@@ -259,13 +259,13 @@ static void test_get_file_info(void)
     rc=SHGetFileInfoA("test4.txt", GetFileAttributesA("test4.txt"),
                       &shfi, sizeof(shfi),
                       SHGFI_ICONLOCATION | SHGFI_USEFILEATTRIBUTES);
-    ok(rc == 1, "SHGetFileInfoA(test4.txt/, SHGFI_USEFILEATTRIBUTES) should return 1, got 0x%x\n", rc);
+    ok(rc == 1, "SHGetFileInfoA(test4.txt/, SHGFI_USEFILEATTRIBUTES) should return 1, got 0x%lx\n", rc);
     strcpy(shfi2.szDisplayName, "dummy");
     shfi2.iIcon=0xdeadbeef;
     rc2=SHGetFileInfoA("test4.txt", 0,
                       &shfi2, sizeof(shfi2),
                       SHGFI_ICONLOCATION);
-    ok(rc2 == 1, "SHGetFileInfoA(test4.txt/) should return 1, got 0x%x\n", rc2);
+    ok(rc2 == 1, "SHGetFileInfoA(test4.txt/) should return 1, got 0x%lx\n", rc2);
     if (rc && rc2)
     {
         ok(lstrcmpiA(shfi2.szDisplayName, shfi.szDisplayName) == 0, "wrong display name %s != %s\n", shfi.szDisplayName, shfi2.szDisplayName);
@@ -279,7 +279,7 @@ static void test_get_file_info(void)
     shfi.dwAttributes=0xdeadbeef;
     rc=SHGetFileInfoA("c:\\", 0, &shfi, sizeof(shfi),
                       SHGFI_TYPENAME | SHGFI_DISPLAYNAME | SHGFI_ICON | SHGFI_SMALLICON);
-    ok(rc == 1, "SHGetFileInfoA(c:\\) should return 1, got 0x%x\n", rc);
+    ok(rc == 1, "SHGetFileInfoA(c:\\) should return 1, got 0x%lx\n", rc);
     ok(strcmp(shfi.szDisplayName, "dummy") != 0, "display name was expected to change\n");
     ok(strcmp(shfi.szTypeName, "dummy") != 0, "type name was expected to change\n");
     ok(shfi.hIcon != (HICON) 0xdeadbeef, "hIcon was expected to change\n");
@@ -313,8 +313,8 @@ static void check_icon_size( HICON icon, DWORD flags )
     }
     else
     {
-        ok( bm.bmWidth == metrics_size.cx, "got %d expected %d\n", bm.bmWidth, metrics_size.cx );
-        ok( bm.bmHeight == metrics_size.cy, "got %d expected %d\n", bm.bmHeight, metrics_size.cy );
+        ok( bm.bmWidth == metrics_size.cx, "got %d expected %ld\n", bm.bmWidth, metrics_size.cx );
+        ok( bm.bmHeight == metrics_size.cy, "got %d expected %ld\n", bm.bmHeight, metrics_size.cy );
     }
 }
 
@@ -352,7 +352,7 @@ static void test_get_file_info_iconlist(void)
     IImageList_Release( small_list );
     ok( refs == start_refs + 1 ||
         broken( refs == start_refs ), /* XP and 2003 */
-        "got %d, start_refs %d\n", refs, start_refs );
+        "got %ld, start_refs %ld\n", refs, start_refs );
     todo_wine ok(shInfoa.hIcon == 0, "SHGetFileInfoA(CSIDL_DESKTOP, SHGFI_SYSICONINDEX|SHGFI_SMALLICON|SHGFI_PIDL) did not clear hIcon\n");
     todo_wine ok(shInfoa.szTypeName[0] == 0, "SHGetFileInfoA(CSIDL_DESKTOP, SHGFI_SYSICONINDEX|SHGFI_SMALLICON|SHGFI_PIDL) did not clear szTypeName[0]\n");
     ok(shInfoa.iIcon != 0xcfcfcfcf, "SHGetFileInfoA(CSIDL_DESKTOP, SHGFI_SYSICONINDEX|SHGFI_SMALLICON|SHGFI_PIDL) should set iIcon\n");
@@ -564,7 +564,7 @@ static void test_delete(void)
     ok(!file_exists("test3.txt"), "File should have been removed\n");
 
     ret = SHFileOperationA(&shfo);
-    ok(ret == ERROR_SUCCESS, "Directory exists, but is not removed, ret=%d\n", ret);
+    ok(ret == ERROR_SUCCESS, "Directory exists, but is not removed, ret=%ld\n", ret);
     ok(dir_exists("test4.txt"), "Directory should not have been removed\n");
 
     shfo.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
@@ -573,7 +573,7 @@ static void test_delete(void)
     ok(!dir_exists("test4.txt"), "Directory should have been removed\n");
 
     ret = SHFileOperationA(&shfo);
-    ok(!ret, "The requested file does not exist, ret=%d\n", ret);
+    ok(!ret, "The requested file does not exist, ret=%ld\n", ret);
 
     init_shfo_tests();
     sprintf(buf, "%s\\%s", CURR_DIR, "test4.txt");
@@ -616,7 +616,7 @@ static void test_delete(void)
         shfo.fFlags &= ~FOF_FILESONLY;
         shfo.fAnyOperationsAborted = FALSE;
         ret = SHFileOperationA(&shfo);
-        ok(ret == ERROR_ACCESS_DENIED, "Expected ERROR_ACCESS_DENIED, got %d\n", ret);
+        ok(ret == ERROR_ACCESS_DENIED, "Expected ERROR_ACCESS_DENIED, got %ld\n", ret);
         ok(!shfo.fAnyOperationsAborted, "Expected no aborted operations\n");
         ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
     }
@@ -628,7 +628,7 @@ static void test_delete(void)
     ret = SHFileOperationA(&shfo);
     ok(ret == ERROR_INVALID_PARAMETER ||
        broken(ret == ERROR_SUCCESS), /* Win9x, NT4 */
-       "Expected ERROR_INVALID_PARAMETER, got %d\n", ret);
+       "Expected ERROR_INVALID_PARAMETER, got %ld\n", ret);
     ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
 
     /* try an invalid list, only one null terminator */
@@ -638,7 +638,7 @@ static void test_delete(void)
         shfo.pFrom = "";
         shfo.wFunc = FO_DELETE;
         ret = SHFileOperationA(&shfo);
-        ok(ret == ERROR_ACCESS_DENIED, "Expected ERROR_ACCESS_DENIED, got %d\n", ret);
+        ok(ret == ERROR_ACCESS_DENIED, "Expected ERROR_ACCESS_DENIED, got %ld\n", ret);
         ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
     }
 
@@ -649,7 +649,7 @@ static void test_delete(void)
     ok(ret == 1026 ||
        ret == ERROR_FILE_NOT_FOUND || /* Vista */
        broken(ret == ERROR_SUCCESS), /* NT4 */
-       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %d\n", ret);
+       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %ld\n", ret);
 
     /* delete a dir, and then a file inside the dir, same as
     * deleting a nonexistent file
@@ -662,7 +662,7 @@ static void test_delete(void)
         ret = SHFileOperationA(&shfo);
         ok(ret == ERROR_PATH_NOT_FOUND ||
            broken(ret == ERROR_SUCCESS), /* NT4 */
-           "Expected ERROR_PATH_NOT_FOUND, got %d\n", ret);
+           "Expected ERROR_PATH_NOT_FOUND, got %ld\n", ret);
         ok(!dir_exists("testdir2"), "Expected testdir2 to not exist\n");
         ok(!file_exists("testdir2\\one.txt"), "Expected testdir2\\one.txt to not exist\n");
     }
@@ -677,7 +677,7 @@ static void test_delete(void)
     ok(ret == 1026 ||
        ret == ERROR_FILE_NOT_FOUND || /* Vista */
        broken(ret == ERROR_SUCCESS), /* NT4 */
-       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %d\n", ret);
+       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %ld\n", ret);
     todo_wine
     ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
     ok(file_exists("test2.txt"), "Expected test2.txt to exist\n");
@@ -689,19 +689,19 @@ static void test_delete(void)
     ok(ret == ERROR_FILE_NOT_FOUND || /* Vista */
        broken(ret == 0x402) || /* XP */
        broken(ret == ERROR_SUCCESS), /* NT4 */
-       "Expected 0x402 or ERROR_FILE_NOT_FOUND, got %x\n", ret);
+       "Expected 0x402 or ERROR_FILE_NOT_FOUND, got %lx\n", ret);
     shfo.pFrom = "nonexistent\\one.txt\0";
     ret = SHFileOperationA(&shfo);
     ok(ret == DE_INVALIDFILES || /* Vista or later */
        broken(ret == 0x402), /* XP */
-       "Expected 0x402 or DE_INVALIDFILES, got %x\n", ret);
+       "Expected 0x402 or DE_INVALIDFILES, got %lx\n", ret);
 
     /* try the FOF_NORECURSION flag, continues deleting subdirs */
     init_shfo_tests();
     shfo.pFrom = "testdir2\0";
     shfo.fFlags |= FOF_NORECURSION;
     ret = SHFileOperationA(&shfo);
-    ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", ret);
+    ok(ret == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", ret);
     ok(!file_exists("testdir2\\one.txt"), "Expected testdir2\\one.txt to not exist\n");
     ok(!dir_exists("testdir2\\nested"), "Expected testdir2\\nested to not exist\n");
 }
@@ -728,7 +728,7 @@ static void test_rename(void)
     ok(retval == ERROR_ALREADY_EXISTS ||
        retval == DE_FILEDESTISFLD || /* Vista */
        broken(retval == ERROR_INVALID_NAME), /* Win9x, NT4 */
-       "Expected ERROR_ALREADY_EXISTS or DE_FILEDESTISFLD, got %d\n", retval);
+       "Expected ERROR_ALREADY_EXISTS or DE_FILEDESTISFLD, got %ld\n", retval);
     ok(file_exists("test1.txt"), "The file is renamed\n");
 
     set_curr_dir_path(from, "test3.txt\0");
@@ -751,7 +751,7 @@ static void test_rename(void)
     ok(retval == ERROR_GEN_FAILURE ||
        retval == DE_MANYSRC1DEST || /* Vista */
        broken(retval == ERROR_SUCCESS), /* Win9x */
-       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST , got %d\n", retval);
+       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST , got %ld\n", retval);
     ok(file_exists("test1.txt"), "The file is renamed - many files are specified\n");
 
     memcpy(&shfo2, &shfo, sizeof(SHFILEOPSTRUCTA));
@@ -763,32 +763,32 @@ static void test_rename(void)
     ok(retval == ERROR_GEN_FAILURE ||
        retval == DE_MANYSRC1DEST || /* Vista */
        broken(retval == ERROR_SUCCESS), /* Win9x */
-       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST files, got %d\n", retval);
+       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST files, got %ld\n", retval);
     ok(file_exists("test1.txt"), "The file is not renamed - many files are specified\n");
 
     set_curr_dir_path(from, "test1.txt\0");
     set_curr_dir_path(to, "test6.txt\0");
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Rename file failed, retval = %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Rename file failed, retval = %ld\n", retval);
     ok(!file_exists("test1.txt"), "The file is not renamed\n");
     ok(file_exists("test6.txt"), "The file is not renamed\n");
 
     set_curr_dir_path(from, "test6.txt\0");
     set_curr_dir_path(to, "test1.txt\0");
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Rename file back failed, retval = %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Rename file back failed, retval = %ld\n", retval);
 
     set_curr_dir_path(from, "test4.txt\0");
     set_curr_dir_path(to, "test6.txt\0");
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Rename dir failed, retval = %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Rename dir failed, retval = %ld\n", retval);
     ok(!dir_exists("test4.txt"), "The dir is not renamed\n");
     ok(dir_exists("test6.txt"), "The dir is not renamed\n");
 
     set_curr_dir_path(from, "test6.txt\0");
     set_curr_dir_path(to, "test4.txt\0");
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Rename dir back failed, retval = %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Rename dir back failed, retval = %ld\n", retval);
     ok(dir_exists("test4.txt"), "The dir is not renamed\n");
 
     /* try to rename more than one file to a single file */
@@ -798,7 +798,7 @@ static void test_rename(void)
     ok(retval == ERROR_GEN_FAILURE ||
        retval == DE_MANYSRC1DEST || /* Vista */
        broken(retval == ERROR_SUCCESS), /* Win9x */
-       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST, got %d\n", retval);
+       "Expected ERROR_GEN_FAILURE or DE_MANYSRC1DEST, got %ld\n", retval);
     ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
     ok(file_exists("test2.txt"), "Expected test2.txt to exist\n");
     ok(!file_exists("a.txt"), "Expected a.txt to not exist\n");
@@ -810,7 +810,7 @@ static void test_rename(void)
     ok(retval == 1026 ||
        retval == ERROR_FILE_NOT_FOUND || /* Vista */
        broken(retval == ERROR_SUCCESS), /* NT4 */
-       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %d\n", retval);
+       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %ld\n", retval);
     ok(!file_exists("newfile"), "Expected newfile to not exist\n");
 
     /* pTo already exist */
@@ -829,7 +829,7 @@ static void test_rename(void)
         ok(retval == ERROR_ALREADY_EXISTS ||
            broken(retval == DE_OPCANCELLED) || /* NT4 */
            broken(retval == ERROR_INVALID_NAME), /* Win9x */
-           "Expected ERROR_ALREADY_EXISTS, got %d\n", retval);
+           "Expected ERROR_ALREADY_EXISTS, got %ld\n", retval);
     }
 
     /* pFrom is valid, but pTo is empty */
@@ -841,7 +841,7 @@ static void test_rename(void)
        retval == DE_FILEDESTISFLD || /* Vista, running from c: */
        broken(retval == DE_OPCANCELLED) || /* Win9x */
        broken(retval == 65652), /* NT4 */
-       "Expected ERROR_CANCELLED or DE_DIFFDIR, got %u\n", retval);
+       "Expected ERROR_CANCELLED or DE_DIFFDIR, got %lu\n", retval);
     ok(file_exists("test1.txt"), "Expected test1.txt to exist\n");
 
     /* pFrom is empty */
@@ -850,14 +850,14 @@ static void test_rename(void)
     ok(retval == ERROR_ACCESS_DENIED ||
        retval == DE_MANYSRC1DEST || /* Vista */
        broken(retval == ERROR_SUCCESS), /* Win9x */
-       "Expected ERROR_ACCESS_DENIED or DE_MANYSRC1DEST, got %d\n", retval);
+       "Expected ERROR_ACCESS_DENIED or DE_MANYSRC1DEST, got %ld\n", retval);
 
     /* pFrom is NULL, commented out because it crashes on nt 4.0 */
     if (0)
     {
         shfo.pFrom = NULL;
         retval = SHFileOperationA(&shfo);
-        ok(retval == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %d\n", retval);
+        ok(retval == ERROR_INVALID_PARAMETER, "Expected ERROR_INVALID_PARAMETER, got %ld\n", retval);
     }
 }
 
@@ -893,7 +893,7 @@ static void test_copy(void)
     if (dir_exists("test6.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("test6.txt\\test1.txt"), "The file is not copied - many files "
            "are specified as a target\n");
         DeleteFileA("test6.txt\\test2.txt");
@@ -926,7 +926,7 @@ static void test_copy(void)
     if (dir_exists("test6.txt"))
     {
         /* Vista and W2K8 (broken or new behavior?) */
-        ok(retval == DE_DESTSAMETREE, "Expected DE_DESTSAMETREE, got %d\n", retval);
+        ok(retval == DE_DESTSAMETREE, "Expected DE_DESTSAMETREE, got %ld\n", retval);
         ok(DeleteFileA("test6.txt\\test1.txt"), "The file is not copied - many files "
            "are specified as a target\n");
         RemoveDirectoryA("test6.txt");
@@ -1014,7 +1014,7 @@ static void test_copy(void)
     shfo.pFrom = "test1.txt\0test2.txt\0test3.txt\0";
     shfo.pTo = "testdir2\0";
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(file_exists("testdir2\\test1.txt"), "Expected testdir2\\test1 to exist\n");
 
     /* try to overwrite an existing write protected file */
@@ -1026,15 +1026,15 @@ static void test_copy(void)
     /* suppress the error-dialog in win9x here */
     shfo.fFlags = FOF_NOERRORUI | FOF_NOCONFIRMATION | FOF_SILENT;
     ret = SetFileAttributesA(shfo.pTo, FILE_ATTRIBUTE_READONLY);
-    ok(ret, "Failure to set file attributes (error %x)\n", GetLastError());
+    ok(ret, "Failure to set file attributes (error %lx)\n", GetLastError());
     retval = CopyFileA(shfo.pFrom, shfo.pTo, FALSE);
     ok(!retval && GetLastError() == ERROR_ACCESS_DENIED, "CopyFileA should have fail with ERROR_ACCESS_DENIED\n");
     retval = SHFileOperationA(&shfo);
     /* Does not work on Win95, Win95B, NT4WS and NT4SRV */
-    ok(!retval || broken(retval == DE_OPCANCELLED), "SHFileOperationA failed to copy (error %x)\n", retval);
+    ok(!retval || broken(retval == DE_OPCANCELLED), "SHFileOperationA failed to copy (error %lx)\n", retval);
     /* Set back normal attributes to make the file deletion succeed */
     ret = SetFileAttributesA(shfo.pTo, FILE_ATTRIBUTE_NORMAL);
-    ok(ret, "Failure to set file attributes (error %x)\n", GetLastError());
+    ok(ret, "Failure to set file attributes (error %lx)\n", GetLastError());
     shfo.fFlags = tmp_flags;
 
     /* try to copy files to a file */
@@ -1072,7 +1072,7 @@ static void test_copy(void)
     ok(!shfo.fAnyOperationsAborted ||
        broken(shfo.fAnyOperationsAborted == 0xdeadbeef), /* NT4 */
        "Didn't expect aborted operations\n");
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("test3.txt\\test1.txt"), "Expected test3.txt\\test1.txt to exist\n");
     ok(DeleteFileA("test3.txt\\test2.txt"), "Expected test3.txt\\test1.txt to exist\n");
     ok(RemoveDirectoryA(to), "Expected test3.txt to exist\n");
@@ -1090,7 +1090,7 @@ static void test_copy(void)
     if (dir_exists("testdir2\\a.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
         ok(DeleteFileA("testdir2\\a.txt\\test1.txt"), "Expected testdir2\\a.txt\\test1.txt to exist\n");
         RemoveDirectoryA("testdir2\\a.txt");
@@ -1121,7 +1121,7 @@ static void test_copy(void)
     {
         /* Vista and W2K8 (broken or new behavior ?) */
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
-        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %d\n", retval);
+        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %ld\n", retval);
         ok(DeleteFileA("e.txt\\test1.txt"), "Expected e.txt\\test1.txt to exist\n");
         RemoveDirectoryA("e.txt");
         ok(DeleteFileA("f.txt\\test2.txt"), "Expected f.txt\\test2.txt to exist\n");
@@ -1146,7 +1146,7 @@ static void test_copy(void)
        "Didn't expect aborted operations\n");
     ok(retval == ERROR_SUCCESS ||
        broken(retval == 0x100a1), /* WinMe */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("testdir2\\a.txt"), "Expected testdir2\\a.txt to exist\n");
     ok(DeleteFileA("testdir2\\b.txt"), "Expected testdir2\\b.txt to exist\n");
     if (retval == ERROR_SUCCESS)
@@ -1164,7 +1164,7 @@ static void test_copy(void)
     if (dir_exists("a.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
         ok(DeleteFileA("a.txt\\test1.txt"), "Expected a.txt\\test1.txt to exist\n");
         ok(DeleteFileA("a.txt\\test2.txt"), "Expected a.txt\\test2.txt to exist\n");
@@ -1188,7 +1188,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == 0x100a1), /* WinMe */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(file_exists("testdir2\\test1.txt"), "Expected testdir2\\test1.txt to exist\n");
 
     /* try a glob with FOF_FILESONLY */
@@ -1197,7 +1197,7 @@ static void test_copy(void)
     shfo.pFrom = "test?.txt\0";
     shfo.fFlags |= FOF_FILESONLY;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(file_exists("testdir2\\test1.txt"), "Expected testdir2\\test1.txt to exist\n");
     ok(!dir_exists("testdir2\\test4.txt"), "Expected testdir2\\test4.txt to not exist\n");
 
@@ -1213,7 +1213,7 @@ static void test_copy(void)
     if (dir_exists("testdir2\\a.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("testdir2\\a.txt\\test1.txt"), "Expected testdir2\\a.txt\\test1.txt to exist\n");
         ok(DeleteFileA("testdir2\\a.txt\\test2.txt"), "Expected testdir2\\a.txt\\test2.txt to exist\n");
         ok(DeleteFileA("testdir2\\a.txt\\test3.txt"), "Expected testdir2\\a.txt\\test3.txt to exist\n");
@@ -1250,7 +1250,7 @@ static void test_copy(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("b.txt"), "Expected b.txt to exist\n");
     }
     ok(!DeleteFileA("c.txt"), "Expected c.txt to not exist\n");
@@ -1263,7 +1263,7 @@ static void test_copy(void)
     if (dir_exists("b.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
         ok(DeleteFileA("b.txt\\test1.txt"), "Expected b.txt\\test1.txt to exist\n");
         RemoveDirectoryA("b.txt");
@@ -1287,7 +1287,7 @@ static void test_copy(void)
     if (dir_exists("b.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
         ok(DeleteFileA("b.txt\\test1.txt"), "Expected b.txt\\test1.txt to exist\n");
         RemoveDirectoryA("b.txt");
@@ -1313,7 +1313,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == 0x100a1), /* WinMe */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     if (retval == ERROR_SUCCESS)
     {
         ok(DeleteFileA("testdir2\\test1.txt"), "Expected testdir2\\test1.txt to exist\n");
@@ -1327,7 +1327,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == 0x100a1), /* WinMe */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     if (retval == ERROR_SUCCESS)
     {
         ok(DeleteFileA("testdir2\\test4.txt\\a.txt"), "Expected a.txt to exist\n");
@@ -1341,7 +1341,7 @@ static void test_copy(void)
     if (dir_exists("nonexistent"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("nonexistent\\test4.txt\\a.txt"), "Expected nonexistent\\test4.txt\\a.txt to exist\n");
         RemoveDirectoryA("nonexistent\\test4.txt");
         ok(DeleteFileA("nonexistent\\a.txt"), "Expected nonexistent\\a.txt to exist\n");
@@ -1370,7 +1370,7 @@ static void test_copy(void)
     }
     else
     {
-        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %d\n", retval);
+        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %ld\n", retval);
         ok(DeleteFileA("b.txt"), "Expected b.txt to exist\n");
     }
     ok(!shfo.fAnyOperationsAborted, "Expected no operations to be aborted\n");
@@ -1390,7 +1390,7 @@ static void test_copy(void)
     {
         ok(retval == ERROR_SUCCESS ||
            retval == DE_DESTSAMETREE, /* Vista */
-           "Expected ERROR_SUCCESS or DE_DESTSAMETREE, got %d\n", retval);
+           "Expected ERROR_SUCCESS or DE_DESTSAMETREE, got %ld\n", retval);
         ok(DeleteFileA("b.txt"), "Expected b.txt to exist\n");
     }
     ok(!file_exists("c.txt"), "Expected c.txt to not exist\n");
@@ -1403,7 +1403,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        retval == DE_DESTSUBTREE, /* Vista */
-       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %d\n", retval);
+       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %ld\n", retval);
     ok(!RemoveDirectoryA("test4.txt\\newdir"), "Expected test4.txt\\newdir to not exist\n");
 
     /* copy a directory to itself, error displayed in UI */
@@ -1413,7 +1413,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        retval == DE_DESTSUBTREE, /* Vista */
-       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %d\n", retval);
+       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %ld\n", retval);
 
     /* copy a file into a directory, and the directory into itself */
     shfo.pFrom = "test1.txt\0test4.txt\0";
@@ -1423,7 +1423,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        retval == DE_DESTSUBTREE, /* Vista */
-       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %d\n", retval);
+       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %ld\n", retval);
     ok(DeleteFileA("test4.txt\\test1.txt"), "Expected test4.txt\\test1.txt to exist\n");
 
     /* copy a file to a file, and the directory into itself */
@@ -1434,7 +1434,7 @@ static void test_copy(void)
     if (dir_exists("test4.txt\\a.txt"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == DE_DESTSUBTREE, "Expected DE_DESTSUBTREE, got %d\n", retval);
+        ok(retval == DE_DESTSUBTREE, "Expected DE_DESTSUBTREE, got %ld\n", retval);
         ok(DeleteFileA("test4.txt\\a.txt\\test1.txt"), "Expected test4.txt\\a.txt\\test1.txt to exist\n");
         RemoveDirectoryA("test4.txt\\a.txt");
     }
@@ -1452,7 +1452,7 @@ static void test_copy(void)
     ok(retval == 1026 ||
        retval == ERROR_FILE_NOT_FOUND || /* Vista */
        broken(retval == ERROR_SUCCESS), /* NT4 */
-       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %d\n", retval);
+       "Expected 1026 or ERROR_FILE_NOT_FOUND, got %ld\n", retval);
     ok(!file_exists("nonexistent\\e.txt"), "Expected nonexistent\\e.txt to not exist\n");
     ok(!file_exists("nonexistent"), "Expected nonexistent to not exist\n");
 
@@ -1470,7 +1470,7 @@ static void test_copy(void)
         shfo.fAnyOperationsAborted = 0xdeadbeef;
         /* without FOF_NOCONFIRMATION the confirmation is Yes/No */
         retval = SHFileOperationA(&shfo);
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
         ok(file_has_content("test2.txt", "test1.txt\n"), "The file was not copied\n");
 
@@ -1479,7 +1479,7 @@ static void test_copy(void)
         shfo.fFlags = FOF_NOCONFIRMATION | FOF_MULTIDESTFILES;
         /* without FOF_NOCONFIRMATION the confirmation is Yes/Yes to All/No/Cancel */
         retval = SHFileOperationA(&shfo);
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(file_has_content("test2.txt", "test3.txt\n"), "The file was not copied\n");
 
         shfo.pFrom = "one.txt\0";
@@ -1487,7 +1487,7 @@ static void test_copy(void)
         shfo.fFlags = FOF_NOCONFIRMATION;
         /* without FOF_NOCONFIRMATION the confirmation is Yes/No */
         retval = SHFileOperationA(&shfo);
-        ok(retval == 0, "Expected 0, got %d\n", retval);
+        ok(retval == 0, "Expected 0, got %ld\n", retval);
         ok(file_has_content("testdir2\\one.txt", "test1.txt\n"), "The file was not copied\n");
     }
 
@@ -1499,14 +1499,14 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == 0x100a1), /* WinMe */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     shfo.fFlags = FOF_NOCONFIRMATION;
     if (ERROR_SUCCESS)
     {
         createTestFile("test4.txt\\.\\test1.txt"); /* modify the content of the file */
         /* without FOF_NOCONFIRMATION the confirmation is "This folder already contains a folder named ..." */
         retval = SHFileOperationA(&shfo);
-        ok(retval == 0, "Expected 0, got %d\n", retval);
+        ok(retval == 0, "Expected 0, got %ld\n", retval);
         ok(file_has_content("testdir2\\test4.txt\\test1.txt", "test4.txt\\.\\test1.txt\n"), "The file was not copied\n");
     }
 
@@ -1523,7 +1523,7 @@ static void test_copy(void)
     ok(retval == 1148 || retval == 1026 ||
        retval == ERROR_ACCESS_DENIED || /* win2k */
        retval == DE_INVALIDFILES, /* Vista */
-       "Unexpected return value, got %d\n", retval);
+       "Unexpected return value, got %ld\n", retval);
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
     if (dir_exists("two.txt"))
         /* Vista and W2K8 (broken or new behavior ?) */
@@ -1548,7 +1548,7 @@ static void test_copy(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("two.txt"), "Expected file to exist\n");
     }
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
@@ -1567,7 +1567,7 @@ static void test_copy(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("two.txt"), "Expected file to exist\n");
     }
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
@@ -1588,7 +1588,7 @@ static void test_copy(void)
     ok(retval == 1148 || retval == 1026 ||
        retval == ERROR_ACCESS_DENIED ||  /* win2k */
        retval == DE_INVALIDFILES, /* Vista */
-       "Unexpected return value, got %d\n", retval);
+       "Unexpected return value, got %ld\n", retval);
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
     if (dir_exists("two.txt"))
         /* Vista and W2K8 (broken or new behavior ?) */
@@ -1614,7 +1614,7 @@ static void test_copy(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("two.txt"), "Expected file to exist\n");
     }
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
@@ -1636,7 +1636,7 @@ static void test_copy(void)
     if (dir_exists("threedir"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("threedir\\one.txt"), "Expected file to exist\n");
         ok(DeleteFileA("threedir\\two.txt"), "Expected file to exist\n");
         ok(RemoveDirectoryA("threedir"), "Expected dir to exist\n");
@@ -1667,7 +1667,7 @@ static void test_copy(void)
     shfo.pTo = to;
     shfo.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("threedir\\one.txt"), "Expected file to exist\n");
     ok(DeleteFileA("threedir\\two.txt"), "Expected file to exist\n");
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
@@ -1694,7 +1694,7 @@ static void test_copy(void)
         retval = SHFileOperationA(&shfo);
         ok(retval == ERROR_CANCELLED ||
            retval == ERROR_SUCCESS, /* win2k3 */
-           "Expected ERROR_CANCELLED or ERROR_SUCCESS, got %d\n", retval);
+           "Expected ERROR_CANCELLED or ERROR_SUCCESS, got %ld\n", retval);
         ok(!DeleteFileA("threedir\\one.txt"), "Expected file to not exist\n");
         ok(!DeleteFileA("threedir\\two.txt"), "Expected file to not exist\n");
         ok(DeleteFileA("one.txt"), "Expected file to exist\n");
@@ -1724,7 +1724,7 @@ static void test_copy(void)
     shfo.fFlags = FOF_MULTIDESTFILES | FOF_NOCONFIRMATION |
                   FOF_SILENT | FOF_NOERRORUI;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
     ok(DeleteFileA("two.txt"), "Expected file to exist\n");
     ok(DeleteFileA("threedir\\one.txt"), "Expected file to exist\n");
@@ -1759,7 +1759,7 @@ static void test_copy(void)
     ok(retval == ERROR_CANCELLED ||
        retval == DE_FILEDESTISFLD || /* Vista */
        broken(retval == DE_OPCANCELLED), /* Win9x, NT4 */
-       "Expected ERROR_CANCELLED or DE_FILEDESTISFLD. got %d\n", retval);
+       "Expected ERROR_CANCELLED or DE_FILEDESTISFLD. got %ld\n", retval);
     if (file_exists("threedir\\threedir"))
     {
         /* NT4 */
@@ -1786,7 +1786,7 @@ static void test_copy(void)
     shfo.fFlags = FOF_MULTIDESTFILES | FOF_NOCONFIRMATION |
                   FOF_SILENT | FOF_NOERRORUI;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("one.txt"), "Expected file to exist\n");
     ok(DeleteFileA("two.txt"), "Expected file to exist\n");
     ok(DeleteFileA("threedir\\one.txt"), "Expected file to exist\n");
@@ -1817,7 +1817,7 @@ static void test_copy(void)
     shfo.pTo = "one\0";
     shfo.fFlags |= FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI | FOF_MULTIDESTFILES;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("one\\aa.txt"), "Expected file to exist\n");
     ok(DeleteFileA("one\\ab.txt"), "Expected file to exist\n");
 
@@ -1826,7 +1826,7 @@ static void test_copy(void)
     shfo.pTo = "one\0two\0";
     shfo.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
     ok(DeleteFileA("one\\aa.txt"), "Expected file to exist\n");
     ok(DeleteFileA("one\\ab.txt"), "Expected file to exist\n");
     ok(!DeleteFileA("two\\aa.txt"), "Expected file to not exist\n");
@@ -1845,7 +1845,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == DE_OPCANCELLED), /* NT4 */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     if (retval == ERROR_SUCCESS)
         ok(DeleteFileA("abcdefgh.abc"), "Expected file to exist\n");
     ok(DeleteFileA("dir\\abcdefgh.abc"), "Expected file to exist\n");
@@ -1859,9 +1859,9 @@ static void test_copy(void)
     shfo.fFlags = FOF_NOCONFIRMATION | FOF_SILENT | FOF_NOERRORUI;
     SetLastError(0xdeadbeef);
     retval = SHFileOperationA(&shfo);
-    ok(retval == ERROR_SUCCESS, "File copy failed with %d\n", retval);
+    ok(retval == ERROR_SUCCESS, "File copy failed with %ld\n", retval);
     ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
-    ok(GetLastError() == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", GetLastError());
+    ok(GetLastError() == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", GetLastError());
 
     /* Check last error after a failed file operation. */
     clean_after_shfo_tests();
@@ -1873,7 +1873,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     ok(retval != ERROR_SUCCESS, "Unexpected ERROR_SUCCESS\n");
     ok(!shfo.fAnyOperationsAborted, "Didn't expect aborted operations\n");
-    ok(GetLastError() == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", GetLastError());
+    ok(GetLastError() == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", GetLastError());
 
     /* test with / */
     CreateDirectoryA("dir", NULL);
@@ -1885,7 +1885,7 @@ static void test_copy(void)
     retval = SHFileOperationA(&shfo);
     if (dir_exists("dir\\destdir"))
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("dir\\destdir\\aa.txt"), "Expected file to exist\n");
         ok(RemoveDirectoryA("dir\\destdir"), "Expected dir to exist\n");
     }
@@ -1932,7 +1932,7 @@ static void test_move(void)
     set_curr_dir_path(from, "testdir2\\*.*\0");
     set_curr_dir_path(to, "test4.txt\0");
     retval = SHFileOperationA(&shfo);
-    ok(!retval, "SHFileOperation error %#x\n", retval);
+    ok(!retval, "SHFileOperation error %#lx\n", retval);
     ok(!shfo.fAnyOperationsAborted, "fAnyOperationsAborted %d\n", shfo.fAnyOperationsAborted);
 
     ok(file_exists("testdir2"), "dir should not be moved\n");
@@ -1954,7 +1954,7 @@ static void test_move(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        broken(retval == ERROR_FILE_NOT_FOUND), /* WinXp, Win2k3 */
-       "Expected ERROR_SUCCESS, got %d\n", retval);
+       "Expected ERROR_SUCCESS, got %ld\n", retval);
     if (retval == ERROR_SUCCESS)
     {
         ok(!shfo.fAnyOperationsAborted, "fAnyOperationsAborted %d\n", shfo.fAnyOperationsAborted);
@@ -2031,7 +2031,7 @@ static void test_move(void)
         else
         {
             /* Vista and W2K8 (broken or new behavior ?) */
-            ok(retval == DE_DESTSAMETREE, "Expected DE_DESTSAMETREE, got %d\n", retval);
+            ok(retval == DE_DESTSAMETREE, "Expected DE_DESTSAMETREE, got %ld\n", retval);
             ok(DeleteFileA("test6.txt\\test1.txt"), "The file is not moved\n");
             RemoveDirectoryA("test6.txt");
             ok(DeleteFileA("test7.txt\\test2.txt"), "The file is not moved\n");
@@ -2065,7 +2065,7 @@ static void test_move(void)
         else
         {
             /* Vista and W2K8 (broken or new behavior ?) */
-            ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %d\n", retval);
+            ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %ld\n", retval);
             ok(DeleteFileA("test6.txt\\test1.txt"), "The file is not moved\n");
             RemoveDirectoryA("test6.txt");
             ok(DeleteFileA("test7.txt\\test2.txt"), "The file is not moved\n");
@@ -2089,7 +2089,7 @@ static void test_move(void)
     retval = SHFileOperationA(&shfo2);
     if (dir_exists("test6.txt"))
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("test6.txt\\test1.txt"),"The file is not moved\n");
         ok(DeleteFileA("test7.txt\\test2.txt"),"The file is not moved\n");
         ok(!dir_exists("test8.txt") && !file_exists("test8.txt"),
@@ -2112,7 +2112,7 @@ static void test_move(void)
     retval = SHFileOperationA(&shfo2);
     if (dir_exists("test5.txt"))
     {
-        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %d\n", retval);
+        ok(retval == DE_SAMEFILE, "Expected DE_SAMEFILE, got %ld\n", retval);
         ok(DeleteFileA("test4.txt\\test1.txt"),"The file is not moved\n");
         ok(DeleteFileA("test5.txt\\test2.txt"),"The file is not moved\n");
         ok(file_exists("test3.txt"), "The file is not moved\n");
@@ -2121,7 +2121,7 @@ static void test_move(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("test4.txt\\test1.txt"),"The file is not moved\n");
         ok(DeleteFileA("test4.txt\\test2.txt"),"The file is not moved\n");
         ok(DeleteFileA("test4.txt\\test3.txt"),"The file is not moved\n");
@@ -2134,7 +2134,7 @@ static void test_move(void)
     set_curr_dir_path(to, "test6.txt\0\0");
     retval = SHFileOperationA(&shfo2);
     ok(retval == ERROR_SUCCESS || retval == ERROR_ACCESS_DENIED
-        , "Expected ERROR_SUCCESS || ERROR_ACCESS_DENIED, got %d\n", retval);
+        , "Expected ERROR_SUCCESS || ERROR_ACCESS_DENIED, got %ld\n", retval);
     ok(!file_exists("test6.txt"), "The file should not exist\n");
 
     init_shfo_tests();
@@ -2144,7 +2144,7 @@ static void test_move(void)
     retval = SHFileOperationA(&shfo2);
     ok(retval == ERROR_FILE_NOT_FOUND ||
         broken(retval == 1026)
-        , "Expected ERROR_FILE_NOT_FOUND, got %d\n", retval);
+        , "Expected ERROR_FILE_NOT_FOUND, got %ld\n", retval);
     ok(!file_exists("test6.txt"), "The file should not exist\n");
 
     init_shfo_tests();
@@ -2163,7 +2163,7 @@ static void test_move(void)
     {
         /* Old shell32 */
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("test6.txt\\test1.txt"), "The file is not moved. Many files are specified\n");
         ok(DeleteFileA("test6.txt\\test2.txt"), "The file is not moved. Many files are specified\n");
         ok(DeleteFileA("test6.txt\\test4.txt\\test1.txt"), "The file is not moved. Many files are specified\n");
@@ -2209,7 +2209,7 @@ static void test_move(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         if (old_shell32)
         {
             DeleteFileA("a.txt\\a.txt");
@@ -2229,7 +2229,7 @@ static void test_move(void)
     {
         /* Old shell32 */
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("test1.txt\\test2.txt"), "Expected test1.txt\\test2.txt to exist\n");
         ok(DeleteFileA("test1.txt\\test3.txt"), "Expected test1.txt\\test3.txt to exist\n");
         RemoveDirectoryA("test1.txt");
@@ -2250,7 +2250,7 @@ static void test_move(void)
     retval = SHFileOperationA(&shfo);
     ok(retval == ERROR_SUCCESS ||
        retval == DE_DESTSUBTREE, /* Vista */
-       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %d\n", retval);
+       "Expected ERROR_SUCCESS or DE_DESTSUBTREE, got %ld\n", retval);
     ok(!RemoveDirectoryA("test4.txt\\b.txt"), "Expected test4.txt\\b.txt to not exist\n");
     ok(dir_exists("test4.txt"), "Expected test4.txt to exist\n");
 
@@ -2262,7 +2262,7 @@ static void test_move(void)
     {
         /* Old shell32 */
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("d.txt\\test2.txt"), "Expected d.txt\\test2.txt to exist\n");
         ok(DeleteFileA("d.txt\\test3.txt"), "Expected d.txt\\test3.txt to exist\n");
         RemoveDirectoryA("d.txt");
@@ -2293,7 +2293,7 @@ static void test_move(void)
         {
             /* Vista and W2K8 (broken or new behavior ?) */
             ok(retval == DE_SAMEFILE,
-               "Expected DE_SAMEFILE, got %d\n", retval);
+               "Expected DE_SAMEFILE, got %ld\n", retval);
             ok(DeleteFileA("d.txt\\test2.txt"), "Expected d.txt\\test2.txt to exist\n");
             ok(!file_exists("d.txt\\test3.txt"), "Expected d.txt\\test3.txt to not exist\n");
             RemoveDirectoryA("d.txt");
@@ -2313,7 +2313,7 @@ static void test_move(void)
     if (dir_exists("dir1"))
     {
         /* Vista and W2K8 (broken or new behavior ?) */
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(DeleteFileA("dir1\\dir2\\test2.txt"), "Expected dir1\\dir2\\test2.txt to exist\n");
         RemoveDirectoryA("dir1\\dir2");
         RemoveDirectoryA("dir1");
@@ -2334,7 +2334,7 @@ static void test_move(void)
     }
     else
     {
-        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %d\n", retval);
+        ok(retval == ERROR_SUCCESS, "Expected ERROR_SUCCESS, got %ld\n", retval);
         ok(!file_exists("test2.txt"), "Expected test2.txt to not exist\n");
         if (old_shell32)
         {
@@ -2375,22 +2375,22 @@ static void test_sh_path_prepare(void)
     /* directory exists, SHPPFW_NONE */
     set_curr_dir_path(path, "testdir2\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_NONE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
 
     /* directory exists, SHPPFW_IGNOREFILENAME */
     set_curr_dir_path(path, "testdir2\\test4.txt\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_IGNOREFILENAME);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
 
     /* directory exists, SHPPFW_DIRCREATE */
     set_curr_dir_path(path, "testdir2\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
 
     /* directory exists, SHPPFW_IGNOREFILENAME|SHPPFW_DIRCREATE */
     set_curr_dir_path(path, "testdir2\\test4.txt\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_IGNOREFILENAME|SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
     ok(!file_exists("nonexistent\\"), "nonexistent\\ exists but shouldn't\n");
 
     /* file exists, SHPPFW_NONE */
@@ -2399,14 +2399,14 @@ static void test_sh_path_prepare(void)
     ok(res == HRESULT_FROM_WIN32(ERROR_DIRECTORY) ||
        res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) || /* WinMe */
        res == HRESULT_FROM_WIN32(ERROR_INVALID_NAME), /* Vista */
-       "Unexpected result : 0x%08x\n", res);
+       "Unexpected result : 0x%08lx\n", res);
 
     /* file exists, SHPPFW_DIRCREATE */
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_DIRCREATE);
     ok(res == HRESULT_FROM_WIN32(ERROR_DIRECTORY) ||
        res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) || /* WinMe */
        res == HRESULT_FROM_WIN32(ERROR_INVALID_NAME), /* Vista */
-       "Unexpected result : 0x%08x\n", res);
+       "Unexpected result : 0x%08lx\n", res);
 
     /* file exists, SHPPFW_NONE, trailing \ */
     set_curr_dir_path(path, "test1.txt\\\0");
@@ -2414,39 +2414,39 @@ static void test_sh_path_prepare(void)
     ok(res == HRESULT_FROM_WIN32(ERROR_DIRECTORY) ||
        res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) || /* WinMe */
        res == HRESULT_FROM_WIN32(ERROR_INVALID_NAME), /* Vista */
-       "Unexpected result : 0x%08x\n", res);
+       "Unexpected result : 0x%08lx\n", res);
 
     /* relative path exists, SHPPFW_DIRCREATE */
     res = SHPathPrepareForWriteA(0, 0, ".\\testdir2", SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
 
     /* relative path doesn't exist, SHPPFW_DIRCREATE -- Windows does not create the directory in this case */
     res = SHPathPrepareForWriteA(0, 0, ".\\testdir2\\test4.txt", SHPPFW_DIRCREATE);
-    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08x, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
+    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08lx, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
     ok(!file_exists(".\\testdir2\\test4.txt\\"), ".\\testdir2\\test4.txt\\ exists but shouldn't\n");
 
     /* directory doesn't exist, SHPPFW_NONE */
     set_curr_dir_path(path, "nonexistent\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_NONE);
-    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08x, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
+    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08lx, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
 
     /* directory doesn't exist, SHPPFW_IGNOREFILENAME */
     set_curr_dir_path(path, "nonexistent\\notreal\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_IGNOREFILENAME);
-    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08x, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
+    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == 0x%08lx, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
     ok(!file_exists("nonexistent\\notreal"), "nonexistent\\notreal exists but shouldn't\n");
     ok(!file_exists("nonexistent\\"), "nonexistent\\ exists but shouldn't\n");
 
     /* directory doesn't exist, SHPPFW_IGNOREFILENAME|SHPPFW_DIRCREATE */
     set_curr_dir_path(path, "testdir2\\test4.txt\\\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_IGNOREFILENAME|SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
     ok(file_exists("testdir2\\test4.txt\\"), "testdir2\\test4.txt doesn't exist but should\n");
 
     /* nested directory doesn't exist, SHPPFW_DIRCREATE */
     set_curr_dir_path(path, "nonexistent\\notreal\0");
     res = SHPathPrepareForWriteA(0, 0, path, SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == 0x%08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == 0x%08lx, expected S_OK\n", res);
     ok(file_exists("nonexistent\\notreal"), "nonexistent\\notreal doesn't exist but should\n");
 
     /* SHPPFW_ASKDIRCREATE, SHPPFW_NOWRITECHECK, and SHPPFW_MEDIACHECKONLY are untested */
@@ -2455,7 +2455,7 @@ static void test_sh_path_prepare(void)
     UsedDefaultChar = FALSE;
     if (WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, UNICODE_PATH, -1, UNICODE_PATH_A, sizeof(UNICODE_PATH_A), NULL, &UsedDefaultChar) == 0)
     {
-        win_skip("Could not convert Unicode path name to multibyte (%d)\n", GetLastError());
+        win_skip("Could not convert Unicode path name to multibyte (%ld)\n", GetLastError());
         return;
     }
     if (UsedDefaultChar)
@@ -2467,22 +2467,22 @@ static void test_sh_path_prepare(void)
     /* unicode directory doesn't exist, SHPPFW_NONE */
     RemoveDirectoryA(UNICODE_PATH_A);
     res = SHPathPrepareForWriteW(0, 0, UNICODE_PATH, SHPPFW_NONE);
-    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == %08x, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
+    ok(res == HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), "res == %08lx, expected HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND)\n", res);
     ok(!file_exists(UNICODE_PATH_A), "unicode path was created but shouldn't be\n");
     RemoveDirectoryA(UNICODE_PATH_A);
 
     /* unicode directory doesn't exist, SHPPFW_DIRCREATE */
     res = SHPathPrepareForWriteW(0, 0, UNICODE_PATH, SHPPFW_DIRCREATE);
-    ok(res == S_OK, "res == %08x, expected S_OK\n", res);
+    ok(res == S_OK, "res == %08lx, expected S_OK\n", res);
     ok(file_exists(UNICODE_PATH_A), "unicode path should've been created\n");
 
     /* unicode directory exists, SHPPFW_NONE */
     res = SHPathPrepareForWriteW(0, 0, UNICODE_PATH, SHPPFW_NONE);
-    ok(res == S_OK, "ret == %08x, expected S_OK\n", res);
+    ok(res == S_OK, "ret == %08lx, expected S_OK\n", res);
 
     /* unicode directory exists, SHPPFW_DIRCREATE */
     res = SHPathPrepareForWriteW(0, 0, UNICODE_PATH, SHPPFW_DIRCREATE);
-    ok(res == S_OK, "ret == %08x, expected S_OK\n", res);
+    ok(res == S_OK, "ret == %08lx, expected S_OK\n", res);
     RemoveDirectoryA(UNICODE_PATH_A);
 }
 
@@ -2509,7 +2509,7 @@ static void test_sh_new_link_info(void)
     ret = SHGetNewLinkInfoA(linkto, destdir, result, &mustcopy, 0);
     ok(ret == TRUE ||
        broken(ret == lstrlenA(result) + 1), /* NT4 */
-       "SHGetNewLinkInfoA failed, err=%i\n", GetLastError());
+       "SHGetNewLinkInfoA failed, err=%li\n", GetLastError());
     ok(mustcopy == FALSE, "mustcopy should be FALSE\n");
 
     /* source file exists */
@@ -2518,7 +2518,7 @@ static void test_sh_new_link_info(void)
     ret = SHGetNewLinkInfoA(linkto, destdir, result, &mustcopy, 0);
     ok(ret == TRUE ||
        broken(ret == lstrlenA(result) + 1), /* NT4 */
-       "SHGetNewLinkInfoA failed, err=%i\n", GetLastError());
+       "SHGetNewLinkInfoA failed, err=%li\n", GetLastError());
     ok(mustcopy == FALSE, "mustcopy should be FALSE\n");
     ok(CompareStringA(LOCALE_SYSTEM_DEFAULT, NORM_IGNORECASE, destdir,
                       lstrlenA(destdir), result, lstrlenA(destdir)) == CSTR_EQUAL,
@@ -2531,7 +2531,7 @@ static void test_sh_new_link_info(void)
     ret = SHGetNewLinkInfoA(linkto, destdir, result2, &mustcopy, 0);
     ok(ret == TRUE ||
        broken(ret == lstrlenA(result2) + 1), /* NT4 */
-       "SHGetNewLinkInfoA failed, err=%i\n", GetLastError());
+       "SHGetNewLinkInfoA failed, err=%li\n", GetLastError());
     ok(mustcopy == FALSE, "mustcopy should be FALSE\n");
     ok(CompareStringA(LOCALE_SYSTEM_DEFAULT, NORM_IGNORECASE, destdir,
                       lstrlenA(destdir), result2, lstrlenA(destdir)) == CSTR_EQUAL,
@@ -2626,7 +2626,7 @@ static void test_unicode(void)
     ok(!shfoW.fAnyOperationsAborted, "Didn't expect aborted operations\n");
     ok(GetLastError() == ERROR_SUCCESS ||
        broken(GetLastError() == ERROR_INVALID_HANDLE), /* WinXp, win2k3 */
-       "Expected ERROR_SUCCESS, got %d\n", GetLastError());
+       "Expected ERROR_SUCCESS, got %ld\n", GetLastError());
     DeleteFileW(UNICODE_PATH_TO);
 
     /* Check last error after a failed file operation. */
@@ -2638,7 +2638,7 @@ static void test_unicode(void)
     ok(!shfoW.fAnyOperationsAborted, "Didn't expect aborted operations\n");
     ok(GetLastError() == ERROR_SUCCESS ||
        broken(GetLastError() == ERROR_INVALID_HANDLE), /* WinXp, win2k3 */
-       "Expected ERROR_SUCCESS, got %d\n", GetLastError());
+       "Expected ERROR_SUCCESS, got %ld\n", GetLastError());
 
     /* Check SHCreateDirectoryExW with a Hwnd
      * returns ERROR_ALREADY_EXISTS where a directory already exists */
@@ -2664,36 +2664,36 @@ test_shlmenu(void) {
 	BOOL bres;
 
 	hres = Shell_MergeMenus (0, 0, 0x42, 0x4242, 0x424242, 0);
-	ok (hres == 0x4242, "expected 0x4242 but got %x\n", hres);
+	ok (hres == 0x4242, "expected 0x4242 but got %lx\n", hres);
 	hres = Shell_MergeMenus ((HMENU)42, 0, 0x42, 0x4242, 0x424242, 0);
-	ok (hres == 0x4242, "expected 0x4242 but got %x\n", hres);
+	ok (hres == 0x4242, "expected 0x4242 but got %lx\n", hres);
 
 	src_menu = CreatePopupMenu ();
-	ok (src_menu != NULL, "CreatePopupMenu() failed, error %d\n", GetLastError ());
+	ok (src_menu != NULL, "CreatePopupMenu() failed, error %ld\n", GetLastError ());
 
 	dst_menu = CreatePopupMenu ();
-	ok (dst_menu != NULL, "CreatePopupMenu() failed, error %d\n", GetLastError ());
+	ok (dst_menu != NULL, "CreatePopupMenu() failed, error %ld\n", GetLastError ());
 	bres = InsertMenuA (src_menu, -1, MF_BYPOSITION | MF_STRING, 10, "item1");
-        ok (bres, "InsertMenuA failed, error %d\n", GetLastError());
+        ok (bres, "InsertMenuA failed, error %ld\n", GetLastError());
 	bres = InsertMenuA (src_menu, -1, MF_BYPOSITION | MF_STRING, 11, "item2");
-        ok (bres, "InsertMenuA failed, error %d\n", GetLastError());
+        ok (bres, "InsertMenuA failed, error %ld\n", GetLastError());
 	hres = Shell_MergeMenus (dst_menu, src_menu, 0, 123, 133, MM_SUBMENUSHAVEIDS);
-	ok (hres == 134, "got %d\n", hres);
+	ok (hres == 134, "got %ld\n", hres);
 	count = GetMenuItemCount (dst_menu);
 	ok (count == 1, "got %d\n", count);
 	memset (&item_info, 0, sizeof(item_info));
 	item_info.cbSize = sizeof(item_info);
 	item_info.fMask = MIIM_ID;
 	bres = GetMenuItemInfoA (dst_menu, 0, TRUE, &item_info);
-	ok (bres, "GetMenuItemInfoA failed, error %d\n", GetLastError ());
+	ok (bres, "GetMenuItemInfoA failed, error %ld\n", GetLastError ());
 	ok (item_info.wID == 133, "got %d\n", item_info.wID);
 	DestroyMenu (dst_menu);
 
 	/* integer overflow: Shell_MergeMenus() return value is wrong, but items are still added */
 	dst_menu = CreatePopupMenu ();
-	ok (dst_menu != NULL, "CreatePopupMenu() failed, error %d\n", GetLastError ());
+	ok (dst_menu != NULL, "CreatePopupMenu() failed, error %ld\n", GetLastError ());
 	hres = Shell_MergeMenus (dst_menu, src_menu, 0, -1, 133, MM_SUBMENUSHAVEIDS);
-	ok (hres == -1, "got %d\n", hres);
+	ok (hres == -1, "got %ld\n", hres);
 	count = GetMenuItemCount (dst_menu);
 	ok (count == 2, "got %d\n", count);
 	DestroyMenu (dst_menu);
@@ -2748,7 +2748,7 @@ static void test_file_operation(void)
     hr = CoCreateInstance(&CLSID_FileOperation, NULL, CLSCTX_INPROC_SERVER,
             &IID_IFileOperation, (void **)&operation);
     ok(hr == S_OK || broken(hr == REGDB_E_CLASSNOTREG) /* before vista */,
-        "Got hr %#x.\n", hr);
+        "Got hr %#lx.\n", hr);
     if (hr == REGDB_E_CLASSNOTREG)
     {
         win_skip("IFileOperation isn't supported.\n");
@@ -2756,7 +2756,7 @@ static void test_file_operation(void)
     }
 
     hr = IFileOperation_QueryInterface(operation, &IID_IUnknown, (void **)&unk);
-    ok(hr == S_OK, "Got hr %#x.\n", hr);
+    ok(hr == S_OK, "Got hr %#lx.\n", hr);
     IUnknown_Release(unk);
 
     IFileOperation_Release(operation);
diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c
index 608d4defcb9..8105ba71e54 100644
--- a/dlls/shell32/tests/shlfolder.c
+++ b/dlls/shell32/tests/shlfolder.c
@@ -200,16 +200,16 @@ static void test_ParseDisplayName(void)
     int i;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "Expected SHGetDesktopFolder to return S_OK, got 0x%08x\n", hr);
+    ok(hr == S_OK, "Expected SHGetDesktopFolder to return S_OK, got 0x%08lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, NULL, NULL, &pidl, NULL);
-    ok(hr == E_INVALIDARG, "got %#x\n", hr);
+    ok(hr == E_INVALIDARG, "got %#lx\n", hr);
 
     for (i = 0; i < ARRAY_SIZE(parse_tests); i++)
     {
         hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, parse_tests[i].path, NULL, &pidl, NULL);
         todo_wine_if(parse_tests[i].todo)
-        ok(hr == parse_tests[i].hr, "%s: expected %#x, got %#x\n",
+        ok(hr == parse_tests[i].hr, "%s: expected %#lx, got %#lx\n",
             wine_dbgstr_w(parse_tests[i].path), parse_tests[i].hr, hr);
         if (SUCCEEDED(hr))
             CoTaskMemFree(pidl);
@@ -220,10 +220,10 @@ static void test_ParseDisplayName(void)
      * out it doesn't. The magic seems to happen in the file dialogs, then. */
 
     bRes = SHGetSpecialFolderPathW(NULL, buffer, CSIDL_PERSONAL, FALSE);
-    ok(bRes, "SHGetSpecialFolderPath(CSIDL_PERSONAL) failed! %u\n", GetLastError());
+    ok(bRes, "SHGetSpecialFolderPath(CSIDL_PERSONAL) failed! %lu\n", GetLastError());
 
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, buffer, NULL, &pidl, 0);
-    ok(hr == S_OK, "DesktopFolder->ParseDisplayName failed. hr = %08x.\n", hr);
+    ok(hr == S_OK, "DesktopFolder->ParseDisplayName failed. hr = %08lx.\n", hr);
 
     ok(ILFindLastID(pidl)->mkid.abID[0] == 0x31,
        "Last pidl should be of type PT_FOLDER, but is: %02x\n",
@@ -237,17 +237,17 @@ static void test_ParseDisplayName(void)
     CreateDirectoryW(testdirW, NULL);
 
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, testdirW, NULL, &pidl, NULL);
-    ok(hr == 0x80070002, "got %#x\n", hr);
+    ok(hr == 0x80070002, "got %#lx\n", hr);
 
     RemoveDirectoryW(testdirW);
 
     hr = SHGetSpecialFolderPathW(NULL, buffer, CSIDL_DESKTOP, FALSE);
-    ok(hr == S_FALSE, "got %#x\n", hr);
+    ok(hr == S_FALSE, "got %#lx\n", hr);
     SetCurrentDirectoryW(buffer);
     CreateDirectoryW(testdirW, NULL);
 
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, testdirW, NULL, &pidl, NULL);
-    ok(hr == S_OK, "got %#x\n", hr);
+    ok(hr == S_OK, "got %#lx\n", hr);
 
     ok(SHGetPathFromIDListW(pidl, buffer2), "SHGetPathFromIDList failed\n");
     lstrcatW(buffer, backslashW);
@@ -339,7 +339,7 @@ static void test_EnumObjects(IShellFolder *iFolder)
     };
 
     hr = IShellFolder_EnumObjects(iFolder, NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS | SHCONTF_INCLUDEHIDDEN, &iEnumList);
-    ok(hr == S_OK, "EnumObjects failed %08x\n", hr);
+    ok(hr == S_OK, "EnumObjects failed %08lx\n", hr);
 
     /* This is to show that, contrary to what is said on MSDN, on IEnumIDList::Next,
      * the filesystem shellfolders return S_OK even if less than 'celt' items are
@@ -350,7 +350,7 @@ static void test_EnumObjects(IShellFolder *iFolder)
     ok (i == 5, "i: %d\n", i);
 
     hr = IEnumIDList_Release(iEnumList);
-    ok(hr == S_OK, "IEnumIDList_Release failed %08x\n", hr);
+    ok(hr == S_OK, "IEnumIDList_Release failed %08lx\n", hr);
     
     /* Sort them first in case of wrong order from system */
     for (i=0;i<5;i++) for (j=0;j<5;j++)
@@ -364,7 +364,7 @@ static void test_EnumObjects(IShellFolder *iFolder)
     for (i=0;i<5;i++) for (j=0;j<5;j++)
     {
         hr = IShellFolder_CompareIDs(iFolder, 0, idlArr[i], idlArr[j]);
-        ok(hr == iResults[i][j], "Got %x expected [%d]-[%d]=%x\n", hr, i, j, iResults[i][j]);
+        ok(hr == iResults[i][j], "Got %lx expected [%d]-[%d]=%x\n", hr, i, j, iResults[i][j]);
     }
 
     for (i = 0; i < ARRAY_SIZE(attrs); ++i)
@@ -374,20 +374,20 @@ static void test_EnumObjects(IShellFolder *iFolder)
         flags = SFGAO_CANCOPY;
         hr = IShellFolder_GetAttributesOf(iFolder, 1, (LPCITEMIDLIST*)(idlArr + i), &flags);
         flags &= SFGAO_testfor;
-        ok(hr == S_OK, "Failed to get item attributes, hr %#x.\n", hr);
-        ok((flags & attrs[i]) == attrs[i], "%i: unexpected attributes got %#x, expected %#x.\n", i, flags, attrs[i]);
+        ok(hr == S_OK, "Failed to get item attributes, hr %#lx.\n", hr);
+        ok((flags & attrs[i]) == attrs[i], "%i: unexpected attributes got %#lx, expected %#lx.\n", i, flags, attrs[i]);
 
         flags = SFGAO_testfor;
         hr = IShellFolder_GetAttributesOf(iFolder, 1, (LPCITEMIDLIST*)(idlArr + i), &flags);
         flags &= SFGAO_testfor;
-        ok(hr == S_OK, "Failed to get item attributes, hr %#x.\n", hr);
-        ok(flags == (attrs[i] | SFGAO_CAPABILITYMASK), "%i: unexpected attributes got %#x, expected %#x.\n",
+        ok(hr == S_OK, "Failed to get item attributes, hr %#lx.\n", hr);
+        ok(flags == (attrs[i] | SFGAO_CAPABILITYMASK), "%i: unexpected attributes got %#lx, expected %#lx.\n",
                 i, flags, attrs[i]);
 
         flags = ~0u;
         hr = IShellFolder_GetAttributesOf(iFolder, 1, (LPCITEMIDLIST*)(idlArr + i), &flags);
-        ok(hr == S_OK, "Failed to get item attributes, hr %#x.\n", hr);
-        ok((flags & ~(SFGAO_HASSUBFOLDER|SFGAO_COMPRESSED)) == full_attrs[i], "%d: unexpected attributes %#x, expected %#x\n",
+        ok(hr == S_OK, "Failed to get item attributes, hr %#lx.\n", hr);
+        ok((flags & ~(SFGAO_HASSUBFOLDER|SFGAO_COMPRESSED)) == full_attrs[i], "%d: unexpected attributes %#lx, expected %#lx\n",
                 i, flags, full_attrs[i]);
     }
 
@@ -419,36 +419,36 @@ static void test_BindToObject(void)
      * with an empty pidl. This is tested for Desktop, MyComputer and the FS ShellFolder
      */
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
     
     hr = IShellFolder_BindToObject(psfDesktop, pidlEmpty, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
-    ok (hr == E_INVALIDARG, "Desktop's BindToObject should fail, when called with empty pidl! hr = %08x\n", hr);
+    ok (hr == E_INVALIDARG, "Desktop's BindToObject should fail, when called with empty pidl! hr = %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(psfDesktop, NULL, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
-    ok (hr == E_INVALIDARG, "Desktop's BindToObject should fail, when called with NULL pidl! hr = %08x\n", hr);
+    ok (hr == E_INVALIDARG, "Desktop's BindToObject should fail, when called with NULL pidl! hr = %08lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszMyComputer, NULL, &pidlMyComputer, NULL);
-    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
     }
     
     hr = IShellFolder_BindToObject(psfDesktop, pidlMyComputer, NULL, &IID_IShellFolder, (LPVOID*)&psfMyComputer);
-    ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08lx\n", hr);
     IShellFolder_Release(psfDesktop);
     ILFree(pidlMyComputer);
     if (hr != S_OK) return;
 
     hr = IShellFolder_BindToObject(psfMyComputer, pidlEmpty, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
-    ok (hr == E_INVALIDARG, "MyComputers's BindToObject should fail, when called with empty pidl! hr = %08x\n", hr);
+    ok (hr == E_INVALIDARG, "MyComputers's BindToObject should fail, when called with empty pidl! hr = %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(psfMyComputer, NULL, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
-    ok (hr == E_INVALIDARG, "MyComputers's BindToObject should fail, when called with NULL pidl! hr = %08x\n", hr);
+    ok (hr == E_INVALIDARG, "MyComputers's BindToObject should fail, when called with NULL pidl! hr = %08lx\n", hr);
 
     cChars = GetSystemDirectoryA(szSystemDir, MAX_PATH);
-    ok (cChars > 0 && cChars < MAX_PATH, "GetSystemDirectoryA failed! LastError: %u\n", GetLastError());
+    ok (cChars > 0 && cChars < MAX_PATH, "GetSystemDirectoryA failed! LastError: %lu\n", GetLastError());
     if (cChars == 0 || cChars >= MAX_PATH) {
         IShellFolder_Release(psfMyComputer);
         return;
@@ -456,25 +456,25 @@ static void test_BindToObject(void)
     MultiByteToWideChar(CP_ACP, 0, szSystemDir, -1, wszSystemDir, MAX_PATH);
     
     hr = IShellFolder_ParseDisplayName(psfMyComputer, NULL, NULL, wszSystemDir, NULL, &pidlSystemDir, NULL);
-    ok (hr == S_OK, "MyComputers's ParseDisplayName failed to parse the SystemDirectory! hr = %08x\n", hr);
+    ok (hr == S_OK, "MyComputers's ParseDisplayName failed to parse the SystemDirectory! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfMyComputer);
         return;
     }
 
     hr = IShellFolder_BindToObject(psfMyComputer, pidlSystemDir, NULL, &IID_IShellFolder, (LPVOID*)&psfSystemDir);
-    ok (hr == S_OK, "MyComputer failed to bind to a FileSystem ShellFolder! hr = %08x\n", hr);
+    ok (hr == S_OK, "MyComputer failed to bind to a FileSystem ShellFolder! hr = %08lx\n", hr);
     IShellFolder_Release(psfMyComputer);
     ILFree(pidlSystemDir);
     if (hr != S_OK) return;
 
     hr = IShellFolder_BindToObject(psfSystemDir, pidlEmpty, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
     ok (hr == E_INVALIDARG, 
-        "FileSystem ShellFolder's BindToObject should fail, when called with empty pidl! hr = %08x\n", hr);
+        "FileSystem ShellFolder's BindToObject should fail, when called with empty pidl! hr = %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(psfSystemDir, NULL, NULL, &IID_IShellFolder, (LPVOID*)&psfChild);
     ok (hr == E_INVALIDARG,
-        "FileSystem ShellFolder's BindToObject should fail, when called with NULL pidl! hr = %08x\n", hr);
+        "FileSystem ShellFolder's BindToObject should fail, when called with NULL pidl! hr = %08lx\n", hr);
 
     IShellFolder_Release(psfSystemDir);
 
@@ -499,23 +499,23 @@ static void test_BindToObject(void)
         CloseHandle(hfile);
         MultiByteToWideChar(CP_ACP, 0, pathA, -1, path, MAX_PATH);
         hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, path, NULL, &pidl, NULL);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IShellFolder_BindToObject(psfDesktop, pidl, NULL, &IID_IShellFolder, (void**)&psfChild);
             ok(hr == S_OK ||
                hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), /* XP, W2K3 */
-               "Got 0x%08x\n", hr);
+               "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 IPersist *pp;
                 hr = IShellFolder_QueryInterface(psfChild, &IID_IPersist, (void**)&pp);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 if(SUCCEEDED(hr))
                 {
                     CLSID id;
                     hr = IPersist_GetClassID(pp, &id);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(IsEqualIID(&id, &CLSID_ShellDocObjView), "Unexpected classid %s\n", wine_dbgstr_guid(&id));
                     IPersist_Release(pp);
                 }
@@ -538,13 +538,13 @@ static void test_BindToObject(void)
         CloseHandle(hfile);
         MultiByteToWideChar(CP_ACP, 0, pathA, -1, path, MAX_PATH);
         hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, path, NULL, &pidl, NULL);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IShellFolder_BindToObject(psfDesktop, pidl, NULL, &IID_IShellFolder, (void**)&psfChild);
             ok(hr == E_FAIL || /* Vista+ */
                hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), /* XP, W2K3 */
-               "Got 0x%08x\n", hr);
+               "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IShellFolder_Release(psfChild);
             ILFree(pidl);
         }
@@ -562,13 +562,13 @@ static void test_BindToObject(void)
         CloseHandle(hfile);
         MultiByteToWideChar(CP_ACP, 0, pathA, -1, path, MAX_PATH);
         hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, path, NULL, &pidl, NULL);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = IShellFolder_BindToObject(psfDesktop, pidl, NULL, &IID_IShellFolder, (void**)&psfChild);
             ok(hr == E_FAIL || /* Vista+ */
                hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), /* XP, W2K3 */
-               "Got 0x%08x\n", hr);
+               "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IShellFolder_Release(psfChild);
             ILFree(pidl);
         }
@@ -586,16 +586,16 @@ static void test_BindToObject(void)
     CloseHandle(hfile);
     MultiByteToWideChar(CP_ACP, 0, pathA, -1, path, MAX_PATH);
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, path, NULL, &pidl, NULL);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IShellFolder_BindToObject(psfDesktop, pidl, NULL, &IID_IShellFolder, (void **)&psfChild);
     ok(hr == S_OK ||
        hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), /* XP, W2K3 */
-       "Got 0x%08x\n", hr);
+       "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr)) IShellFolder_Release(psfChild);
     ILFree(pidl);
     if(!DeleteFileA(pathA))
-        trace("Failed to delete: %d\n", GetLastError());
+        trace("Failed to delete: %ld\n", GetLastError());
 
     SHGetSpecialFolderPathA(NULL, pathA, CSIDL_DESKTOP, FALSE);
     lstrcatA(pathA, "\\");
@@ -605,12 +605,12 @@ static void test_BindToObject(void)
     CloseHandle(hfile);
     MultiByteToWideChar(CP_ACP, 0, pathA, -1, path, MAX_PATH);
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, path, NULL, &pidl, NULL);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = IShellFolder_BindToObject(psfDesktop, pidl, NULL, &IID_IShellFolder, (void **)&psfChild);
     ok(hr == E_FAIL || /* Vista+ */
        hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), /* XP, W2K3 */
-       "Got 0x%08x\n", hr);
+       "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr)) IShellFolder_Release(psfChild);
     ILFree(pidl);
     DeleteFileA(pathA);
@@ -650,7 +650,7 @@ static void test_GetDisplayName(void)
 
     /* First creating a directory in MyDocuments and a file in this directory. */
     result = SHGetSpecialFolderPathA(NULL, szTestDir, CSIDL_PERSONAL, FALSE);
-    ok(result, "SHGetSpecialFolderPathA failed! Last error: %u\n", GetLastError());
+    ok(result, "SHGetSpecialFolderPathA failed! Last error: %lu\n", GetLastError());
     if (!result) return;
 
     /* Use ANSI file functions so this works on Windows 9x */
@@ -667,19 +667,19 @@ static void test_GetDisplayName(void)
     lstrcatA(szTestFile, "\\");
     lstrcatA(szTestFile, szFileName);
     hTestFile = CreateFileA(szTestFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL);
-    ok((hTestFile != INVALID_HANDLE_VALUE), "CreateFileA failed! Last error: %u\n", GetLastError());
+    ok((hTestFile != INVALID_HANDLE_VALUE), "CreateFileA failed! Last error: %lu\n", GetLastError());
     if (hTestFile == INVALID_HANDLE_VALUE) return;
     CloseHandle(hTestFile);
 
     /* Getting an itemidlist for the file. */
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok(hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     MultiByteToWideChar(CP_ACP, 0, szTestFile, -1, wszTestFile, MAX_PATH);
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszTestFile, NULL, &pidlTestFile, NULL);
-    ok(hr == S_OK, "Desktop->ParseDisplayName failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "Desktop->ParseDisplayName failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -705,18 +705,18 @@ static void test_GetDisplayName(void)
     hr = IShellFolder_BindToObject(psfDesktop, pidlTestFile, NULL, &IID_IUnknown, (VOID**)&psfFile);
     ok (hr == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND) ||
         hr == E_NOTIMPL, /* Vista */
-        "hr = %08x\n", hr);
+        "hr = %08lx\n", hr);
     if (hr == S_OK) {
         IUnknown_Release(psfFile);
     }
 
     /* Some tests for IShellFolder::SetNameOf */
     hr = SHBindToParent(pidlTestFile, &IID_IShellFolder, (void **)&psfPersonal, &pidlLast);
-    ok(hr == S_OK, "SHBindToParent failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "SHBindToParent failed! hr = %08lx\n", hr);
 
     /* The pidl returned through the last parameter of SetNameOf is a simple one. */
     hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlLast, wszDirName, SHGDN_NORMAL, &pidlNew);
-    ok (hr == S_OK, "SetNameOf failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SetNameOf failed! hr = %08lx\n", hr);
 
     ok (((ITEMIDLIST *)((BYTE *)pidlNew + pidlNew->mkid.cb))->mkid.cb == 0,
         "pidl returned from SetNameOf should be simple!\n");
@@ -724,12 +724,12 @@ static void test_GetDisplayName(void)
     /* Passing an absolute path to SetNameOf fails. The HRESULT code indicates that SetNameOf
      * is implemented on top of SHFileOperation in WinXP. */
     hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszAbsoluteFilename, SHGDN_FORPARSING, NULL);
-    ok (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED), "SetNameOf succeeded! hr = %08x\n", hr);
+    ok (hr == HRESULT_FROM_WIN32(ERROR_CANCELLED), "SetNameOf succeeded! hr = %08lx\n", hr);
 
     /* Rename the file back to its original name. SetNameOf ignores the fact, that the
      * SHGDN flags specify an absolute path. */
     hr = IShellFolder_SetNameOf(psfPersonal, NULL, pidlNew, wszFileName, SHGDN_FORPARSING, NULL);
-    ok (hr == S_OK, "SetNameOf failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SetNameOf failed! hr = %08lx\n", hr);
 
     ILFree(pidlNew);
     IShellFolder_Release(psfPersonal);
@@ -740,24 +740,24 @@ static void test_GetDisplayName(void)
 
     /* SHGetPathFromIDListW still works, although the file is not present anymore. */
     result = SHGetPathFromIDListW(pidlTestFile, wszTestFile2);
-    ok (result, "SHGetPathFromIDListW failed! Last error: %u\n", GetLastError());
+    ok (result, "SHGetPathFromIDListW failed! Last error: %lu\n", GetLastError());
     ok (!lstrcmpiW(wszTestFile, wszTestFile2), "SHGetPathFromIDListW returns incorrect path!\n");
 
     /* SHBindToParent fails, if called with a NULL PIDL. */
     hr = SHBindToParent(NULL, &IID_IShellFolder, (void **)&psfPersonal, &pidlLast);
     ok (hr == E_INVALIDARG || broken(hr == E_OUTOFMEMORY) /* XP */,
-        "SHBindToParent(NULL) should fail! hr = %08x\n", hr);
+        "SHBindToParent(NULL) should fail! hr = %08lx\n", hr);
 
     /* But it succeeds with an empty PIDL. */
     hr = SHBindToParent(pidlEmpty, &IID_IShellFolder, (void **)&psfPersonal, &pidlLast);
-    ok (hr == S_OK, "SHBindToParent(empty PIDL) should succeed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHBindToParent(empty PIDL) should succeed! hr = %08lx\n", hr);
     ok (pidlLast == pidlEmpty, "The last element of an empty PIDL should be the PIDL itself!\n");
     if (hr == S_OK)
         IShellFolder_Release(psfPersonal);
 
     /* Binding to the folder and querying the display name of the file also works. */
     hr = SHBindToParent(pidlTestFile, &IID_IShellFolder, (void **)&psfPersonal, &pidlLast);
-    ok (hr == S_OK, "SHBindToParent failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHBindToParent failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -769,7 +769,7 @@ static void test_GetDisplayName(void)
                                 "SHBindToParent doesn't return the last id of the pidl param!\n");
 
     hr = IShellFolder_GetDisplayNameOf(psfPersonal, pidlLast, SHGDN_FORPARSING, &strret);
-    ok (hr == S_OK, "Personal->GetDisplayNameOf failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "Personal->GetDisplayNameOf failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         IShellFolder_Release(psfPersonal);
@@ -777,7 +777,7 @@ static void test_GetDisplayName(void)
     }
 
     hr = StrRetToBufW(&strret, pidlLast, wszTestFile2, MAX_PATH);
-    ok (hr == S_OK, "StrRetToBufW failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "StrRetToBufW failed! hr = %08lx\n", hr);
     ok (!lstrcmpiW(wszTestFile, wszTestFile2), "GetDisplayNameOf returns incorrect path!\n");
 
     ILFree(pidlTestFile);
@@ -815,13 +815,13 @@ static void test_CallForAttributes(void)
      * on MSDN. This test is meant to document the observed behaviour on WinXP SP2.
      */
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszMyDocuments, NULL,
                                        &pidlMyDocuments, NULL);
     ok (hr == S_OK,
-        "Desktop's ParseDisplayName failed to parse MyDocuments's CLSID! hr = %08x\n", hr);
+        "Desktop's ParseDisplayName failed to parse MyDocuments's CLSID! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -830,7 +830,7 @@ static void test_CallForAttributes(void)
     dwAttributes = 0xffffffff;
     hr = IShellFolder_GetAttributesOf(psfDesktop, 1, 
                                       (LPCITEMIDLIST*)&pidlMyDocuments, &dwAttributes);
-    ok (hr == S_OK, "Desktop->GetAttributesOf(MyDocuments) failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop->GetAttributesOf(MyDocuments) failed! hr = %08lx\n", hr);
 
     /* We need the following setup (as observed on WinXP SP2), for the tests to make sense. */
     ok (dwAttributes & SFGAO_FILESYSTEM, "SFGAO_FILESYSTEM attribute is not set for MyDocuments!\n");
@@ -843,7 +843,7 @@ static void test_CallForAttributes(void)
     lResult = RegOpenKeyExW(HKEY_CLASSES_ROOT, wszMyDocumentsKey, 0, KEY_WRITE|KEY_READ, &hKey);
     ok (lResult == ERROR_SUCCESS ||
         lResult == ERROR_ACCESS_DENIED,
-        "RegOpenKeyEx failed! result: %08x\n", lResult);
+        "RegOpenKeyEx failed! result: %08lx\n", lResult);
     if (lResult != ERROR_SUCCESS) {
         if (lResult == ERROR_ACCESS_DENIED)
             skip("Not enough rights to open the registry key\n");
@@ -855,7 +855,7 @@ static void test_CallForAttributes(void)
     /* Query MyDocuments' Attributes value, to be able to restore it later. */
     dwSize = sizeof(DWORD);
     lResult = RegQueryValueExW(hKey, wszAttributes, NULL, NULL, (LPBYTE)&dwOrigAttributes, &dwSize);
-    ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08x\n", lResult);
+    ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08lx\n", lResult);
     if (lResult != ERROR_SUCCESS) {
         RegCloseKey(hKey);
         ILFree(pidlMyDocuments);
@@ -867,7 +867,7 @@ static void test_CallForAttributes(void)
     dwSize = sizeof(DWORD);
     lResult = RegQueryValueExW(hKey, wszCallForAttributes, NULL, NULL, 
                               (LPBYTE)&dwOrigCallForAttributes, &dwSize);
-    ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08x\n", lResult);
+    ok (lResult == ERROR_SUCCESS, "RegQueryValueEx failed! result: %08lx\n", lResult);
     if (lResult != ERROR_SUCCESS) {
         RegCloseKey(hKey);
         ILFree(pidlMyDocuments);
@@ -892,10 +892,10 @@ static void test_CallForAttributes(void)
     dwAttributes = SFGAO_ISSLOW|SFGAO_GHOSTED|SFGAO_FILESYSTEM;
     hr = IShellFolder_GetAttributesOf(psfDesktop, 1, 
                                       (LPCITEMIDLIST*)&pidlMyDocuments, &dwAttributes);
-    ok (hr == S_OK, "Desktop->GetAttributesOf(MyDocuments) failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop->GetAttributesOf(MyDocuments) failed! hr = %08lx\n", hr);
     if (hr == S_OK)
         ok (dwAttributes == SFGAO_FILESYSTEM, 
-            "Desktop->GetAttributes(MyDocuments) returned unexpected attributes: %08x\n", 
+            "Desktop->GetAttributes(MyDocuments) returned unexpected attributes: %08lx\n", 
             dwAttributes);
 
     /* Restore MyDocuments' original Attributes and CallForAttributes registry values */
@@ -930,24 +930,24 @@ static void test_GetAttributesOf(void)
     int len;
 
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     /* The Desktop attributes can be queried with a single empty itemidlist, .. */
     dwFlags = 0xffffffff;
     hr = IShellFolder_GetAttributesOf(psfDesktop, 1, &pidlEmpty, &dwFlags);
-    ok (hr == S_OK, "Desktop->GetAttributesOf(empty pidl) failed! hr = %08x\n", hr);
-    ok (dwFlags == desktopFlags, "Wrong Desktop attributes: %08x\n", dwFlags);
+    ok (hr == S_OK, "Desktop->GetAttributesOf(empty pidl) failed! hr = %08lx\n", hr);
+    ok (dwFlags == desktopFlags, "Wrong Desktop attributes: %08lx\n", dwFlags);
 
     /* .. or with no itemidlist at all. */
     dwFlags = 0xffffffff;
     hr = IShellFolder_GetAttributesOf(psfDesktop, 0, NULL, &dwFlags);
-    ok (hr == S_OK, "Desktop->GetAttributesOf(NULL) failed! hr = %08x\n", hr);
-    ok (dwFlags == desktopFlags, "Wrong Desktop attributes: %08x\n", dwFlags);
+    ok (hr == S_OK, "Desktop->GetAttributesOf(NULL) failed! hr = %08lx\n", hr);
+    ok (dwFlags == desktopFlags, "Wrong Desktop attributes: %08lx\n", dwFlags);
 
     /* Testing the attributes of the MyComputer shellfolder */
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszMyComputer, NULL, &pidlMyComputer, NULL);
-    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -958,25 +958,25 @@ static void test_GetAttributesOf(void)
      */
     dwFlags = 0xffffffff;
     hr = IShellFolder_GetAttributesOf(psfDesktop, 1, (LPCITEMIDLIST*)&pidlMyComputer, &dwFlags);
-    ok (hr == S_OK, "Desktop->GetAttributesOf(MyComputer) failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop->GetAttributesOf(MyComputer) failed! hr = %08lx\n", hr);
     todo_wine
-    ok (dwFlags == (myComputerFlags | SFGAO_CANLINK), "Wrong MyComputer attributes: %08x\n", dwFlags);
+    ok (dwFlags == (myComputerFlags | SFGAO_CANLINK), "Wrong MyComputer attributes: %08lx\n", dwFlags);
 
     hr = IShellFolder_BindToObject(psfDesktop, pidlMyComputer, NULL, &IID_IShellFolder, (LPVOID*)&psfMyComputer);
-    ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop failed to bind to MyComputer object! hr = %08lx\n", hr);
     IShellFolder_Release(psfDesktop);
     ILFree(pidlMyComputer);
     if (hr != S_OK) return;
 
     hr = IShellFolder_GetAttributesOf(psfMyComputer, 1, &pidlEmpty, &dwFlags);
     todo_wine
-    ok (hr == E_INVALIDARG, "MyComputer->GetAttributesOf(empty pidl) should fail! hr = %08x\n", hr);
+    ok (hr == E_INVALIDARG, "MyComputer->GetAttributesOf(empty pidl) should fail! hr = %08lx\n", hr);
 
     dwFlags = 0xffffffff;
     hr = IShellFolder_GetAttributesOf(psfMyComputer, 0, NULL, &dwFlags);
-    ok (hr == S_OK, "MyComputer->GetAttributesOf(NULL) failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "MyComputer->GetAttributesOf(NULL) failed! hr = %08lx\n", hr);
     todo_wine
-    ok (dwFlags == myComputerFlags, "Wrong MyComputer attributes: %08x\n", dwFlags);
+    ok (dwFlags == myComputerFlags, "Wrong MyComputer attributes: %08lx\n", dwFlags);
 
     IShellFolder_Release(psfMyComputer);
 
@@ -996,25 +996,25 @@ static void test_GetAttributesOf(void)
     MultiByteToWideChar(CP_ACP, 0, cCurrDirA, -1, cCurrDirW, MAX_PATH);
  
     hr = SHGetDesktopFolder(&IDesktopFolder);
-    ok(hr == S_OK, "SHGetDesktopfolder failed %08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopfolder failed %08lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(IDesktopFolder, NULL, NULL, cCurrDirW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(IDesktopFolder, newPIDL, NULL, (REFIID)&IID_IShellFolder, (LPVOID *)&testIShellFolder);
-    ok(hr == S_OK, "BindToObject failed %08x\n", hr);
+    ok(hr == S_OK, "BindToObject failed %08lx\n", hr);
 
     ILFree(newPIDL);
 
     /* get relative PIDL */
     hr = IShellFolder_ParseDisplayName(testIShellFolder, NULL, NULL, cTestDirW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     /* test the shell attributes of the test directory using the relative PIDL */
     dwFlags = SFGAO_FOLDER;
     hr = IShellFolder_GetAttributesOf(testIShellFolder, 1, (LPCITEMIDLIST*)&newPIDL, &dwFlags);
-    ok (hr == S_OK, "Desktop->GetAttributesOf() failed! hr = %08x\n", hr);
-    ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for relative PIDL: %08x\n", dwFlags);
+    ok (hr == S_OK, "Desktop->GetAttributesOf() failed! hr = %08lx\n", hr);
+    ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for relative PIDL: %08lx\n", dwFlags);
 
     /* free memory */
     ILFree(newPIDL);
@@ -1026,13 +1026,13 @@ static void test_GetAttributesOf(void)
     MultiByteToWideChar(CP_ACP, 0, cCurrDirA, -1, cCurrDirW, MAX_PATH);
 
     hr = IShellFolder_ParseDisplayName(IDesktopFolder, NULL, NULL, cCurrDirW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     /* test the shell attributes of the test directory using the absolute PIDL */
     dwFlags = SFGAO_FOLDER;
     hr = IShellFolder_GetAttributesOf(IDesktopFolder, 1, (LPCITEMIDLIST*)&newPIDL, &dwFlags);
-    ok (hr == S_OK, "Desktop->GetAttributesOf() failed! hr = %08x\n", hr);
-    ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for absolute PIDL: %08x\n", dwFlags);
+    ok (hr == S_OK, "Desktop->GetAttributesOf() failed! hr = %08lx\n", hr);
+    ok ((dwFlags&SFGAO_FOLDER), "Wrong directory attribute for absolute PIDL: %08lx\n", dwFlags);
 
     /* free memory */
     ILFree(newPIDL);
@@ -1073,21 +1073,21 @@ static void test_SHGetPathFromIDList(void)
 
     /* Calling SHGetPathFromIDListW with an empty pidl should return the desktop folder's path. */
     result = SHGetSpecialFolderPathW(NULL, wszDesktop, CSIDL_DESKTOP, FALSE);
-    ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOP) failed! Last error: %u\n", GetLastError());
+    ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOP) failed! Last error: %lu\n", GetLastError());
     if (!result) return;
 
     result = SHGetPathFromIDListW(pidlEmpty, wszPath);
-    ok(result, "SHGetPathFromIDListW failed! Last error: %u\n", GetLastError());
+    ok(result, "SHGetPathFromIDListW failed! Last error: %lu\n", GetLastError());
     if (!result) return;
     ok(!lstrcmpiW(wszDesktop, wszPath), "SHGetPathFromIDListW didn't return desktop path for empty pidl!\n");
 
     /* MyComputer does not map to a filesystem path. SHGetPathFromIDListW should fail. */
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszMyComputer, NULL, &pidlMyComputer, NULL);
-    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse MyComputer's CLSID! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -1100,7 +1100,7 @@ static void test_SHGetPathFromIDList(void)
     ok (!result, "SHGetPathFromIDListW succeeded where it shouldn't!\n");
     ok (GetLastError()==0xdeadbeef ||
         GetLastError()==ERROR_SUCCESS, /* Vista and higher */
-        "Unexpected last error from SHGetPathFromIDListW: %u\n", GetLastError());
+        "Unexpected last error from SHGetPathFromIDListW: %lu\n", GetLastError());
     ok (!wszPath[0], "Expected empty path\n");
     if (result) {
         IShellFolder_Release(psfDesktop);
@@ -1110,7 +1110,7 @@ static void test_SHGetPathFromIDList(void)
     ILFree(pidlMyComputer);
 
     result = SHGetSpecialFolderPathW(NULL, wszFileName, CSIDL_DESKTOPDIRECTORY, FALSE);
-    ok(result, "SHGetSpecialFolderPathW failed! Last error: %u\n", GetLastError());
+    ok(result, "SHGetSpecialFolderPathW failed! Last error: %lu\n", GetLastError());
     if (!result) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -1118,7 +1118,7 @@ static void test_SHGetPathFromIDList(void)
     myPathAddBackslashW(wszFileName);
     lstrcatW(wszFileName, wszTestFile);
     hTestFile = CreateFileW(wszFileName, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);
-    ok(hTestFile != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: %u\n", GetLastError());
+    ok(hTestFile != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: %lu\n", GetLastError());
     if (hTestFile == INVALID_HANDLE_VALUE) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -1126,7 +1126,7 @@ static void test_SHGetPathFromIDList(void)
     CloseHandle(hTestFile);
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszTestFile, NULL, &pidlTestFile, NULL);
-    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse filename hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop's ParseDisplayName failed to parse filename hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         DeleteFileW(wszFileName);
@@ -1137,7 +1137,7 @@ static void test_SHGetPathFromIDList(void)
     /* This test is to show that the Desktop shellfolder prepends the CSIDL_DESKTOPDIRECTORY
      * path for files placed on the desktop, if called with SHGDN_FORPARSING. */
     hr = IShellFolder_GetDisplayNameOf(psfDesktop, pidlTestFile, SHGDN_FORPARSING, &strret);
-    ok (hr == S_OK, "Desktop's GetDisplayNamfOf failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "Desktop's GetDisplayNamfOf failed! hr = %08lx\n", hr);
     IShellFolder_Release(psfDesktop);
     DeleteFileW(wszFileName);
     if (hr != S_OK) {
@@ -1150,30 +1150,30 @@ static void test_SHGetPathFromIDList(void)
        "returned incorrect path for file placed on desktop\n");
 
     result = SHGetPathFromIDListW(pidlTestFile, wszPath);
-    ok(result, "SHGetPathFromIDListW failed! Last error: %u\n", GetLastError());
+    ok(result, "SHGetPathFromIDListW failed! Last error: %lu\n", GetLastError());
     ok(0 == lstrcmpW(wszFileName, wszPath), "SHGetPathFromIDListW returned incorrect path for file placed on desktop\n");
 
     if (pSHGetPathFromIDListEx)
     {
         result = pSHGetPathFromIDListEx(pidlEmpty, wszPath, MAX_PATH, SFGAO_FILESYSTEM);
-        ok(result, "SHGetPathFromIDListEx failed: %u\n", GetLastError());
+        ok(result, "SHGetPathFromIDListEx failed: %lu\n", GetLastError());
         ok(!lstrcmpiW(wszDesktop, wszPath), "Unexpected SHGetPathFromIDListEx result %s, expected %s\n",
            wine_dbgstr_w(wszPath), wine_dbgstr_w(wszDesktop));
 
         result = pSHGetPathFromIDListEx(pidlTestFile, wszPath, MAX_PATH, SFGAO_FILESYSTEM);
-        ok(result, "SHGetPathFromIDListEx failed: %u\n", GetLastError());
+        ok(result, "SHGetPathFromIDListEx failed: %lu\n", GetLastError());
         ok(!lstrcmpiW(wszFileName, wszPath), "Unexpected SHGetPathFromIDListEx result %s, expected %s\n",
            wine_dbgstr_w(wszPath), wine_dbgstr_w(wszFileName));
 
         SetLastError(0xdeadbeef);
         memset(wszPath, 0x55, sizeof(wszPath));
         result = pSHGetPathFromIDListEx(pidlTestFile, wszPath, 5, SFGAO_FILESYSTEM);
-        ok(!result, "SHGetPathFromIDListEx returned: %x(%u)\n", result, GetLastError());
+        ok(!result, "SHGetPathFromIDListEx returned: %x(%lu)\n", result, GetLastError());
 
         SetLastError(0xdeadbeef);
         memset(wszPath, 0x55, sizeof(wszPath));
         result = pSHGetPathFromIDListEx(pidlEmpty, wszPath, 5, SFGAO_FILESYSTEM);
-        ok(!result, "SHGetPathFromIDListEx returned: %x(%u)\n", result, GetLastError());
+        ok(!result, "SHGetPathFromIDListEx returned: %x(%lu)\n", result, GetLastError());
     }
     else
         win_skip("SHGetPathFromIDListEx not available\n");
@@ -1182,7 +1182,7 @@ static void test_SHGetPathFromIDList(void)
 
     /* Test if we can get the path from the start menu "program files" PIDL. */
     hr = SHGetSpecialFolderLocation(NULL, CSIDL_PROGRAM_FILES, &pidlPrograms);
-    ok(hr == S_OK, "SHGetFolderLocation failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHGetFolderLocation failed: 0x%08lx\n", hr);
 
     SetLastError(0xdeadbeef);
     result = SHGetPathFromIDListW(pidlPrograms, wszPath);
@@ -1214,15 +1214,15 @@ static void test_EnumObjects_and_CompareIDs(void)
     MultiByteToWideChar(CP_ACP, 0, cCurrDirA, -1, cTestDirW, MAX_PATH);
 
     hr = SHGetDesktopFolder(&IDesktopFolder);
-    ok(hr == S_OK, "SHGetDesktopfolder failed %08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopfolder failed %08lx\n", hr);
 
     CreateFilesFolders();
 
     hr = IShellFolder_ParseDisplayName(IDesktopFolder, NULL, NULL, cTestDirW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(IDesktopFolder, newPIDL, NULL, (REFIID)&IID_IShellFolder, (LPVOID *)&testIShellFolder);
-    ok(hr == S_OK, "BindToObject failed %08x\n", hr);
+    ok(hr == S_OK, "BindToObject failed %08lx\n", hr);
 
     test_EnumObjects(testIShellFolder);
 
@@ -1298,7 +1298,7 @@ static HRESULT WINAPI InitPropertyBag_IPropertyBag_Read(IPropertyBag *iface, LPC
         if (V_VT(pVar) != VT_BSTR) return E_INVALIDARG;
 
         result = SHGetSpecialFolderPathW(NULL, wszPath, CSIDL_DESKTOPDIRECTORY, FALSE);
-        ok(result, "SHGetSpecialFolderPathW(DESKTOPDIRECTORY) failed! %u\n", GetLastError());
+        ok(result, "SHGetSpecialFolderPathW(DESKTOPDIRECTORY) failed! %lu\n", GetLastError());
         if (!result) return E_INVALIDARG;
 
         V_BSTR(pVar) = SysAllocString(wszPath);
@@ -1384,11 +1384,11 @@ static void test_FolderShortcut(void) {
         win_skip("CLSID_FolderShortcut is not implemented\n");
         return;
     }
-    ok (hr == S_OK, "CoCreateInstance failed! hr = 0x%08x\n", hr);
+    ok (hr == S_OK, "CoCreateInstance failed! hr = 0x%08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IPersistPropertyBag_Load(pPersistPropertyBag, &InitPropertyBag, NULL);
-    ok(hr == S_OK, "IPersistPropertyBag_Load failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "IPersistPropertyBag_Load failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IPersistPropertyBag_Release(pPersistPropertyBag);
         return;
@@ -1397,19 +1397,19 @@ static void test_FolderShortcut(void) {
     hr = IPersistPropertyBag_QueryInterface(pPersistPropertyBag, &IID_IShellFolder, 
                                             (LPVOID*)&pShellFolder);
     IPersistPropertyBag_Release(pPersistPropertyBag);
-    ok(hr == S_OK, "IPersistPropertyBag_QueryInterface(IShellFolder) failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "IPersistPropertyBag_QueryInterface(IShellFolder) failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IShellFolder_GetDisplayNameOf(pShellFolder, NULL, SHGDN_FORPARSING, &strret);
     ok(hr == S_OK || broken(hr == E_INVALIDARG) /* win10 */,
-       "IShellFolder_GetDisplayNameOf(NULL) failed! hr = %08x\n", hr);
+       "IShellFolder_GetDisplayNameOf(NULL) failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(pShellFolder);
         return;
     }
 
     result = SHGetSpecialFolderPathW(NULL, wszDesktopPath, CSIDL_DESKTOPDIRECTORY, FALSE);
-    ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOPDIRECTORY) failed! %u\n", GetLastError());
+    ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOPDIRECTORY) failed! %lu\n", GetLastError());
     if (!result) return;
 
     StrRetToBufW(&strret, NULL, wszBuffer, MAX_PATH);
@@ -1417,15 +1417,15 @@ static void test_FolderShortcut(void) {
 
     hr = IShellFolder_QueryInterface(pShellFolder, &IID_IPersistFolder3, (LPVOID*)&pPersistFolder3);
     IShellFolder_Release(pShellFolder);
-    ok(hr == S_OK, "IShellFolder_QueryInterface(IID_IPersistFolder3 failed! hr = 0x%08x\n", hr);
+    ok(hr == S_OK, "IShellFolder_QueryInterface(IID_IPersistFolder3 failed! hr = 0x%08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IPersistFolder3_GetClassID(pPersistFolder3, &clsid);
-    ok(hr == S_OK, "IPersistFolder3_GetClassID failed! hr=0x%08x\n", hr);
+    ok(hr == S_OK, "IPersistFolder3_GetClassID failed! hr=0x%08lx\n", hr);
     ok(IsEqualCLSID(&clsid, &CLSID_FolderShortcut), "Unexpected CLSID!\n");
 
     hr = IPersistFolder3_GetCurFolder(pPersistFolder3, &pidlCurrentFolder);
-    todo_wine ok(hr == S_FALSE, "IPersistFolder3_GetCurFolder failed! hr=0x%08x\n", hr);
+    todo_wine ok(hr == S_FALSE, "IPersistFolder3_GetCurFolder failed! hr=0x%08lx\n", hr);
     ok(!pidlCurrentFolder, "IPersistFolder3_GetCurFolder should return a NULL pidl!\n");
                     
     /* For FolderShortcut objects, the Initialize method initialized the folder's position in the
@@ -1435,7 +1435,7 @@ static void test_FolderShortcut(void) {
      * itemidlist, but GetDisplayNameOf still returns the path from above.
      */
     hr = SHGetDesktopFolder(&pDesktopFolder);
-    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "SHGetDesktopFolder failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     /* Temporarily register WineTestFolder as a shell namespace extension at the Desktop. 
@@ -1446,11 +1446,11 @@ static void test_FolderShortcut(void) {
                                        &pidlWineTestFolder, NULL);
     RegDeleteKeyW(HKEY_CURRENT_USER, wszShellExtKey);
     IShellFolder_Release(pDesktopFolder);
-    ok (hr == S_OK, "IShellFolder::ParseDisplayName failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "IShellFolder::ParseDisplayName failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IPersistFolder3_Initialize(pPersistFolder3, pidlWineTestFolder);
-    ok (hr == S_OK, "IPersistFolder3::Initialize failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "IPersistFolder3::Initialize failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IPersistFolder3_Release(pPersistFolder3);
         ILFree(pidlWineTestFolder);
@@ -1458,7 +1458,7 @@ static void test_FolderShortcut(void) {
     }
 
     hr = IPersistFolder3_GetCurFolder(pPersistFolder3, &pidlCurrentFolder);
-    ok(hr == S_OK, "IPersistFolder3_GetCurFolder failed! hr=0x%08x\n", hr);
+    ok(hr == S_OK, "IPersistFolder3_GetCurFolder failed! hr=0x%08lx\n", hr);
     ok(ILIsEqual(pidlCurrentFolder, pidlWineTestFolder),
         "IPersistFolder3_GetCurFolder should return pidlWineTestFolder!\n");
     ILFree(pidlCurrentFolder);
@@ -1466,11 +1466,11 @@ static void test_FolderShortcut(void) {
 
     hr = IPersistFolder3_QueryInterface(pPersistFolder3, &IID_IShellFolder, (LPVOID*)&pShellFolder);
     IPersistFolder3_Release(pPersistFolder3);
-    ok(hr == S_OK, "IPersistFolder3_QueryInterface(IShellFolder) failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "IPersistFolder3_QueryInterface(IShellFolder) failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IShellFolder_GetDisplayNameOf(pShellFolder, NULL, SHGDN_FORPARSING, &strret);
-    ok(hr == S_OK, "IShellFolder_GetDisplayNameOf(NULL) failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "IShellFolder_GetDisplayNameOf(NULL) failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(pShellFolder);
         return;
@@ -1491,7 +1491,7 @@ static void test_FolderShortcut(void) {
     hr = IShellFolder_ParseDisplayName(pShellFolder, NULL, NULL, wszSomeSubFolder, NULL, 
                                        &pidlSubFolder, NULL);
     RemoveDirectoryW(wszDesktopPath);
-    ok (hr == S_OK, "IShellFolder::ParseDisplayName failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "IShellFolder::ParseDisplayName failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(pShellFolder);
         return;
@@ -1501,14 +1501,14 @@ static void test_FolderShortcut(void) {
                                    (LPVOID*)&pPersistFolder3);
     IShellFolder_Release(pShellFolder);
     ILFree(pidlSubFolder);
-    ok (hr == S_OK, "IShellFolder::BindToObject failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "IShellFolder::BindToObject failed! hr = %08lx\n", hr);
     if (hr != S_OK)
         return;
 
     /* On windows, we expect CLSID_ShellFSFolder. On wine we relax this constraint
      * a little bit and also allow CLSID_UnixDosFolder. */
     hr = IPersistFolder3_GetClassID(pPersistFolder3, &clsid);
-    ok(hr == S_OK, "IPersistFolder3_GetClassID failed! hr=0x%08x\n", hr);
+    ok(hr == S_OK, "IPersistFolder3_GetClassID failed! hr=0x%08lx\n", hr);
     ok(IsEqualCLSID(&clsid, &CLSID_ShellFSFolder) || IsEqualCLSID(&clsid, &CLSID_UnixDosFolder),
         "IPersistFolder3::GetClassID returned unexpected CLSID!\n");
 
@@ -1553,7 +1553,7 @@ static void test_ITEMIDLIST_format(void) {
     int i;
 
     bResult = SHGetSpecialFolderPathW(NULL, wszPersonal, CSIDL_PERSONAL, FALSE);
-    ok(bResult, "SHGetSpecialFolderPathW failed! Last error: %u\n", GetLastError());
+    ok(bResult, "SHGetSpecialFolderPathW failed! Last error: %lu\n", GetLastError());
     if (!bResult) return;
 
     SetLastError(0xdeadbeef);
@@ -1562,15 +1562,15 @@ static void test_ITEMIDLIST_format(void) {
         win_skip("Most W-calls are not implemented\n");
         return;
     }
-    ok(bResult, "SetCurrentDirectory failed! Last error: %u\n", GetLastError());
+    ok(bResult, "SetCurrentDirectory failed! Last error: %lu\n", GetLastError());
     if (!bResult) return;
 
     hr = SHGetDesktopFolder(&psfDesktop);
-    ok(hr == S_OK, "SHGetDesktopFolder failed! hr: %08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopFolder failed! hr: %08lx\n", hr);
     if (hr != S_OK) return;
 
     hr = IShellFolder_ParseDisplayName(psfDesktop, NULL, NULL, wszPersonal, NULL, &pidlPersonal, NULL);
-    ok(hr == S_OK, "psfDesktop->ParseDisplayName failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "psfDesktop->ParseDisplayName failed! hr = %08lx\n", hr);
     if (hr != S_OK) {
         IShellFolder_Release(psfDesktop);
         return;
@@ -1580,7 +1580,7 @@ static void test_ITEMIDLIST_format(void) {
         (LPVOID*)&psfPersonal);
     IShellFolder_Release(psfDesktop);
     ILFree(pidlPersonal);
-    ok(hr == S_OK, "psfDesktop->BindToObject failed! hr = %08x\n", hr);
+    ok(hr == S_OK, "psfDesktop->BindToObject failed! hr = %08lx\n", hr);
     if (hr != S_OK) return;
 
     for (i=0; i<3; i++) {
@@ -1591,7 +1591,7 @@ static void test_ITEMIDLIST_format(void) {
         WideCharToMultiByte(CP_ACP, 0, wszFile[i], -1, szFile, MAX_PATH, NULL, NULL);
 
         hFile = CreateFileW(wszFile[i], GENERIC_WRITE, 0, NULL, CREATE_NEW, FILE_FLAG_WRITE_THROUGH, NULL);
-        ok(hFile != INVALID_HANDLE_VALUE, "CreateFile failed! (%u)\n", GetLastError());
+        ok(hFile != INVALID_HANDLE_VALUE, "CreateFile failed! (%lu)\n", GetLastError());
         if (hFile == INVALID_HANDLE_VALUE) {
             IShellFolder_Release(psfPersonal);
             return;
@@ -1600,7 +1600,7 @@ static void test_ITEMIDLIST_format(void) {
 
         hr = IShellFolder_ParseDisplayName(psfPersonal, NULL, NULL, wszFile[i], NULL, &pidlFile, NULL);
         DeleteFileW(wszFile[i]);
-        ok(hr == S_OK, "psfPersonal->ParseDisplayName failed! hr: %08x\n", hr);
+        ok(hr == S_OK, "psfPersonal->ParseDisplayName failed! hr: %08lx\n", hr);
         if (hr != S_OK) {
             IShellFolder_Release(psfPersonal);
             return;
@@ -1704,14 +1704,14 @@ static void test_SHGetFolderPathA(void)
     if (!pIsWow64Process || !pIsWow64Process( GetCurrentProcess(), &is_wow64 )) is_wow64 = FALSE;
 
     hr = SHGetFolderPathA( 0, CSIDL_PROGRAM_FILES, 0, SHGFP_TYPE_CURRENT, path );
-    ok( hr == S_OK, "SHGetFolderPathA failed %x\n", hr );
+    ok( hr == S_OK, "SHGetFolderPathA failed %lx\n", hr );
     hr = SHGetFolderPathA( 0, CSIDL_PROGRAM_FILESX86, 0, SHGFP_TYPE_CURRENT, path_x86 );
     if (hr == E_FAIL)
     {
         win_skip( "Program Files (x86) not supported\n" );
         return;
     }
-    ok( hr == S_OK, "SHGetFolderPathA failed %x\n", hr );
+    ok( hr == S_OK, "SHGetFolderPathA failed %lx\n", hr );
     if (is_win64)
     {
         ok( lstrcmpiA( path, path_x86 ), "paths are identical '%s'\n", path );
@@ -1739,14 +1739,14 @@ static void test_SHGetFolderPathA(void)
     }
 
     hr = SHGetFolderPathA( 0, CSIDL_PROGRAM_FILES_COMMON, 0, SHGFP_TYPE_CURRENT, path );
-    ok( hr == S_OK, "SHGetFolderPathA failed %x\n", hr );
+    ok( hr == S_OK, "SHGetFolderPathA failed %lx\n", hr );
     hr = SHGetFolderPathA( 0, CSIDL_PROGRAM_FILES_COMMONX86, 0, SHGFP_TYPE_CURRENT, path_x86 );
     if (hr == E_FAIL)
     {
         win_skip( "Common Files (x86) not supported\n" );
         return;
     }
-    ok( hr == S_OK, "SHGetFolderPathA failed %x\n", hr );
+    ok( hr == S_OK, "SHGetFolderPathA failed %lx\n", hr );
     if (is_win64)
     {
         ok( lstrcmpiA( path, path_x86 ), "paths are identical '%s'\n", path );
@@ -1794,20 +1794,20 @@ static void test_SHGetFolderPathAndSubDirA(void)
     sprintf(testpath, "%s\\%s", appdata, winetemp);
     delret = RemoveDirectoryA(testpath);
     if(!delret && (ERROR_PATH_NOT_FOUND != GetLastError()) ) {
-        win_skip("RemoveDirectoryA(%s) failed with error %u\n", testpath, GetLastError());
+        win_skip("RemoveDirectoryA(%s) failed with error %lu\n", testpath, GetLastError());
         return;
     }
 
     sprintf(testpath, "%s\\%s", appdata, wine);
     delret = RemoveDirectoryA(testpath);
     if(!delret && (ERROR_PATH_NOT_FOUND != GetLastError()) && (ERROR_FILE_NOT_FOUND != GetLastError())) {
-        win_skip("RemoveDirectoryA(%s) failed with error %u\n", testpath, GetLastError());
+        win_skip("RemoveDirectoryA(%s) failed with error %lu\n", testpath, GetLastError());
         return;
     }
 
     /* test invalid second parameter */
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | 0xff, NULL, SHGFP_TYPE_CURRENT, wine, testpath);
-    ok(E_INVALIDARG == ret, "expected E_INVALIDARG, got  %x\n", ret);
+    ok(E_INVALIDARG == ret, "expected E_INVALIDARG, got  %lx\n", ret);
 
     /* test fourth parameter */
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, 2, winetemp, testpath);
@@ -1821,23 +1821,23 @@ static void test_SHGetFolderPathAndSubDirA(void)
         case E_INVALIDARG: /* winxp, win2k3 */
             break;
         default:
-            ok(0, "expected S_OK or E_INVALIDARG, got  %x\n", ret);
+            ok(0, "expected S_OK or E_INVALIDARG, got  %lx\n", ret);
     }
 
     /* test fifth parameter */
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, NULL, testpath);
-    ok(S_OK == ret, "expected S_OK, got %x\n", ret);
+    ok(S_OK == ret, "expected S_OK, got %lx\n", ret);
     ok(!lstrcmpA(appdata, testpath), "expected %s, got %s\n", appdata, testpath);
 
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, "", testpath);
-    ok(S_OK == ret, "expected S_OK, got %x\n", ret);
+    ok(S_OK == ret, "expected S_OK, got %lx\n", ret);
     ok(!lstrcmpA(appdata, testpath), "expected %s, got %s\n", appdata, testpath);
 
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, "\\", testpath);
-    ok(S_OK == ret, "expected S_OK, got %x\n", ret);
+    ok(S_OK == ret, "expected S_OK, got %lx\n", ret);
     ok(!lstrcmpA(appdata, testpath), "expected %s, got %s\n", appdata, testpath);
 
     for(i=0; i< MAX_PATH; i++)
@@ -1845,28 +1845,28 @@ static void test_SHGetFolderPathAndSubDirA(void)
     toolongpath[MAX_PATH] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, toolongpath, testpath);
     ok(HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE) == ret,
-        "expected %x, got %x\n", HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE), ret);
+        "expected %lx, got %lx\n", HRESULT_FROM_WIN32(ERROR_FILENAME_EXCED_RANGE), ret);
 
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_DONT_VERIFY | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, wine, NULL);
-    ok((S_OK == ret) || (E_INVALIDARG == ret), "expected S_OK or E_INVALIDARG, got %x\n", ret);
+    ok((S_OK == ret) || (E_INVALIDARG == ret), "expected S_OK or E_INVALIDARG, got %lx\n", ret);
 
     /* test a not existing path */
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, winetemp, testpath);
     ok(HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND) == ret,
-        "expected %x, got %x\n", HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), ret);
+        "expected %lx, got %lx\n", HRESULT_FROM_WIN32(ERROR_PATH_NOT_FOUND), ret);
 
     /* create a directory inside a not existing directory */
     testpath[0] = '\0';
     ret = SHGetFolderPathAndSubDirA(NULL, CSIDL_FLAG_CREATE | CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, winetemp, testpath);
-    ok(S_OK == ret, "expected S_OK, got %x\n", ret);
+    ok(S_OK == ret, "expected S_OK, got %lx\n", ret);
     ok(!strncmp(appdata, testpath, strlen(appdata)),
         "expected %s to start with %s\n", testpath, appdata);
     ok(!lstrcmpA(&testpath[1 + strlen(appdata)], winetemp),
         "expected %s to end with %s\n", testpath, winetemp);
     dwret = GetFileAttributesA(testpath);
-    ok(FILE_ATTRIBUTE_DIRECTORY | dwret, "expected %x to contain FILE_ATTRIBUTE_DIRECTORY\n", dwret);
+    ok(FILE_ATTRIBUTE_DIRECTORY | dwret, "expected %lx to contain FILE_ATTRIBUTE_DIRECTORY\n", dwret);
 
     /* cleanup */
     sprintf(testpath, "%s\\%s", appdata, winetemp);
@@ -1906,11 +1906,11 @@ static void test_LocalizedNames(void)
 
     file = CreateFileA(".\\testfolder\\desktop.ini", GENERIC_WRITE, 0, NULL,
                          CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
-    ok(file != INVALID_HANDLE_VALUE, "CreateFileA failed %i\n", GetLastError());
+    ok(file != INVALID_HANDLE_VALUE, "CreateFileA failed %li\n", GetLastError());
     ret = WriteFile(file, desktopini_contents1, strlen(desktopini_contents1), &res, NULL) &&
           WriteFile(file, resourcefile, strlen(resourcefile), &res, NULL) &&
           WriteFile(file, desktopini_contents2, strlen(desktopini_contents2), &res, NULL);
-    ok(ret, "WriteFile failed %i\n", GetLastError());
+    ok(ret, "WriteFile failed %li\n", GetLastError());
     CloseHandle(file);
 
     /* get IShellFolder for parent */
@@ -1927,43 +1927,43 @@ static void test_LocalizedNames(void)
     MultiByteToWideChar(CP_ACP, 0, cCurrDirA, -1, cCurrDirW, MAX_PATH);
 
     hr = SHGetDesktopFolder(&IDesktopFolder);
-    ok(hr == S_OK, "SHGetDesktopfolder failed %08x\n", hr);
+    ok(hr == S_OK, "SHGetDesktopfolder failed %08lx\n", hr);
 
     hr = IShellFolder_ParseDisplayName(IDesktopFolder, NULL, NULL, cCurrDirW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     hr = IShellFolder_BindToObject(IDesktopFolder, newPIDL, NULL, (REFIID)&IID_IShellFolder, (LPVOID *)&testIShellFolder);
-    ok(hr == S_OK, "BindToObject failed %08x\n", hr);
+    ok(hr == S_OK, "BindToObject failed %08lx\n", hr);
 
     ILFree(newPIDL);
 
     /* windows reads the display name from the resource */
     hr = IShellFolder_ParseDisplayName(testIShellFolder, NULL, NULL, foldernameW, NULL, &newPIDL, 0);
-    ok(hr == S_OK, "ParseDisplayName failed %08x\n", hr);
+    ok(hr == S_OK, "ParseDisplayName failed %08lx\n", hr);
 
     hr = IShellFolder_GetDisplayNameOf(testIShellFolder, newPIDL, SHGDN_INFOLDER, &strret);
-    ok(hr == S_OK, "GetDisplayNameOf failed %08x\n", hr);
+    ok(hr == S_OK, "GetDisplayNameOf failed %08lx\n", hr);
 
     hr = StrRetToBufW(&strret, newPIDL, tempbufW, ARRAY_SIZE(tempbufW));
-    ok (hr == S_OK, "StrRetToBufW failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "StrRetToBufW failed! hr = %08lx\n", hr);
     todo_wine
     ok (!lstrcmpiW(tempbufW, folderdisplayW), "GetDisplayNameOf returned %s\n", wine_dbgstr_w(tempbufW));
 
     /* editing name is also read from the resource */
     hr = IShellFolder_GetDisplayNameOf(testIShellFolder, newPIDL, SHGDN_INFOLDER|SHGDN_FOREDITING, &strret);
-    ok(hr == S_OK, "GetDisplayNameOf failed %08x\n", hr);
+    ok(hr == S_OK, "GetDisplayNameOf failed %08lx\n", hr);
 
     hr = StrRetToBufW(&strret, newPIDL, tempbufW, ARRAY_SIZE(tempbufW));
-    ok (hr == S_OK, "StrRetToBufW failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "StrRetToBufW failed! hr = %08lx\n", hr);
     todo_wine
     ok (!lstrcmpiW(tempbufW, folderdisplayW), "GetDisplayNameOf returned %s\n", wine_dbgstr_w(tempbufW));
 
     /* parsing name is unchanged */
     hr = IShellFolder_GetDisplayNameOf(testIShellFolder, newPIDL, SHGDN_INFOLDER|SHGDN_FORPARSING, &strret);
-    ok(hr == S_OK, "GetDisplayNameOf failed %08x\n", hr);
+    ok(hr == S_OK, "GetDisplayNameOf failed %08lx\n", hr);
 
     hr = StrRetToBufW(&strret, newPIDL, tempbufW, ARRAY_SIZE(tempbufW));
-    ok (hr == S_OK, "StrRetToBufW failed! hr = %08x\n", hr);
+    ok (hr == S_OK, "StrRetToBufW failed! hr = %08lx\n", hr);
     ok (!lstrcmpiW(tempbufW, foldernameW), "GetDisplayNameOf returned %s\n", wine_dbgstr_w(tempbufW));
 
     IShellFolder_Release(IDesktopFolder);
@@ -2004,29 +2004,29 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl_desktop);
-    ok(ret == S_OK, "Got 0x%08x\n", ret);
+    ok(ret == S_OK, "Got 0x%08lx\n", ret);
 
     MultiByteToWideChar(CP_ACP, 0, curdirA, -1, curdirW, MAX_PATH);
 
     ret = SHGetDesktopFolder(&desktopfolder);
-    ok(SUCCEEDED(ret), "SHGetShellFolder returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHGetShellFolder returned %lx\n", ret);
 
     ret = IShellFolder_ParseDisplayName(desktopfolder, NULL, NULL, curdirW, NULL, &pidl_cwd, NULL);
-    ok(SUCCEEDED(ret), "ParseDisplayName returned %x\n", ret);
+    ok(SUCCEEDED(ret), "ParseDisplayName returned %lx\n", ret);
 
     ret = IShellFolder_BindToObject(desktopfolder, pidl_cwd, NULL, &IID_IShellFolder, (void**)&currentfolder);
-    ok(SUCCEEDED(ret), "BindToObject returned %x\n", ret);
+    ok(SUCCEEDED(ret), "BindToObject returned %lx\n", ret);
 
     CreateTestFile(".\\testfile");
 
     ret = IShellFolder_ParseDisplayName(currentfolder, NULL, NULL, testfileW, NULL, &pidl_testfile, NULL);
-    ok(SUCCEEDED(ret), "ParseDisplayName returned %x\n", ret);
+    ok(SUCCEEDED(ret), "ParseDisplayName returned %lx\n", ret);
 
     pidl_abstestfile = ILCombine(pidl_cwd, pidl_testfile);
 
     shellitem = (void*)0xdeadbeef;
     ret = pSHCreateShellItem(NULL, NULL, NULL, &shellitem);
-    ok(ret == E_INVALIDARG, "SHCreateShellItem returned %x\n", ret);
+    ok(ret == E_INVALIDARG, "SHCreateShellItem returned %lx\n", ret);
     ok(shellitem == 0, "Got %p\n", shellitem);
 
     if (0) /* crashes on Windows XP */
@@ -2038,15 +2038,15 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = pSHCreateShellItem(NULL, NULL, pidl_cwd, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-        ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+        ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-            ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+            ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ok(ILIsEqual(pidl_cwd, pidl_test), "id lists are not equal\n");
@@ -2058,15 +2058,15 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = pSHCreateShellItem(pidl_cwd, NULL, pidl_testfile, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-        ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+        ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-            ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+            ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ok(ILIsEqual(pidl_abstestfile, pidl_test), "id lists are not equal\n");
@@ -2076,15 +2076,15 @@ static void test_SHCreateShellItem(void)
         }
 
         ret = IShellItem_GetParent(shellitem, &shellitem2);
-        ok(SUCCEEDED(ret), "GetParent returned %x\n", ret);
+        ok(SUCCEEDED(ret), "GetParent returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IShellItem_QueryInterface(shellitem2, &IID_IPersistIDList, (void**)&persistidl);
-            ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+            ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-                ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+                ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
                 if (SUCCEEDED(ret))
                 {
                     ok(ILIsEqual(pidl_cwd, pidl_test), "id lists are not equal\n");
@@ -2099,15 +2099,15 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = pSHCreateShellItem(NULL, currentfolder, pidl_testfile, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-        ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+        ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-            ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+            ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ok(ILIsEqual(pidl_abstestfile, pidl_test), "id lists are not equal\n");
@@ -2120,15 +2120,15 @@ static void test_SHCreateShellItem(void)
 
     /* if a parent pidl and shellfolder are specified, the shellfolder is ignored */
     ret = pSHCreateShellItem(pidl_cwd, desktopfolder, pidl_testfile, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-        ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+        ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-            ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+            ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ok(ILIsEqual(pidl_abstestfile, pidl_test), "id lists are not equal\n");
@@ -2140,15 +2140,15 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = pSHCreateShellItem(NULL, desktopfolder, pidl_testfile, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-        ok(SUCCEEDED(ret), "QueryInterface returned %x\n", ret);
+        ok(SUCCEEDED(ret), "QueryInterface returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-            ok(SUCCEEDED(ret), "GetIDList returned %x\n", ret);
+            ok(SUCCEEDED(ret), "GetIDList returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ok(ILIsEqual(pidl_testfile, pidl_test), "id lists are not equal\n");
@@ -2161,11 +2161,11 @@ static void test_SHCreateShellItem(void)
     }
 
     ret = pSHCreateShellItem(NULL, NULL, pidl_desktop, &shellitem);
-    ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+    ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
     if (SUCCEEDED(ret))
     {
         ret = IShellItem_GetParent(shellitem, &shellitem2);
-        ok(FAILED(ret), "Got 0x%08x\n", ret);
+        ok(FAILED(ret), "Got 0x%08lx\n", ret);
         if(SUCCEEDED(ret)) IShellItem_Release(shellitem2);
         IShellItem_Release(shellitem);
     }
@@ -2181,12 +2181,12 @@ static void test_SHCreateShellItem(void)
 
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemFromParsingName(NULL, NULL, &IID_IShellItem, (void**)&shellitem);
-        ok(ret == E_INVALIDARG, "SHCreateItemFromParsingName returned %x\n", ret);
+        ok(ret == E_INVALIDARG, "SHCreateItemFromParsingName returned %lx\n", ret);
         ok(shellitem == NULL, "shellitem was %p.\n", shellitem);
 
         ret = pSHCreateItemFromParsingName(testfileW, NULL, &IID_IShellItem, (void**)&shellitem);
         ok(ret == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-           "SHCreateItemFromParsingName returned %x\n", ret);
+           "SHCreateItemFromParsingName returned %lx\n", ret);
         if(SUCCEEDED(ret)) IShellItem_Release(shellitem);
 
         lstrcpyW(fnbufW, curdirW);
@@ -2194,12 +2194,12 @@ static void test_SHCreateShellItem(void)
         lstrcatW(fnbufW, testfileW);
 
         ret = pSHCreateItemFromParsingName(fnbufW, NULL, &IID_IShellItem, (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemFromParsingName returned %x\n", ret);
+        ok(ret == S_OK, "SHCreateItemFromParsingName returned %lx\n", ret);
         if(SUCCEEDED(ret))
         {
             LPWSTR tmp_fname;
             ret = IShellItem_GetDisplayName(shellitem, SIGDN_FILESYSPATH, &tmp_fname);
-            ok(ret == S_OK, "GetDisplayName returned %x\n", ret);
+            ok(ret == S_OK, "GetDisplayName returned %lx\n", ret);
             if(SUCCEEDED(ret))
             {
                 ok(!lstrcmpW(fnbufW, tmp_fname), "strings not equal\n");
@@ -2222,18 +2222,18 @@ static void test_SHCreateShellItem(void)
         }
 
         ret = pSHCreateItemFromIDList(NULL, &IID_IShellItem, (void**)&shellitem);
-        ok(ret == E_INVALIDARG, "SHCreateItemFromIDList returned %x\n", ret);
+        ok(ret == E_INVALIDARG, "SHCreateItemFromIDList returned %lx\n", ret);
 
         ret = pSHCreateItemFromIDList(pidl_cwd, &IID_IShellItem, (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemFromIDList returned %x\n", ret);
+        ok(ret == S_OK, "SHCreateItemFromIDList returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-            ok(ret == S_OK, "QueryInterface returned %x\n", ret);
+            ok(ret == S_OK, "QueryInterface returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-                ok(ret == S_OK, "GetIDList returned %x\n", ret);
+                ok(ret == S_OK, "GetIDList returned %lx\n", ret);
                 if (SUCCEEDED(ret))
                 {
                     ok(ILIsEqual(pidl_cwd, pidl_test), "id lists are not equal\n");
@@ -2245,15 +2245,15 @@ static void test_SHCreateShellItem(void)
         }
 
         ret = pSHCreateItemFromIDList(pidl_testfile, &IID_IShellItem, (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemFromIDList returned %x\n", ret);
+        ok(ret == S_OK, "SHCreateItemFromIDList returned %lx\n", ret);
         if (SUCCEEDED(ret))
         {
             ret = IShellItem_QueryInterface(shellitem, &IID_IPersistIDList, (void**)&persistidl);
-            ok(ret == S_OK, "QueryInterface returned %x\n", ret);
+            ok(ret == S_OK, "QueryInterface returned %lx\n", ret);
             if (SUCCEEDED(ret))
             {
                 ret = IPersistIDList_GetIDList(persistidl, &pidl_test);
-                ok(ret == S_OK, "GetIDList returned %x\n", ret);
+                ok(ret == S_OK, "GetIDList returned %lx\n", ret);
                 if (SUCCEEDED(ret))
                 {
                     ok(ILIsEqual(pidl_testfile, pidl_test), "id lists are not equal\n");
@@ -2278,12 +2278,12 @@ static void test_SHCreateShellItem(void)
         int order;
 
         ret = pSHCreateShellItem(NULL, NULL, pidl_desktop, &shellitem_desktop);
-        ok(ret == S_OK, "SHCreateShellItem failed: 0x%08x.\n", ret);
+        ok(ret == S_OK, "SHCreateShellItem failed: 0x%08lx.\n", ret);
 
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemFromRelativeName(shellitem_desktop, NULL, NULL, &IID_IShellItem,
                                             (void**)&shellitem);
-        ok(ret == E_INVALIDARG, "Expected 0x%08x but SHCreateItemFromRelativeName return: 0x%08x.\n",
+        ok(ret == E_INVALIDARG, "Expected 0x%08lx but SHCreateItemFromRelativeName return: 0x%08lx.\n",
            E_INVALIDARG, ret);
         ok(shellitem == NULL, "shellitem was %p.\n", shellitem);
 
@@ -2292,7 +2292,7 @@ static void test_SHCreateShellItem(void)
         ret = pSHCreateItemFromRelativeName(shellitem_desktop, testfileW, NULL, &IID_IShellItem,
                                             (void**)&shellitem);
         ok(ret == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-           "Expected 0x%08x but SHCreateItemFromRelativeName return: 0x%08x.\n",
+           "Expected 0x%08lx but SHCreateItemFromRelativeName return: 0x%08lx.\n",
            HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), ret);
         ok(shellitem == NULL, "shellitem was %p.\n", shellitem);
 
@@ -2302,37 +2302,37 @@ static void test_SHCreateShellItem(void)
         myPathAddBackslashW(testfile_path);
         lstrcatW(testfile_path, testfileW);
         file = CreateFileW(testfile_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);
-        ok(file != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: 0x%08x.\n", GetLastError());
+        ok(file != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: 0x%08lx.\n", GetLastError());
         CloseHandle(file);
 
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemFromRelativeName(shellitem_desktop, testfileW, NULL, &IID_IShellItem,
                                             (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemFromRelativeName failed: 0x%08x.\n", ret);
+        ok(ret == S_OK, "SHCreateItemFromRelativeName failed: 0x%08lx.\n", ret);
         ok(shellitem != NULL, "shellitem was %p.\n", shellitem);
         if(SUCCEEDED(ret))
         {
             ret = IShellItem_GetDisplayName(shellitem, 0, &displayname);
-            ok(ret == S_OK, "IShellItem_GetDisplayName failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_GetDisplayName failed: 0x%08lx.\n", ret);
             ok(!lstrcmpW(displayname, testfileW), "got wrong display name: %s.\n", wine_dbgstr_w(displayname));
             CoTaskMemFree(displayname);
 
             shellitem2 = (void*)0xdeadbeef;
             ret = pSHCreateItemFromRelativeName(shellitem_desktop, testfileW, NULL, &IID_IShellItem,
                                                 (void**)&shellitem2);
-            ok(ret == S_OK, "SHCreateItemFromRelativeName failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "SHCreateItemFromRelativeName failed: 0x%08lx.\n", ret);
             ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08lx.\n", ret);
             ok(!order, "order got wrong value: %d.\n", order);
             IShellItem_Release(shellitem2);
 
             shellitem2 = (void*)0xdeadbeef;
             ret = IShellFolder_ParseDisplayName(desktopfolder, NULL, NULL, testfileW, NULL,
                                                 &pidl_desktop_testfile, NULL);
-            ok(ret == S_OK, "ParseDisplayName failed 0x%08x.\n", ret);
+            ok(ret == S_OK, "ParseDisplayName failed 0x%08lx.\n", ret);
             ret = pSHCreateItemFromIDList(pidl_desktop_testfile, &IID_IShellItem, (void**)&shellitem2);
             ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-            ok(ret == S_OK, "IShellItem_Compare fail: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_Compare fail: 0x%08lx.\n", ret);
             ok(!order, "order got wrong value: %d.\n", order);
             ILFree(pidl_desktop_testfile);
             IShellItem_Release(shellitem2);
@@ -2360,17 +2360,17 @@ static void test_SHCreateShellItem(void)
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemInKnownFolder(&FOLDERID_Desktop, 0, NULL, &IID_IShellItem,
                                          (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08x.\n", ret);
+        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08lx.\n", ret);
         ok(shellitem != NULL, "shellitem was %p.\n", shellitem);
         if(SUCCEEDED(ret))
         {
             shellitem2 = (void*)0xdeadbeef;
             ret = pSHCreateShellItem(NULL, NULL, pidl_desktop, &shellitem2);
-            ok(SUCCEEDED(ret), "SHCreateShellItem returned %x\n", ret);
+            ok(SUCCEEDED(ret), "SHCreateShellItem returned %lx\n", ret);
             if(SUCCEEDED(ret))
             {
                 ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-                ok(ret == S_OK, "IShellItem_Compare failed: 0x%08x.\n", ret);
+                ok(ret == S_OK, "IShellItem_Compare failed: 0x%08lx.\n", ret);
                 ok(!order, "order got wrong value: %d.\n", order);
                 IShellItem_Release(shellitem2);
             }
@@ -2382,7 +2382,7 @@ static void test_SHCreateShellItem(void)
         ret = pSHCreateItemInKnownFolder(&FOLDERID_Desktop, 0, testfileW, &IID_IShellItem,
                                          (void**)&shellitem);
         ok(ret == HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND),
-           "Expected 0x%08x but SHCreateItemInKnownFolder return: 0x%08x.\n",
+           "Expected 0x%08lx but SHCreateItemInKnownFolder return: 0x%08lx.\n",
            HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND), ret);
         ok(shellitem == NULL, "shellitem was %p.\n", shellitem);
 
@@ -2391,18 +2391,18 @@ static void test_SHCreateShellItem(void)
         myPathAddBackslashW(testfile_path);
         lstrcatW(testfile_path, testfileW);
         file = CreateFileW(testfile_path, GENERIC_WRITE, 0, NULL, CREATE_NEW, 0, NULL);
-        ok(file != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: 0x%08x.\n", GetLastError());
+        ok(file != INVALID_HANDLE_VALUE, "CreateFileW failed! Last error: 0x%08lx.\n", GetLastError());
         CloseHandle(file);
 
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemInKnownFolder(&FOLDERID_Desktop, 0, testfileW, &IID_IShellItem,
                                          (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08x.\n", ret);
+        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08lx.\n", ret);
         ok(shellitem != NULL, "shellitem was %p.\n", shellitem);
         if(SUCCEEDED(ret))
         {
             ret = IShellItem_GetDisplayName(shellitem, 0, &displayname);
-            ok(ret == S_OK, "IShellItem_GetDisplayName failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_GetDisplayName failed: 0x%08lx.\n", ret);
             ok(!lstrcmpW(displayname, testfileW), "got wrong display name: %s.\n",
                wine_dbgstr_w(displayname));
             CoTaskMemFree(displayname);
@@ -2410,20 +2410,20 @@ static void test_SHCreateShellItem(void)
             shellitem2 = (void*)0xdeadbeef;
             ret = pSHCreateItemInKnownFolder(&FOLDERID_Desktop, 0, testfileW, &IID_IShellItem,
                                              (void**)&shellitem2);
-            ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08lx.\n", ret);
             ok(shellitem2 != NULL, "shellitem was %p.\n", shellitem);
             ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08lx.\n", ret);
             ok(!order, "order got wrong value: %d.\n", order);
             IShellItem_Release(shellitem2);
 
             shellitem2 = (void*)0xdeadbeef;
             ret = IShellFolder_ParseDisplayName(desktopfolder, NULL, NULL, testfileW, NULL,
                                                 &pidl_desktop_testfile, NULL);
-            ok(SUCCEEDED(ret), "ParseDisplayName returned %x.\n", ret);
+            ok(SUCCEEDED(ret), "ParseDisplayName returned %lx.\n", ret);
             ret = pSHCreateItemFromIDList(pidl_desktop_testfile, &IID_IShellItem, (void**)&shellitem2);
             ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08lx.\n", ret);
             ok(!order, "order got wrong value: %d.\n", order);
             ILFree(pidl_desktop_testfile);
             IShellItem_Release(shellitem2);
@@ -2434,17 +2434,17 @@ static void test_SHCreateShellItem(void)
         shellitem = (void*)0xdeadbeef;
         ret = pSHCreateItemInKnownFolder(&FOLDERID_Documents, 0, NULL, &IID_IShellItem,
                                          (void**)&shellitem);
-        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08x.\n", ret);
+        ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08lx.\n", ret);
         ok(shellitem != NULL, "shellitem was %p.\n", shellitem);
         if(SUCCEEDED(ret))
         {
             shellitem2 = (void*)0xdeadbeef;
             ret = pSHCreateItemInKnownFolder(&FOLDERID_Documents, 0, NULL, &IID_IShellItem,
                                              (void**)&shellitem2);
-            ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "SHCreateItemInKnownFolder failed: 0x%08lx.\n", ret);
             ok(shellitem2 != NULL, "shellitem was %p.\n", shellitem);
             ret = IShellItem_Compare(shellitem, shellitem2, 0, &order);
-            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08x.\n", ret);
+            ok(ret == S_OK, "IShellItem_Compare failed: 0x%08lx.\n", ret);
             ok(!order, "order got wrong value: %d.\n", order);
             IShellItem_Release(shellitem2);
 
@@ -2494,13 +2494,13 @@ static void test_SHGetNameFromIDList(void)
     }
 
     hres = pSHGetNameFromIDList(NULL, 0, &name_string);
-    ok(hres == E_INVALIDARG, "Got 0x%08x\n", hres);
+    ok(hres == E_INVALIDARG, "Got 0x%08lx\n", hres);
 
     /* Test the desktop */
     hres = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);
-    ok(hres == S_OK, "Got 0x%08x\n", hres);
+    ok(hres == S_OK, "Got 0x%08lx\n", hres);
     hres = pSHCreateShellItem(NULL, NULL, pidl, &shellitem);
-    ok(hres == S_OK, "Got 0x%08x\n", hres);
+    ok(hres == S_OK, "Got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         WCHAR *nameSI, *nameSH;
@@ -2514,11 +2514,11 @@ static void test_SHGetNameFromIDList(void)
         for(i = 0; flags[i] != -1234; i++)
         {
             hrSI = IShellItem_GetDisplayName(shellitem, flags[i], &nameSI);
-            ok(hrSI == S_OK, "Got 0x%08x\n", hrSI);
+            ok(hrSI == S_OK, "Got 0x%08lx\n", hrSI);
             hrSH = pSHGetNameFromIDList(pidl, flags[i], &nameSH);
-            ok(hrSH == S_OK, "Got 0x%08x\n", hrSH);
+            ok(hrSH == S_OK, "Got 0x%08lx\n", hrSH);
             hrSF = IShellFolder_GetDisplayNameOf(psf, pidl, flags[i] & 0xffff, &strret);
-            ok(hrSF == S_OK, "Got 0x%08x\n", hrSF);
+            ok(hrSF == S_OK, "Got 0x%08lx\n", hrSF);
 
             if(SUCCEEDED(hrSI) && SUCCEEDED(hrSH))
                 ok(!lstrcmpW(nameSI, nameSH), "Strings differ.\n");
@@ -2537,7 +2537,7 @@ static void test_SHGetNameFromIDList(void)
         IShellFolder_Release(psf);
 
         hrSI = pSHGetNameFromIDList(pidl, SIGDN_FILESYSPATH, &nameSI);
-        ok(hrSI == S_OK, "Got 0x%08x\n", hrSI);
+        ok(hrSI == S_OK, "Got 0x%08lx\n", hrSI);
         res = SHGetPathFromIDListW(pidl, buf);
         ok(res == TRUE, "Got %d\n", res);
         if(SUCCEEDED(hrSI) && res)
@@ -2545,7 +2545,7 @@ static void test_SHGetNameFromIDList(void)
         if(SUCCEEDED(hrSI)) CoTaskMemFree(nameSI);
 
         hres = pSHGetNameFromIDList(pidl, SIGDN_URL, &name_string);
-        todo_wine ok(hres == S_OK, "Got 0x%08x\n", hres);
+        todo_wine ok(hres == S_OK, "Got 0x%08lx\n", hres);
         if(SUCCEEDED(hres)) CoTaskMemFree(name_string);
 
         IShellItem_Release(shellitem);
@@ -2554,9 +2554,9 @@ static void test_SHGetNameFromIDList(void)
 
     /* Test the control panel */
     hres = SHGetSpecialFolderLocation(NULL, CSIDL_CONTROLS, &pidl);
-    ok(hres == S_OK, "Got 0x%08x\n", hres);
+    ok(hres == S_OK, "Got 0x%08lx\n", hres);
     hres = pSHCreateShellItem(NULL, NULL, pidl, &shellitem);
-    ok(hres == S_OK, "Got 0x%08x\n", hres);
+    ok(hres == S_OK, "Got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         WCHAR *nameSI, *nameSH;
@@ -2570,11 +2570,11 @@ static void test_SHGetNameFromIDList(void)
         for(i = 0; flags[i] != -1234; i++)
         {
             hrSI = IShellItem_GetDisplayName(shellitem, flags[i], &nameSI);
-            ok(hrSI == S_OK, "Got 0x%08x\n", hrSI);
+            ok(hrSI == S_OK, "Got 0x%08lx\n", hrSI);
             hrSH = pSHGetNameFromIDList(pidl, flags[i], &nameSH);
-            ok(hrSH == S_OK, "Got 0x%08x\n", hrSH);
+            ok(hrSH == S_OK, "Got 0x%08lx\n", hrSH);
             hrSF = IShellFolder_GetDisplayNameOf(psf, pidl, flags[i] & 0xffff, &strret);
-            ok(hrSF == S_OK, "Got 0x%08x\n", hrSF);
+            ok(hrSF == S_OK, "Got 0x%08lx\n", hrSF);
 
             if(SUCCEEDED(hrSI) && SUCCEEDED(hrSH))
                 ok(!lstrcmpW(nameSI, nameSH), "Strings differ.\n");
@@ -2593,7 +2593,7 @@ static void test_SHGetNameFromIDList(void)
         IShellFolder_Release(psf);
 
         hrSI = pSHGetNameFromIDList(pidl, SIGDN_FILESYSPATH, &nameSI);
-        ok(hrSI == E_INVALIDARG, "Got 0x%08x\n", hrSI);
+        ok(hrSI == E_INVALIDARG, "Got 0x%08lx\n", hrSI);
         res = SHGetPathFromIDListW(pidl, buf);
         ok(res == FALSE, "Got %d\n", res);
         if(SUCCEEDED(hrSI) && res)
@@ -2602,7 +2602,7 @@ static void test_SHGetNameFromIDList(void)
 
         hres = pSHGetNameFromIDList(pidl, SIGDN_URL, &name_string);
         todo_wine ok(hres == E_NOTIMPL /* Win7 */ || hres == S_OK /* Vista */,
-                     "Got 0x%08x\n", hres);
+                     "Got 0x%08lx\n", hres);
         if(SUCCEEDED(hres)) CoTaskMemFree(name_string);
 
         IShellItem_Release(shellitem);
@@ -2630,12 +2630,12 @@ static void test_SHGetItemFromDataObject(void)
     }
 
     hres = pSHGetItemFromDataObject(NULL, 0, &IID_IShellItem, (void**)&psv);
-    ok(hres == E_INVALIDARG, "got 0x%08x\n", hres);
+    ok(hres == E_INVALIDARG, "got 0x%08lx\n", hres);
 
     SHGetDesktopFolder(&psfdesktop);
 
     hres = IShellFolder_CreateViewObject(psfdesktop, NULL, &IID_IShellView, (void**)&psv);
-    ok(hres == S_OK, "got 0x%08x\n", hres);
+    ok(hres == S_OK, "got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         IEnumIDList *peidl;
@@ -2644,7 +2644,7 @@ static void test_SHGetItemFromDataObject(void)
 
         enum_flags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS | SHCONTF_INCLUDEHIDDEN;
         hres = IShellFolder_EnumObjects(psfdesktop, NULL, enum_flags, &peidl);
-        ok(hres == S_OK, "got 0x%08x\n", hres);
+        ok(hres == S_OK, "got 0x%08lx\n", hres);
         if(SUCCEEDED(hres))
         {
             LPITEMIDLIST apidl[5];
@@ -2658,23 +2658,23 @@ static void test_SHGetItemFromDataObject(void)
             {
                 hres = IShellFolder_GetUIObjectOf(psfdesktop, NULL, 1, (LPCITEMIDLIST*)apidl,
                                                   &IID_IDataObject, NULL, (void**)&pdo);
-                ok(hres == S_OK, "got 0x%08x\n", hres);
+                ok(hres == S_OK, "got 0x%08lx\n", hres);
                 if(SUCCEEDED(hres))
                 {
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_DEFAULT, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_TRAVERSE_LINK, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_NO_HDROP, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_NO_URL, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_ONLY_IF_ONE, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
 
                     IDataObject_Release(pdo);
@@ -2687,23 +2687,23 @@ static void test_SHGetItemFromDataObject(void)
             {
                 hres = IShellFolder_GetUIObjectOf(psfdesktop, NULL, count, (LPCITEMIDLIST*)apidl,
                                                   &IID_IDataObject, NULL, (void**)&pdo);
-                ok(hres == S_OK, "got 0x%08x\n", hres);
+                ok(hres == S_OK, "got 0x%08lx\n", hres);
                 if(SUCCEEDED(hres))
                 {
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_DEFAULT, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_TRAVERSE_LINK, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_NO_HDROP, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_NO_URL, &IID_IShellItem, (void**)&psi);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     hres = pSHGetItemFromDataObject(pdo, DOGIF_ONLY_IF_ONE, &IID_IShellItem, (void**)&psi);
-                    ok(hres == E_FAIL, "got 0x%08x\n", hres);
+                    ok(hres == E_FAIL, "got 0x%08lx\n", hres);
                     if(SUCCEEDED(hres)) IShellItem_Release(psi);
                     IDataObject_Release(pdo);
                 }
@@ -2767,9 +2767,9 @@ static void test_ShellItemCompare(void)
 
     SHGetDesktopFolder(&psf_desktop);
     hr = IShellFolder_ParseDisplayName(psf_desktop, NULL, NULL, curdirW, NULL, &pidl_cwd, NULL);
-    ok(SUCCEEDED(hr), "ParseDisplayName returned %x\n", hr);
+    ok(SUCCEEDED(hr), "ParseDisplayName returned %lx\n", hr);
     hr = IShellFolder_BindToObject(psf_desktop, pidl_cwd, NULL, &IID_IShellFolder, (void**)&psf_current);
-    ok(SUCCEEDED(hr), "BindToObject returned %x\n", hr);
+    ok(SUCCEEDED(hr), "BindToObject returned %lx\n", hr);
     IShellFolder_Release(psf_desktop);
     ILFree(pidl_cwd);
 
@@ -2782,11 +2782,11 @@ static void test_ShellItemCompare(void)
 
         hr = IShellFolder_ParseDisplayName(psf_current, NULL, NULL, (LPWSTR)filesW[i],
                                            NULL, &pidl_testfile, NULL);
-        ok(SUCCEEDED(hr), "ParseDisplayName returned %x\n", hr);
+        ok(SUCCEEDED(hr), "ParseDisplayName returned %lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = pSHCreateShellItem(NULL, NULL, pidl_testfile, &psi[i]);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             ILFree(pidl_testfile);
         }
         if(FAILED(hr)) failed = TRUE;
@@ -2799,13 +2799,13 @@ static void test_ShellItemCompare(void)
 
     /* Generate ShellItems for the folders */
     hr = IShellItem_GetParent(psi[0], &psi_a);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(FAILED(hr)) failed = TRUE;
     hr = IShellItem_GetParent(psi[3], &psi_b);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(FAILED(hr)) failed = TRUE;
     hr = IShellItem_GetParent(psi[6], &psi_c);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(FAILED(hr)) failed = TRUE;
 
     if(failed)
@@ -2826,103 +2826,103 @@ static void test_ShellItemCompare(void)
     for(i = 0; i < 9; i++)
     {
         hr = IShellItem_Compare(psi[i], psi[i], SICHINT_DISPLAY, &order);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         ok(order == 0, "Got order %d\n", order);
         hr = IShellItem_Compare(psi[i], psi[i], SICHINT_CANONICAL, &order);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         ok(order == 0, "Got order %d\n", order);
         hr = IShellItem_Compare(psi[i], psi[i], SICHINT_ALLFIELDS, &order);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         ok(order == 0, "Got order %d\n", order);
     }
 
     /* Order */
     /* a\b:a\a , a\b:a\c, a\b:a\b */
     hr = IShellItem_Compare(psi[1], psi[0], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[1], psi[2], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[1], psi[1], SICHINT_DISPLAY, &order);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(order == 0, "Got order %d\n", order);
 
     /* b\b:a\b, b\b:c\b, b\b:c\b */
     hr = IShellItem_Compare(psi[4], psi[1], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[4], psi[7], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[4], psi[4], SICHINT_DISPLAY, &order);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(order == 0, "Got order %d\n", order);
 
     /* b:a\a, b:a\c, b:a\b */
     hr = IShellItem_Compare(psi_b, psi[0], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[2], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[1], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
 
     /* b:c\a, b:c\c, b:c\b */
     hr = IShellItem_Compare(psi_b, psi[6], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[8], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[7], SICHINT_DISPLAY, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
 
     /* a\b:a\a , a\b:a\c, a\b:a\b */
     hr = IShellItem_Compare(psi[1], psi[0], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[1], psi[2], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[1], psi[1], SICHINT_CANONICAL, &order);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(order == 0, "Got order %d\n", order);
 
     /* b\b:a\b, b\b:c\b, b\b:c\b */
     hr = IShellItem_Compare(psi[4], psi[1], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[4], psi[7], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi[4], psi[4], SICHINT_CANONICAL, &order);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(order == 0, "Got order %d\n", order);
 
     /* b:a\a, b:a\c, b:a\b */
     hr = IShellItem_Compare(psi_b, psi[0], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[2], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[1], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     todo_wine ok(order == 1, "Got order %d\n", order);
 
     /* b:c\a, b:c\c, b:c\b */
     hr = IShellItem_Compare(psi_b, psi[6], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[8], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
     hr = IShellItem_Compare(psi_b, psi[7], SICHINT_CANONICAL, &order);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
     ok(order == -1, "Got order %d\n", order);
 
 cleanup:
@@ -3030,7 +3030,7 @@ static void test_SHGetIDListFromObject(void)
     }
 
     hres = pSHGetIDListFromObject(NULL, &pidl);
-    ok(hres == E_NOINTERFACE, "Got %x\n", hres);
+    ok(hres == E_NOINTERFACE, "Got %lx\n", hres);
 
     punkimpl = heap_alloc(sizeof(*punkimpl));
     punkimpl->IUnknown_iface.lpVtbl = &vt_IUnknown;
@@ -3038,7 +3038,7 @@ static void test_SHGetIDListFromObject(void)
     punkimpl->unknown = 0;
 
     hres = pSHGetIDListFromObject(&punkimpl->IUnknown_iface, &pidl);
-    ok(hres == E_NOINTERFACE, "Got %x\n", hres);
+    ok(hres == E_NOINTERFACE, "Got %lx\n", hres);
     ok(ifaces[0].count, "interface not requested.\n");
     ok(ifaces[1].count, "interface not requested.\n");
     ok(ifaces[2].count, "interface not requested.\n");
@@ -3048,7 +3048,7 @@ static void test_SHGetIDListFromObject(void)
     ok(ifaces[4].count || broken(!ifaces[4].count /*vista*/),
        "interface not requested.\n");
 
-    ok(!punkimpl->unknown, "Got %d unknown.\n", punkimpl->unknown);
+    ok(!punkimpl->unknown, "Got %ld unknown.\n", punkimpl->unknown);
     heap_free(punkimpl);
 
     pidl_desktop = NULL;
@@ -3062,11 +3062,11 @@ static void test_SHGetIDListFromObject(void)
     {
         IShellItem *shellitem;
         hres = pSHCreateShellItem(NULL, NULL, pidl_desktop, &shellitem);
-        ok(hres == S_OK, "got 0x%08x\n", hres);
+        ok(hres == S_OK, "got 0x%08lx\n", hres);
         if(SUCCEEDED(hres))
         {
             hres = pSHGetIDListFromObject((IUnknown*)shellitem, &pidl);
-            ok(hres == S_OK, "got 0x%08x\n", hres);
+            ok(hres == S_OK, "got 0x%08lx\n", hres);
             if(SUCCEEDED(hres))
             {
                 ok(ILIsEqual(pidl_desktop, pidl), "pidl not equal.\n");
@@ -3080,7 +3080,7 @@ static void test_SHGetIDListFromObject(void)
 
     /* Test IShellFolder */
     hres = pSHGetIDListFromObject((IUnknown*)psfdesktop, &pidl);
-    ok(hres == S_OK, "got 0x%08x\n", hres);
+    ok(hres == S_OK, "got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         ok(ILIsEqual(pidl_desktop, pidl), "pidl not equal.\n");
@@ -3088,7 +3088,7 @@ static void test_SHGetIDListFromObject(void)
     }
 
     hres = IShellFolder_CreateViewObject(psfdesktop, NULL, &IID_IShellView, (void**)&psv);
-    ok(hres == S_OK, "got 0x%08x\n", hres);
+    ok(hres == S_OK, "got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         IEnumIDList *peidl;
@@ -3097,7 +3097,7 @@ static void test_SHGetIDListFromObject(void)
 
         /* Test IFolderView */
         hres = pSHGetIDListFromObject((IUnknown*)psv, &pidl);
-        ok(hres == S_OK, "got 0x%08x\n", hres);
+        ok(hres == S_OK, "got 0x%08lx\n", hres);
         if(SUCCEEDED(hres))
         {
             ok(ILIsEqual(pidl_desktop, pidl), "pidl not equal.\n");
@@ -3107,7 +3107,7 @@ static void test_SHGetIDListFromObject(void)
         /* Test IDataObject */
         enum_flags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS | SHCONTF_INCLUDEHIDDEN;
         hres = IShellFolder_EnumObjects(psfdesktop, NULL, enum_flags, &peidl);
-        ok(hres == S_OK, "got 0x%08x\n", hres);
+        ok(hres == S_OK, "got 0x%08lx\n", hres);
         if(SUCCEEDED(hres))
         {
             LPITEMIDLIST apidl[5];
@@ -3120,12 +3120,12 @@ static void test_SHGetIDListFromObject(void)
             {
                 hres = IShellFolder_GetUIObjectOf(psfdesktop, NULL, 1, (LPCITEMIDLIST*)apidl,
                                                   &IID_IDataObject, NULL, (void**)&pdo);
-                ok(hres == S_OK, "got 0x%08x\n", hres);
+                ok(hres == S_OK, "got 0x%08lx\n", hres);
                 if(SUCCEEDED(hres))
                 {
                     pidl = (void*)0xDEADBEEF;
                     hres = pSHGetIDListFromObject((IUnknown*)pdo, &pidl);
-                    ok(hres == S_OK, "got 0x%08x\n", hres);
+                    ok(hres == S_OK, "got 0x%08lx\n", hres);
                     ok(pidl != NULL, "pidl is NULL.\n");
                     ok(ILIsEqual(pidl, apidl[0]), "pidl not equal.\n");
                     ILFree(pidl);
@@ -3140,13 +3140,13 @@ static void test_SHGetIDListFromObject(void)
             {
                 hres = IShellFolder_GetUIObjectOf(psfdesktop, NULL, count, (LPCITEMIDLIST*)apidl,
                                                   &IID_IDataObject, NULL, (void**)&pdo);
-                ok(hres == S_OK, "got 0x%08x\n", hres);
+                ok(hres == S_OK, "got 0x%08lx\n", hres);
                 if(SUCCEEDED(hres))
                 {
                     pidl = (void*)0xDEADBEEF;
                     hres = pSHGetIDListFromObject((IUnknown*)pdo, &pidl);
                     ok(hres == E_NOINTERFACE || hres == E_FAIL /*Vista*/,
-                       "got 0x%08x\n", hres);
+                       "got 0x%08lx\n", hres);
                     ok(pidl == NULL, "pidl is not NULL.\n");
 
                     IDataObject_Release(pdo);
@@ -3201,7 +3201,7 @@ static void test_SHGetItemFromObject(void)
     }
 
     hres = pSHGetItemFromObject(NULL, &IID_IUnknown, (void**)&punk);
-    ok(hres == E_NOINTERFACE, "Got 0x%08x\n", hres);
+    ok(hres == E_NOINTERFACE, "Got 0x%08lx\n", hres);
 
     punkimpl = heap_alloc(sizeof(*punkimpl));
     punkimpl->IUnknown_iface.lpVtbl = &vt_IUnknown;
@@ -3210,7 +3210,7 @@ static void test_SHGetItemFromObject(void)
 
     /* The same as SHGetIDListFromObject */
     hres = pSHGetIDListFromObject(&punkimpl->IUnknown_iface, &pidl);
-    ok(hres == E_NOINTERFACE, "Got %x\n", hres);
+    ok(hres == E_NOINTERFACE, "Got %lx\n", hres);
     ok(ifaces[0].count, "interface not requested.\n");
     ok(ifaces[1].count, "interface not requested.\n");
     ok(ifaces[2].count, "interface not requested.\n");
@@ -3220,17 +3220,17 @@ static void test_SHGetItemFromObject(void)
     ok(ifaces[4].count || broken(!ifaces[4].count /*vista*/),
        "interface not requested.\n");
 
-    ok(!punkimpl->unknown, "Got %d unknown.\n", punkimpl->unknown);
+    ok(!punkimpl->unknown, "Got %ld unknown.\n", punkimpl->unknown);
     heap_free(punkimpl);
 
     /* Test IShellItem */
     hres = pSHGetItemFromObject((IUnknown*)psfdesktop, &IID_IShellItem, (void**)&psi);
-    ok(hres == S_OK, "Got 0x%08x\n", hres);
+    ok(hres == S_OK, "Got 0x%08lx\n", hres);
     if(SUCCEEDED(hres))
     {
         IShellItem *psi2;
         hres = pSHGetItemFromObject((IUnknown*)psi, &IID_IShellItem, (void**)&psi2);
-        ok(hres == S_OK, "Got 0x%08x\n", hres);
+        ok(hres == S_OK, "Got 0x%08lx\n", hres);
         if(SUCCEEDED(hres))
         {
             todo_wine
@@ -3268,18 +3268,18 @@ static void test_SHCreateShellItemArray(void)
     }
 
     hr = pSHCreateShellItemArray(NULL, NULL, 0, NULL, &psia);
-    ok(hr == E_POINTER, "got 0x%08x\n", hr);
+    ok(hr == E_POINTER, "got 0x%08lx\n", hr);
 
     SHGetDesktopFolder(&pdesktopsf);
     hr = pSHCreateShellItemArray(NULL, pdesktopsf, 0, NULL, &psia);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 
     hr = pSHCreateShellItemArray(NULL, pdesktopsf, 1, NULL, &psia);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
 
     SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl);
     hr = pSHCreateShellItemArray(pidl, NULL, 0, NULL, &psia);
-    ok(hr == E_INVALIDARG, "got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "got 0x%08lx\n", hr);
     ILFree(pidl);
 
     GetCurrentDirectoryW(MAX_PATH, cTestDirW);
@@ -3289,12 +3289,12 @@ static void test_SHCreateShellItemArray(void)
     CreateFilesFolders();
 
     hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, cTestDirW, NULL, &pidl_testdir, 0);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = IShellFolder_BindToObject(pdesktopsf, pidl_testdir, NULL, (REFIID)&IID_IShellFolder,
                                        (void**)&psf);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
     }
     IShellFolder_Release(pdesktopsf);
 
@@ -3307,7 +3307,7 @@ static void test_SHCreateShellItemArray(void)
     }
 
     hr = IShellFolder_EnumObjects(psf, NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &peidl);
-    ok(hr == S_OK, "Got %08x\n", hr);
+    ok(hr == S_OK, "Got %08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         LPITEMIDLIST apidl[5];
@@ -3322,7 +3322,7 @@ static void test_SHCreateShellItemArray(void)
 
         /* Create a ShellItemArray */
         hr = pSHCreateShellItemArray(NULL, psf, done, (LPCITEMIDLIST*)apidl, &psia);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             IShellItem *psi;
@@ -3334,10 +3334,10 @@ static void test_SHCreateShellItemArray(void)
             }
 
             IShellItemArray_GetCount(psia, &numitems);
-            ok(numitems == done, "Got %d, expected %d\n", numitems, done);
+            ok(numitems == done, "Got %ld, expected %d\n", numitems, done);
 
             hr = IShellItemArray_GetItemAt(psia, numitems, &psi);
-            ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+            ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
 
             /* Compare all the items */
             for(i = 0; i < numitems; i++)
@@ -3346,11 +3346,11 @@ static void test_SHCreateShellItemArray(void)
                 pidl_abs = ILCombine(pidl_testdir, apidl[i]);
 
                 hr = IShellItemArray_GetItemAt(psia, i, &psi);
-                ok(hr == S_OK, "(%d) Failed with 0x%08x\n", i, hr);
+                ok(hr == S_OK, "(%ld) Failed with 0x%08lx\n", i, hr);
                 if(SUCCEEDED(hr))
                 {
                     hr = pSHGetIDListFromObject((IUnknown*)psi, &pidl);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     if(SUCCEEDED(hr))
                     {
                         ok(ILIsEqual(pidl_abs, pidl), "Pidl not equal.\n");
@@ -3380,30 +3380,30 @@ static void test_SHCreateShellItemArray(void)
         }
 
         hr = pSHCreateItemFromIDList(pidl_testdir, &IID_IShellItem, (void**)&psi);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             hr = pSHCreateShellItemArrayFromShellItem(psi, &IID_IShellItemArray, (void**)&psia);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 IShellItem *psi2;
                 DWORD count;
                 hr = IShellItemArray_GetCount(psia, &count);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
-                ok(count == 1, "Got count %d\n", count);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
+                ok(count == 1, "Got count %ld\n", count);
                 hr = IShellItemArray_GetItemAt(psia, 0, &psi2);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 todo_wine
                     ok(psi != psi2, "ShellItems are of the same instance.\n");
                 if(SUCCEEDED(hr))
                 {
                     LPITEMIDLIST pidl1, pidl2;
                     hr = pSHGetIDListFromObject((IUnknown*)psi, &pidl1);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(pidl1 != NULL, "pidl1 was null.\n");
                     hr = pSHGetIDListFromObject((IUnknown*)psi2, &pidl2);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(pidl2 != NULL, "pidl2 was null.\n");
                     ok(ILIsEqual(pidl1, pidl2), "pidls not equal.\n");
                     ILFree(pidl1);
@@ -3411,7 +3411,7 @@ static void test_SHCreateShellItemArray(void)
                     IShellItem_Release(psi2);
                 }
                 hr = IShellItemArray_GetItemAt(psia, 1, &psi2);
-                ok(hr == E_FAIL, "Got 0x%08x\n", hr);
+                ok(hr == E_FAIL, "Got 0x%08lx\n", hr);
                 IShellItemArray_Release(psia);
             }
             IShellItem_Release(psi);
@@ -3430,10 +3430,10 @@ static void test_SHCreateShellItemArray(void)
             pSHCreateShellItemArrayFromDataObject(NULL, &IID_IShellItemArray, NULL);
         }
         hr = pSHCreateShellItemArrayFromDataObject(NULL, &IID_IShellItemArray, (void**)&psia);
-        ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
 
         hr = IShellFolder_CreateViewObject(psf, NULL, &IID_IShellView, (void**)&psv);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             IEnumIDList *peidl;
@@ -3442,7 +3442,7 @@ static void test_SHCreateShellItemArray(void)
 
             enum_flags = SHCONTF_NONFOLDERS | SHCONTF_FOLDERS | SHCONTF_INCLUDEHIDDEN;
             hr = IShellFolder_EnumObjects(psf, NULL, enum_flags, &peidl);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 LPITEMIDLIST apidl[5];
@@ -3457,29 +3457,29 @@ static void test_SHCreateShellItemArray(void)
                 {
                     hr = IShellFolder_GetUIObjectOf(psf, NULL, count, (LPCITEMIDLIST*)apidl,
                                                     &IID_IDataObject, NULL, (void**)&pdo);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     if(SUCCEEDED(hr))
                     {
                         hr = pSHCreateShellItemArrayFromDataObject(pdo, &IID_IShellItemArray,
                                                                    (void**)&psia);
-                        ok(hr == S_OK, "Got 0x%08x\n", hr);
+                        ok(hr == S_OK, "Got 0x%08lx\n", hr);
                         if(SUCCEEDED(hr))
                         {
                             DWORD count_sia, i;
                             hr = IShellItemArray_GetCount(psia, &count_sia);
-                            ok(hr == S_OK, "Got 0x%08x\n", hr);
-                            ok(count_sia == count, "Counts differ (%d, %d)\n", count, count_sia);
+                            ok(hr == S_OK, "Got 0x%08lx\n", hr);
+                            ok(count_sia == count, "Counts differ (%d, %ld)\n", count, count_sia);
                             for(i = 0; i < count_sia; i++)
                             {
                                 LPITEMIDLIST pidl_abs = ILCombine(pidl_testdir, apidl[i]);
                                 IShellItem *psi;
                                 hr = IShellItemArray_GetItemAt(psia, i, &psi);
-                                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                                 if(SUCCEEDED(hr))
                                 {
                                     LPITEMIDLIST pidl;
                                     hr = pSHGetIDListFromObject((IUnknown*)psi, &pidl);
-                                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                                     ok(pidl != NULL, "pidl as NULL.\n");
                                     ok(ILIsEqual(pidl, pidl_abs), "pidls differ.\n");
                                     ILFree(pidl);
@@ -3522,25 +3522,25 @@ static void test_SHCreateShellItemArray(void)
 
         psia = (void*)0xdeadbeef;
         hr = pSHCreateShellItemArrayFromIDLists(0, NULL, &psia);
-        ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
         ok(psia == NULL, "Got %p\n", psia);
 
         psia = (void*)0xdeadbeef;
         hr = pSHCreateShellItemArrayFromIDLists(0, pidl_array, &psia);
-        ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
         ok(psia == NULL, "Got %p\n", psia);
 
         psia = (void*)0xdeadbeef;
         pidl_array[0] = NULL;
         hr = pSHCreateShellItemArrayFromIDLists(1, pidl_array, &psia);
-        todo_wine ok(hr == E_OUTOFMEMORY, "Got 0x%08x\n", hr);
+        todo_wine ok(hr == E_OUTOFMEMORY, "Got 0x%08lx\n", hr);
         ok(psia == NULL, "Got %p\n", psia);
 
         psia = (void*)0xdeadbeef;
         pidl_array[0] = pidl_testdir;
         pidl_array[1] = NULL;
         hr = pSHCreateShellItemArrayFromIDLists(2, pidl_array, &psia);
-        todo_wine ok(hr == S_OK || broken(hr == E_INVALIDARG) /* Vista */, "Got 0x%08x\n", hr);
+        todo_wine ok(hr == S_OK || broken(hr == E_INVALIDARG) /* Vista */, "Got 0x%08lx\n", hr);
         todo_wine ok(psia != NULL || broken(psia == NULL) /* Vista */, "Got %p\n", psia);
         if(SUCCEEDED(hr))
         {
@@ -3548,16 +3548,16 @@ static void test_SHCreateShellItemArray(void)
             DWORD count = 0;
 
             hr = IShellItemArray_GetCount(psia, &count);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
-            ok(count == 2, "Got %d\n", count);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
+            ok(count == 2, "Got %ld\n", count);
 
             hr = IShellItemArray_GetItemAt(psia, 0, &psi);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 LPWSTR path;
                 hr = IShellItem_GetDisplayName(psi, SIGDN_DESKTOPABSOLUTEPARSING, &path);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 ok(!lstrcmpW(path, cTestDirW), "Got %s\n", wine_dbgstr_w(path));
                 if(SUCCEEDED(hr))
                     CoTaskMemFree(path);
@@ -3566,7 +3566,7 @@ static void test_SHCreateShellItemArray(void)
             }
 
             hr = IShellItemArray_GetItemAt(psia, 1, &psi);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 LPWSTR path;
@@ -3574,10 +3574,10 @@ static void test_SHCreateShellItemArray(void)
                 BOOL result;
 
                 result = SHGetSpecialFolderPathW(NULL, desktoppath, CSIDL_DESKTOPDIRECTORY, FALSE);
-                ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOPDIRECTORY) failed! %u\n", GetLastError());
+                ok(result, "SHGetSpecialFolderPathW(CSIDL_DESKTOPDIRECTORY) failed! %lu\n", GetLastError());
 
                 hr = IShellItem_GetDisplayName(psi, SIGDN_DESKTOPABSOLUTEPARSING, &path);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 ok(!lstrcmpW(path, desktoppath), "Got %s\n", wine_dbgstr_w(path));
                 if(SUCCEEDED(hr))
                     CoTaskMemFree(path);
@@ -3594,23 +3594,23 @@ static void test_SHCreateShellItemArray(void)
         psia = (void*)0xdeadbeef;
         pidl_array[0] = pidl_testdir;
         hr = pSHCreateShellItemArrayFromIDLists(1, pidl_array, &psia);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             IShellItem *psi;
             DWORD count = 0;
 
             hr = IShellItemArray_GetCount(psia, &count);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
-            ok(count == 1, "Got %d\n", count);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
+            ok(count == 1, "Got %ld\n", count);
 
             hr = IShellItemArray_GetItemAt(psia, 0, &psi);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 LPWSTR path;
                 hr = IShellItem_GetDisplayName(psi, SIGDN_DESKTOPABSOLUTEPARSING, &path);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 ok(!lstrcmpW(path, cTestDirW), "Got %s\n", wine_dbgstr_w(path));
                 if(SUCCEEDED(hr))
                     CoTaskMemFree(path);
@@ -3629,30 +3629,30 @@ static void test_SHCreateShellItemArray(void)
         SHGetDesktopFolder(&pdesktopsf);
 
         hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, test1pathW, NULL, &pidltest1, NULL);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             psia = (void*)0xdeadbeef;
             pidl_array[0] = pidl_testdir;
             pidl_array[1] = pidltest1;
             hr = pSHCreateShellItemArrayFromIDLists(2, pidl_array, &psia);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 IShellItem *psi;
                 DWORD count = 0;
 
                 hr = IShellItemArray_GetCount(psia, &count);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
-                ok(count == 2, "Got %d\n", count);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
+                ok(count == 2, "Got %ld\n", count);
 
                 hr = IShellItemArray_GetItemAt(psia, 0, &psi);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 if(SUCCEEDED(hr))
                 {
                     LPWSTR path;
                     hr = IShellItem_GetDisplayName(psi, SIGDN_DESKTOPABSOLUTEPARSING, &path);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(!lstrcmpW(path, cTestDirW), "Got %s\n", wine_dbgstr_w(path));
                     if(SUCCEEDED(hr))
                         CoTaskMemFree(path);
@@ -3661,12 +3661,12 @@ static void test_SHCreateShellItemArray(void)
                 }
 
                 hr = IShellItemArray_GetItemAt(psia, 1, &psi);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 if(SUCCEEDED(hr))
                 {
                     LPWSTR path;
                     hr = IShellItem_GetDisplayName(psi, SIGDN_DESKTOPABSOLUTEPARSING, &path);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(!lstrcmpW(path, test1pathW), "Got %s\n", wine_dbgstr_w(path));
                     if(SUCCEEDED(hr))
                         CoTaskMemFree(path);
@@ -3715,19 +3715,19 @@ static void test_ShellItemArrayEnumItems(void)
     lstrcatW(cTestDirW, testdirW);
 
     hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, cTestDirW, NULL, &pidl_testdir, 0);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = IShellFolder_BindToObject(pdesktopsf, pidl_testdir, NULL, (REFIID)&IID_IShellFolder,
                                        (void**)&psf);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         ILFree(pidl_testdir);
     }
     IShellFolder_Release(pdesktopsf);
     if (FAILED(hr)) return;
 
     hr = IShellFolder_EnumObjects(psf, NULL, SHCONTF_FOLDERS | SHCONTF_NONFOLDERS, &peidl);
-    ok(hr == S_OK, "Got %08x\n", hr);
+    ok(hr == S_OK, "Got %08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         IShellItemArray *psia;
@@ -3743,7 +3743,7 @@ static void test_ShellItemArrayEnumItems(void)
 
         /* Create a ShellItemArray */
         hr = pSHCreateShellItemArray(NULL, psf, done, (LPCITEMIDLIST*)apidl, &psia);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             IEnumShellItems *iesi;
@@ -3751,11 +3751,11 @@ static void test_ShellItemArrayEnumItems(void)
             ULONG fetched;
 
             IShellItemArray_GetCount(psia, &numitems);
-            ok(numitems == done, "Got %d, expected %d\n", numitems, done);
+            ok(numitems == done, "Got %ld, expected %d\n", numitems, done);
 
             iesi = NULL;
             hr = IShellItemArray_EnumItems(psia, &iesi);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             ok(iesi != NULL, "Got NULL\n");
             if(SUCCEEDED(hr))
             {
@@ -3764,12 +3764,12 @@ static void test_ShellItemArrayEnumItems(void)
                 /* This should fail according to the documentation and Win7+ */
                 for(i = 0; i < 10; i++) my_array[i] = (void*)0xdeadbeef;
                 hr = IEnumShellItems_Next(iesi, 2, my_array, NULL);
-                ok(hr == E_INVALIDARG || broken(hr == S_OK) /* Vista */, "Got 0x%08x\n", hr);
+                ok(hr == E_INVALIDARG || broken(hr == S_OK) /* Vista */, "Got 0x%08lx\n", hr);
                 for(i = 0; i < 2; i++)
                 {
                     ok(my_array[i] == (void*)0xdeadbeef ||
                        broken(my_array[i] != (void*)0xdeadbeef && my_array[i] != NULL), /* Vista */
-                       "Got %p (%d)\n", my_array[i], i);
+                       "Got %p (%ld)\n", my_array[i], i);
 
                     if(my_array[i] != (void*)0xdeadbeef)
                         IShellItem_Release(my_array[i]);
@@ -3779,7 +3779,7 @@ static void test_ShellItemArrayEnumItems(void)
                 IEnumShellItems_Reset(iesi);
                 for(i = 0; i < 10; i++) my_array[i] = (void*)0xdeadbeef;
                 hr = IEnumShellItems_Next(iesi, 1, my_array, NULL);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 ok(my_array[0] != NULL && my_array[0] != (void*)0xdeadbeef, "Got %p\n", my_array[0]);
                 if(my_array[0] != NULL && my_array[0] != (void*)0xdeadbeef)
                     IShellItem_Release(my_array[0]);
@@ -3789,12 +3789,12 @@ static void test_ShellItemArrayEnumItems(void)
                 fetched = 0;
                 for(i = 0; i < 10; i++) my_array[i] = (void*)0xdeadbeef;
                 hr = IEnumShellItems_Next(iesi, numitems, my_array, &fetched);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
-                ok(fetched == numitems, "Got %d\n", fetched);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
+                ok(fetched == numitems, "Got %ld\n", fetched);
                 for(i = 0;i < numitems; i++)
                 {
                     ok(my_array[i] != NULL && my_array[i] != (void*)0xdeadbeef,
-                       "Got %p at %d\n", my_array[i], i);
+                       "Got %p at %ld\n", my_array[i], i);
 
                     if(my_array[i] != NULL && my_array[i] != (void*)0xdeadbeef)
                         IShellItem_Release(my_array[i]);
@@ -3809,13 +3809,13 @@ static void test_ShellItemArrayEnumItems(void)
                     int order;
 
                     hr = IShellItemArray_GetItemAt(psia, i, &psi);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     hr = IEnumShellItems_Next(iesi, 1, my_array, &fetched);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
-                    ok(fetched == 1, "Got %d\n", fetched);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+                    ok(fetched == 1, "Got %ld\n", fetched);
 
                     hr = IShellItem_Compare(psi, my_array[0], 0, &order);
-                    ok(hr == S_OK, "Got 0x%08x\n", hr);
+                    ok(hr == S_OK, "Got 0x%08lx\n", hr);
                     ok(order == 0, "Got %d\n", order);
 
                     IShellItem_Release(psi);
@@ -3824,14 +3824,14 @@ static void test_ShellItemArrayEnumItems(void)
 
                 my_array[0] = (void*)0xdeadbeef;
                 hr = IEnumShellItems_Next(iesi, 1, my_array, &fetched);
-                ok(hr == S_FALSE, "Got 0x%08x\n", hr);
-                ok(fetched == 0, "Got %d\n", fetched);
+                ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
+                ok(fetched == 0, "Got %ld\n", fetched);
                 ok(my_array[0] == (void*)0xdeadbeef, "Got %p\n", my_array[0]);
 
                 /* Cloning not implemented anywhere */
                 iesi2 = (void*)0xdeadbeef;
                 hr = IEnumShellItems_Clone(iesi, &iesi2);
-                ok(hr == E_NOTIMPL, "Got 0x%08x\n", hr);
+                ok(hr == E_NOTIMPL, "Got 0x%08lx\n", hr);
                 ok(iesi2 == NULL || broken(iesi2 == (void*)0xdeadbeef) /* Vista */, "Got %p\n", iesi2);
 
                 IEnumShellItems_Release(iesi);
@@ -3861,11 +3861,11 @@ static void test_ShellItemBindToHandler(void)
     }
 
     hr = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl_desktop);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = pSHCreateShellItem(NULL, NULL, pidl_desktop, &psi);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
     }
     if(SUCCEEDED(hr))
     {
@@ -3879,19 +3879,19 @@ static void test_ShellItemBindToHandler(void)
             IShellItem_BindToHandler(psi, NULL, &IID_IUnknown, &IID_IUnknown, NULL);
         }
         hr = IShellItem_BindToHandler(psi, NULL, &IID_IUnknown, &IID_IUnknown, (void**)&punk);
-        ok(hr == MK_E_NOOBJECT, "Got 0x%08x\n", hr);
+        ok(hr == MK_E_NOOBJECT, "Got 0x%08lx\n", hr);
 
         /* BHID_SFObject */
         hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFObject, &IID_IShellFolder, (void**)&punk);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr)) IUnknown_Release(punk);
         hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFObject, &IID_IPersistFolder2, (void**)&ppf2);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             LPITEMIDLIST pidl_tmp;
             hr = IPersistFolder2_GetCurFolder(ppf2, &pidl_tmp);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 ok(ILIsEqual(pidl_desktop, pidl_tmp), "Pidl not equal (%p, %p)\n", pidl_desktop, pidl_tmp);
@@ -3902,105 +3902,105 @@ static void test_ShellItemBindToHandler(void)
 
         /* BHID_SFUIObject */
         hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFUIObject, &IID_IDataObject, (void**)&punk);
-        ok(hr == S_OK || broken(hr == E_NOINTERFACE /* XP */), "Got 0x%08x\n", hr);
+        ok(hr == S_OK || broken(hr == E_NOINTERFACE /* XP */), "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr)) IUnknown_Release(punk);
         hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFUIObject, &IID_IContextMenu, (void**)&punk);
-        ok(hr == S_OK || broken(hr == E_NOINTERFACE /* XP */), "Got 0x%08x\n", hr);
+        ok(hr == S_OK || broken(hr == E_NOINTERFACE /* XP */), "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
         /* BHID_DataObject */
         hr = IShellItem_BindToHandler(psi, NULL, &BHID_DataObject, &IID_IDataObject, (void**)&punk);
-        ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+        ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
         todo_wine
         {
             /* BHID_SFViewObject */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFViewObject, &IID_IShellView, (void**)&punk);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_SFViewObject, &IID_IShellFolderView, (void**)&punk);
-            ok(hr == E_NOINTERFACE, "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_Storage */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Storage, &IID_IStream, (void**)&punk);
-            ok(hr == E_NOINTERFACE, "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Storage, &IID_IUnknown, (void**)&punk);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_Stream */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Stream, &IID_IStream, (void**)&punk);
-            ok(hr == E_NOINTERFACE, "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Stream, &IID_IUnknown, (void**)&punk);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_StorageEnum */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_StorageEnum, &IID_IEnumShellItems, (void**)&punk);
-            ok(hr == S_OK, "Got 0x%08x\n", hr);
+            ok(hr == S_OK, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_Transfer
                ITransferSource and ITransferDestination are accessible starting from Vista, IUnknown is
                supported starting from Win8. */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Transfer, &IID_ITransferSource, (void**)&punk);
-            ok(hr == S_OK || broken(FAILED(hr)) /* pre-Vista */, "Got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(FAILED(hr)) /* pre-Vista */, "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr))
             {
                 IUnknown_Release(punk);
 
                 hr = IShellItem_BindToHandler(psi, NULL, &BHID_Transfer, &IID_ITransferDestination, (void**)&punk);
-                ok(hr == S_OK, "Got 0x%08x\n", hr);
+                ok(hr == S_OK, "Got 0x%08lx\n", hr);
                 if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
                 hr = IShellItem_BindToHandler(psi, NULL, &BHID_Transfer, &IID_IUnknown, (void**)&punk);
-                ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* pre-Win8 */, "Got 0x%08x\n", hr);
+                ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* pre-Win8 */, "Got 0x%08lx\n", hr);
                 if(SUCCEEDED(hr)) IUnknown_Release(punk);
             }
 
             /* BHID_EnumItems */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_EnumItems, &IID_IEnumShellItems, (void**)&punk);
-            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_Filter */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_Filter, &IID_IUnknown, (void**)&punk);
-            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_LinkTargetItem */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_LinkTargetItem, &IID_IShellItem, (void**)&punk);
-            ok(hr == E_NOINTERFACE || broken(hr == E_INVALIDARG /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE || broken(hr == E_INVALIDARG /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_LinkTargetItem, &IID_IUnknown, (void**)&punk);
-            ok(hr == E_NOINTERFACE || broken(hr == E_INVALIDARG /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE || broken(hr == E_INVALIDARG /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_PropertyStore */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_PropertyStore, &IID_IPropertyStore, (void**)&punk);
-            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_PropertyStore, &IID_IPropertyStoreFactory, (void**)&punk);
-            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_ThumbnailHandler */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_ThumbnailHandler, &IID_IUnknown, (void**)&punk);
-            ok(hr == E_INVALIDARG || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_INVALIDARG || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_AssociationArray */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_AssociationArray, &IID_IQueryAssociations, (void**)&punk);
-            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
 
             /* BHID_EnumAssocHandlers */
             hr = IShellItem_BindToHandler(psi, NULL, &BHID_EnumAssocHandlers, &IID_IUnknown, (void**)&punk);
-            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08x\n", hr);
+            ok(hr == E_NOINTERFACE || broken(hr == MK_E_NOOBJECT /* XP */), "Got 0x%08lx\n", hr);
             if(SUCCEEDED(hr)) IUnknown_Release(punk);
         }
 
@@ -4031,11 +4031,11 @@ static void test_ShellItemGetAttributes(void)
     }
 
     hr = SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP, &pidl_desktop);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = pSHCreateShellItem(NULL, NULL, pidl_desktop, &psi);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
         ILFree(pidl_desktop);
     }
     if(FAILED(hr))
@@ -4053,8 +4053,8 @@ static void test_ShellItemGetAttributes(void)
     /* Test GetAttributes on the desktop folder. */
     sfgao = 0xdeadbeef;
     hr = IShellItem_GetAttributes(psi, SFGAO_FOLDER, &sfgao);
-    ok(hr == S_OK || broken(hr == E_FAIL) /* <Vista */, "Got 0x%08x\n", hr);
-    ok(sfgao == SFGAO_FOLDER || broken(sfgao == 0) /* <Vista */, "Got 0x%08x\n", sfgao);
+    ok(hr == S_OK || broken(hr == E_FAIL) /* <Vista */, "Got 0x%08lx\n", hr);
+    ok(sfgao == SFGAO_FOLDER || broken(sfgao == 0) /* <Vista */, "Got 0x%08lx\n", sfgao);
 
     IShellItem_Release(psi);
 
@@ -4068,35 +4068,35 @@ static void test_ShellItemGetAttributes(void)
     lstrcpyW(buf, curdirW);
     lstrcatW(buf, testdir1W);
     hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, buf, NULL, &pidl, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = pSHCreateShellItem(NULL, NULL, pidl, &psi_folder1);
-    ok(hr == S_OK, "Got 0x%08x\n", sfgao);
+    ok(hr == S_OK, "Got 0x%08lx\n", sfgao);
     ILFree(pidl);
 
     lstrcpyW(buf, curdirW);
     lstrcatW(buf, testfile1W);
     hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, buf, NULL, &pidl, NULL);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = pSHCreateShellItem(NULL, NULL, pidl, &psi_file1);
-    ok(hr == S_OK, "Got 0x%08x\n", sfgao);
+    ok(hr == S_OK, "Got 0x%08lx\n", sfgao);
     ILFree(pidl);
 
     IShellFolder_Release(pdesktopsf);
 
     sfgao = 0xdeadbeef;
     hr = IShellItem_GetAttributes(psi_folder1, 0, &sfgao);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(sfgao == 0, "Got 0x%08x\n", sfgao);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(sfgao == 0, "Got 0x%08lx\n", sfgao);
 
     sfgao = 0xdeadbeef;
     hr = IShellItem_GetAttributes(psi_folder1, SFGAO_FOLDER, &sfgao);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(sfgao == SFGAO_FOLDER, "Got 0x%08x\n", sfgao);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(sfgao == SFGAO_FOLDER, "Got 0x%08lx\n", sfgao);
 
     sfgao = 0xdeadbeef;
     hr = IShellItem_GetAttributes(psi_file1, SFGAO_FOLDER, &sfgao);
-    ok(hr == S_FALSE, "Got 0x%08x\n", hr);
-    ok(sfgao == 0, "Got 0x%08x\n", sfgao);
+    ok(hr == S_FALSE, "Got 0x%08lx\n", hr);
+    ok(sfgao == 0, "Got 0x%08lx\n", sfgao);
 
     IShellItem_Release(psi_folder1);
     IShellItem_Release(psi_file1);
@@ -4140,18 +4140,18 @@ static void test_ShellItemArrayGetAttributes(void)
         lstrcpyW(buf, curdirW);
         lstrcatW(buf, testfilesW[i]);
         hr = IShellFolder_ParseDisplayName(pdesktopsf, NULL, NULL, buf, NULL, (LPITEMIDLIST*)&pidl_array[i], NULL);
-        ok(hr == S_OK, "got 0x%08x\n", hr);
+        ok(hr == S_OK, "got 0x%08lx\n", hr);
     }
     IShellFolder_Release(pdesktopsf);
 
     hr = pSHCreateShellItemArrayFromIDLists(2, pidl_array, &psia_folders1);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = pSHCreateShellItemArrayFromIDLists(2, &pidl_array[1], &psia_folders2);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = pSHCreateShellItemArrayFromIDLists(2, &pidl_array[3], &psia_files);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = pSHCreateShellItemArrayFromIDLists(4, &pidl_array[1], &psia_all); /* All except the first */
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
 
     for(i = 0; i < 5; i++)
         ILFree((LPITEMIDLIST)pidl_array[i]);
@@ -4159,38 +4159,38 @@ static void test_ShellItemArrayGetAttributes(void)
     /* [testfolder/, testfolder/testfolder2] seems to break in Vista */
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_folders1, SIATTRIBFLAGS_AND, SFGAO_FOLDER, &attr);
-    ok(hr == S_OK || broken(hr == E_UNEXPECTED)  /* Vista */, "Got 0x%08x\n", hr);
-    ok(attr == SFGAO_FOLDER || broken(attr == 0) /* Vista */, "Got 0x%08x\n", attr);
+    ok(hr == S_OK || broken(hr == E_UNEXPECTED)  /* Vista */, "Got 0x%08lx\n", hr);
+    ok(attr == SFGAO_FOLDER || broken(attr == 0) /* Vista */, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_folders1, SIATTRIBFLAGS_OR, SFGAO_FOLDER, &attr);
-    ok(hr == S_OK || broken(hr == E_UNEXPECTED)  /* Vista */, "Got 0x%08x\n", hr);
-    ok(attr == SFGAO_FOLDER || broken(attr == 0) /* Vista */, "Got 0x%08x\n", attr);
+    ok(hr == S_OK || broken(hr == E_UNEXPECTED)  /* Vista */, "Got 0x%08lx\n", hr);
+    ok(attr == SFGAO_FOLDER || broken(attr == 0) /* Vista */, "Got 0x%08lx\n", attr);
 
     /* [testfolder/testfolder2, testfolder/testfolder3] works */
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_folders2, SIATTRIBFLAGS_AND, SFGAO_FOLDER, &attr);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(attr == SFGAO_FOLDER, "Got 0x%08x\n", attr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(attr == SFGAO_FOLDER, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_files, SIATTRIBFLAGS_AND, SFGAO_FOLDER, &attr);
-    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08x\n", hr);
-    ok(attr == 0, "Got 0x%08x\n", attr);
+    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08lx\n", hr);
+    ok(attr == 0, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_all, SIATTRIBFLAGS_AND, SFGAO_FOLDER, &attr);
-    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08x\n", hr);
-    ok(attr == 0, "Got 0x%08x\n", attr);
+    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08lx\n", hr);
+    ok(attr == 0, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_folders2, SIATTRIBFLAGS_OR, SFGAO_FOLDER, &attr);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(attr == SFGAO_FOLDER, "Got 0x%08x\n", attr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(attr == SFGAO_FOLDER, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_files, SIATTRIBFLAGS_OR, SFGAO_FOLDER, &attr);
-    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08x\n", hr);
-    ok(attr == 0, "Got 0x%08x\n", attr);
+    ok(hr == S_FALSE || broken(hr == S_OK) /* Vista */, "Got 0x%08lx\n", hr);
+    ok(attr == 0, "Got 0x%08lx\n", attr);
     attr = 0xdeadbeef;
     hr = IShellItemArray_GetAttributes(psia_all, SIATTRIBFLAGS_OR, SFGAO_FOLDER, &attr);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
-    ok(attr == SFGAO_FOLDER, "Got 0x%08x\n", attr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
+    ok(attr == SFGAO_FOLDER, "Got 0x%08lx\n", attr);
 
     IShellItemArray_Release(psia_folders1);
     IShellItemArray_Release(psia_folders2);
@@ -4221,17 +4221,17 @@ if (0)
     pidl1 = (LPITEMIDLIST)0xdeadbeef;
     hr = SHParseDisplayName(NULL, NULL, &pidl1, 0, NULL);
     ok(broken(hr == E_OUTOFMEMORY) /* < Vista */ ||
-       hr == E_INVALIDARG, "failed %08x\n", hr);
+       hr == E_INVALIDARG, "failed %08lx\n", hr);
     ok(pidl1 == 0, "expected null ptr, got %p\n", pidl1);
 
     /* dummy name */
     nameW[0] = 0;
     hr = SHParseDisplayName(nameW, NULL, &pidl1, 0, NULL);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, nameW, NULL, &pidl2, NULL);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
     ret = ILIsEqual(pidl1, pidl2);
     ok(ret == TRUE, "expected equal idls\n");
     ILFree(pidl1);
@@ -4241,9 +4241,9 @@ if (0)
     GetWindowsDirectoryW( dirW, MAX_PATH );
 
     hr = SHParseDisplayName(dirW, NULL, &pidl1, 0, NULL);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, dirW, NULL, &pidl2, NULL);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
 
     ret = ILIsEqual(pidl1, pidl2);
     ok(ret == TRUE, "expected equal idls\n");
@@ -4257,14 +4257,14 @@ if (0)
         UINT len;
         *dirW = 0;
         len = GetSystemDirectoryW(dirW, MAX_PATH);
-        ok(len > 0, "GetSystemDirectoryW failed: %u\n", GetLastError());
+        ok(len > 0, "GetSystemDirectoryW failed: %lu\n", GetLastError());
         hr = SHParseDisplayName(dirW, NULL, &pidl1, 0, NULL);
-        ok(hr == S_OK, "failed %08x\n", hr);
+        ok(hr == S_OK, "failed %08lx\n", hr);
         *dirW = 0;
         len = GetSystemWow64DirectoryW(dirW, MAX_PATH);
-        ok(len > 0, "GetSystemWow64DirectoryW failed: %u\n", GetLastError());
+        ok(len > 0, "GetSystemWow64DirectoryW failed: %lu\n", GetLastError());
         hr = SHParseDisplayName(dirW, NULL, &pidl2, 0, NULL);
-        ok(hr == S_OK, "failed %08x\n", hr);
+        ok(hr == S_OK, "failed %08lx\n", hr);
         ret = ILIsEqual(pidl1, pidl2);
         ok(ret == FALSE, "expected different idls\n");
         ILFree(pidl1);
@@ -4283,10 +4283,10 @@ static void test_desktop_IPersist(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
 
     hr = IShellFolder_QueryInterface(desktop, &IID_IPersist, (void**)&persist);
-    ok(hr == S_OK, "failed %08x\n", hr);
+    ok(hr == S_OK, "failed %08lx\n", hr);
 
     if (hr == S_OK)
     {
@@ -4297,13 +4297,13 @@ static void test_desktop_IPersist(void)
     }
         memset(&clsid, 0, sizeof(clsid));
         hr = IPersist_GetClassID(persist, &clsid);
-        ok(hr == S_OK, "failed %08x\n", hr);
+        ok(hr == S_OK, "failed %08lx\n", hr);
         ok(IsEqualIID(&CLSID_ShellDesktop, &clsid), "Expected CLSID_ShellDesktop\n");
         IPersist_Release(persist);
     }
 
     hr = IShellFolder_QueryInterface(desktop, &IID_IPersistFolder2, (void**)&ppf2);
-    ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* pre-Vista */, "failed %08x\n", hr);
+    ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* pre-Vista */, "failed %08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         IPersistFolder *ppf;
@@ -4315,12 +4315,12 @@ static void test_desktop_IPersist(void)
 
         todo_wine {
             hr = IPersistFolder2_Initialize(ppf2, NULL);
-            ok(hr == S_OK, "got %08x\n", hr);
+            ok(hr == S_OK, "got %08lx\n", hr);
         }
 
         pidl = NULL;
         hr = IPersistFolder2_GetCurFolder(ppf2, &pidl);
-        ok(hr == S_OK, "got %08x\n", hr);
+        ok(hr == S_OK, "got %08lx\n", hr);
         ok(pidl != NULL, "pidl was NULL.\n");
         if(SUCCEEDED(hr)) ILFree(pidl);
 
@@ -4337,13 +4337,13 @@ static void test_contextmenu_qi(IContextMenu *menu, BOOL todo)
 
     hr = IContextMenu_QueryInterface(menu, &IID_IShellExtInit, (void **)&unk);
     todo_wine_if(todo)
-    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#lx.\n", hr);
     if (hr == S_OK)
         IUnknown_Release(unk);
 
     hr = IContextMenu_QueryInterface(menu, &IID_IObjectWithSite, (void **)&unk);
     todo_wine_if(todo)
-    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#lx.\n", hr);
     if (hr == S_OK)
         IUnknown_Release(unk);
 }
@@ -4357,7 +4357,7 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
     test_contextmenu_qi(menu, FALSE);
 
     hr = IContextMenu_QueryContextMenu(menu, hmenu, 0, 64, 32767, CMF_NORMAL);
-    ok(SUCCEEDED(hr), "Failed to query the menu, hr %#x.\n", hr);
+    ok(SUCCEEDED(hr), "Failed to query the menu, hr %#lx.\n", hr);
 
     max_id = HRESULT_CODE(hr) - 1; /* returns max_id + 1 */
     ok(max_id <= 32767, "Got %d\n", max_id);
@@ -4376,7 +4376,7 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
         mii.cch = sizeof(buf2);
 
         res = GetMenuItemInfoA(hmenu, i, TRUE, &mii);
-        ok(res, "Failed to get menu item info, error %d.\n", GetLastError());
+        ok(res, "Failed to get menu item info, error %ld.\n", GetLastError());
 
         if (!(mii.fType & MFT_SEPARATOR))
         {
@@ -4384,7 +4384,7 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
                     "Expected between 64 and %d, got %d.\n", 64 + max_id, mii.wID);
             hr = IContextMenu_GetCommandString(menu, mii.wID - 64, GCS_VERBA, 0, buf, sizeof(buf));
             ok(hr == S_OK || hr == E_NOTIMPL || hr == E_INVALIDARG,
-                    "Got unexpected hr %#x for ID %d, string %s.\n", hr, mii.wID, debugstr_a(mii.dwTypeData));
+                    "Got unexpected hr %#lx for ID %d, string %s.\n", hr, mii.wID, debugstr_a(mii.dwTypeData));
             if (hr == S_OK)
             {
                 trace("Got ID %d, verb %s, string %s.\n", mii.wID, debugstr_a(buf), debugstr_a(mii.dwTypeData));
@@ -4396,7 +4396,7 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
                     cmi.cbSize = sizeof(CMINVOKECOMMANDINFO);
                     cmi.lpVerb = "copy";
                     hr = IContextMenu_InvokeCommand(menu, &cmi);
-                    ok(hr == S_OK, "got 0x%08x\n", hr);
+                    ok(hr == S_OK, "got 0x%08lx\n", hr);
                     ok(IsClipboardFormatAvailable(RegisterClipboardFormatA(CFSTR_SHELLIDLISTA)), "CFSTR_SHELLIDLISTA not available\n");
                     ok(IsClipboardFormatAvailable(CF_HDROP), "CF_HDROP not available\n");
                 }
@@ -4406,7 +4406,7 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
                     ok(mii.wID == 64 - 0x7000 + FCIDM_SHVIEW_PROPERTIES, "wrong menu wID %d\n", mii.wID);
             }
             else
-                trace("Got ID %d, hr %#x, string %s.\n", mii.wID, hr, debugstr_a(mii.dwTypeData));
+                trace("Got ID %d, hr %#lx, string %s.\n", mii.wID, hr, debugstr_a(mii.dwTypeData));
         }
     }
 
@@ -4421,14 +4421,14 @@ static void test_contextmenu(IContextMenu *menu, BOOL background)
         cmi.lpVerb = MAKEINTRESOURCEA(9999);
         hr = IContextMenu_InvokeCommand(menu, &cmi);
         todo_wine_if(background)
-        ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+        ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
 
         cmi.lpVerb = "foobar_wine_test";
         hr = IContextMenu_InvokeCommand(menu, &cmi);
         todo_wine_if(background)
         ok((hr == E_INVALIDARG) || (hr == E_FAIL /* Win7 */) ||
            (hr == HRESULT_FROM_WIN32(ERROR_NO_ASSOCIATION) /* Vista */),
-            "Unexpected hr %#x.\n", hr);
+            "Unexpected hr %#lx.\n", hr);
     }
 
     DestroyMenu(hmenu);
@@ -4458,20 +4458,20 @@ static void test_GetUIObject(void)
     CreateFilesFolders();
 
     hr = IShellFolder_ParseDisplayName(psf_desktop, NULL, NULL, path, NULL, &pidl, 0);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
     hr = SHBindToParent(pidl, &IID_IShellFolder, (void **)&psf, &pidl_child);
-    ok(hr == S_OK, "Failed to bind to folder, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to bind to folder, hr %#lx.\n", hr);
 
     /* Item menu */
     hr = IShellFolder_GetUIObjectOf(psf, NULL, 1, &pidl_child, &IID_IContextMenu, NULL, (void **)&pcm);
-    ok(hr == S_OK, "GetUIObjectOf() failed, hr %#x.\n", hr);
+    ok(hr == S_OK, "GetUIObjectOf() failed, hr %#lx.\n", hr);
     test_contextmenu(pcm, FALSE);
     IContextMenu_Release(pcm);
 
     /* Background menu */
     hr = IShellFolder_GetUIObjectOf(psf_desktop, NULL, 0, NULL, &IID_IContextMenu, NULL, (void **)&pcm);
-    ok(hr == S_OK, "GetUIObjectOf() failed, hr %#x.\n", hr);
+    ok(hr == S_OK, "GetUIObjectOf() failed, hr %#lx.\n", hr);
     test_contextmenu(pcm, TRUE);
     IContextMenu_Release(pcm);
 
@@ -4508,36 +4508,36 @@ static void test_CreateViewObject_contextmenu(void)
         hr = CoCreateInstance(folders[i], NULL, CLSCTX_INPROC_SERVER, &IID_IShellFolder, (void**)&folder);
         if (hr != S_OK)
         {
-            win_skip("Failed to create folder %s, hr %#x.\n", wine_dbgstr_guid(folders[i]), hr);
+            win_skip("Failed to create folder %s, hr %#lx.\n", wine_dbgstr_guid(folders[i]), hr);
             continue;
         }
 
         hr = IShellFolder_CreateViewObject(folder, NULL, &IID_IContextMenu, (void**)&cmenu);
         if (IsEqualIID(folders[i], &CLSID_MyDocuments))
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
         else if (IsEqualIID(folders[i], &CLSID_MyComputer))
-            ok(hr == S_OK || broken(hr == E_NOINTERFACE /* win10 */), "got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(hr == E_NOINTERFACE /* win10 */), "got 0x%08lx\n", hr);
         else
-            ok(hr == E_NOINTERFACE || broken(FAILED(hr)), "got 0x%08x for %s\n", hr, wine_dbgstr_guid(folders[i]));
+            ok(hr == E_NOINTERFACE || broken(FAILED(hr)), "got 0x%08lx for %s\n", hr, wine_dbgstr_guid(folders[i]));
         if (SUCCEEDED(hr))
             IContextMenu_Release(cmenu);
         IShellFolder_Release(folder);
     }
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IContextMenu, (void**)&cmenu);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     if (SUCCEEDED(hr))
         IContextMenu_Release(cmenu);
     ret = GetCurrentDirectoryW(MAX_PATH, path);
-    ok(ret, "got %d\n", GetLastError());
+    ok(ret, "got %ld\n", GetLastError());
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, path, NULL, &pidl, 0);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellFolder_BindToObject(desktop, pidl, NULL, &IID_IShellFolder, (void**)&folder);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     hr = IShellFolder_CreateViewObject(folder, NULL, &IID_IContextMenu, (void**)&cmenu);
-    ok(hr == S_OK, "got 0x%08x\n", hr);
+    ok(hr == S_OK, "got 0x%08lx\n", hr);
     if (SUCCEEDED(hr))
         IContextMenu_Release(cmenu);
     IShellFolder_Release(folder);
@@ -4560,12 +4560,12 @@ static void r_verify_pidl(unsigned l, LPCITEMIDLIST pidl, const WCHAR *path)
         }
 
         hr = SHBindToParent(pidl, &IID_IShellFolder, (void **)&parent, &child);
-        ok_(__FILE__,l)(hr == S_OK, "SHBindToParent failed: 0x%08x\n", hr);
+        ok_(__FILE__,l)(hr == S_OK, "SHBindToParent failed: 0x%08lx\n", hr);
         if(FAILED(hr))
             return;
 
         hr = IShellFolder_GetDisplayNameOf(parent, child, SHGDN_FORPARSING, &filename);
-        ok_(__FILE__,l)(hr == S_OK, "GetDisplayNameOf failed: 0x%08x\n", hr);
+        ok_(__FILE__,l)(hr == S_OK, "GetDisplayNameOf failed: 0x%08lx\n", hr);
         if(FAILED(hr)){
             IShellFolder_Release(parent);
             return;
@@ -4601,7 +4601,7 @@ static void test_SHSimpleIDListFromPath(void)
     LPITEMIDLIST pidl = NULL;
 
     br = CreateDirectoryA(adirA, NULL);
-    ok(br == TRUE, "CreateDirectory failed: %d\n", GetLastError());
+    ok(br == TRUE, "CreateDirectory failed: %ld\n", GetLastError());
 
     if(is_unicode)
         pidl = SHSimpleIDListFromPath(adirW);
@@ -4611,7 +4611,7 @@ static void test_SHSimpleIDListFromPath(void)
     ILFree(pidl);
 
     br = RemoveDirectoryA(adirA);
-    ok(br == TRUE, "RemoveDirectory failed: %d\n", GetLastError());
+    ok(br == TRUE, "RemoveDirectory failed: %ld\n", GetLastError());
 
     if(is_unicode)
         pidl = SHSimpleIDListFromPath(adirW);
@@ -4721,7 +4721,7 @@ static void test_ParseDisplayNamePBC(void)
     }
 
     hres = SHGetDesktopFolder(&psf);
-    ok(hres == S_OK, "SHGetDesktopFolder failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "SHGetDesktopFolder failed: 0x%08lx\n", hres);
     if(FAILED(hres)){
         win_skip("Failed to get IShellFolder, can't run tests\n");
         return;
@@ -4729,46 +4729,46 @@ static void test_ParseDisplayNamePBC(void)
 
     /* fails on unknown dir with no IBindCtx */
     hres = IShellFolder_ParseDisplayName(psf, NULL, NULL, adirW, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
     hres = IShellFolder_ParseDisplayName(psf, NULL, NULL, afileW, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
     hres = IShellFolder_ParseDisplayName(psf, NULL, NULL, afile2W, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
 
     /* fails on unknown dir with IBindCtx with no IFileSystemBindData */
     hres = CreateBindCtx(0, &pbc);
-    ok(hres == S_OK, "CreateBindCtx failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "CreateBindCtx failed: 0x%08lx\n", hres);
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08x\n", hres);
+    ok(hres == exp_err, "ParseDisplayName failed with wrong error: 0x%08lx\n", hres);
 
     /* unknown dir with IBindCtx with IFileSystemBindData */
     hres = IBindCtx_RegisterObjectParam(pbc, wFileSystemBindData, (IUnknown*)&fsbd);
-    ok(hres == S_OK, "RegisterObjectParam failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "RegisterObjectParam failed: 0x%08lx\n", hres);
 
     /* return E_FAIL from GetFindData */
     pidl = (ITEMIDLIST*)0xdeadbeef;
     fsbdVtbl.GetFindData = fsbd_GetFindData_fail;
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, adirW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afileW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afile2W);
         ILFree(pidl);
@@ -4778,21 +4778,21 @@ static void test_ParseDisplayNamePBC(void)
     pidl = (ITEMIDLIST*)0xdeadbeef;
     fsbdVtbl.GetFindData = fsbd_GetFindData_nul;
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, adirW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afileW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afile2W);
         ILFree(pidl);
@@ -4802,21 +4802,21 @@ static void test_ParseDisplayNamePBC(void)
     pidl = (ITEMIDLIST*)0xdeadbeef;
     fsbdVtbl.GetFindData = fsbd_GetFindData_junk;
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, adirW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afileW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afile2W);
         ILFree(pidl);
@@ -4826,21 +4826,21 @@ static void test_ParseDisplayNamePBC(void)
     pidl = (ITEMIDLIST*)0xdeadbeef;
     fsbdVtbl.GetFindData = fsbd_GetFindData_invalid;
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, adirW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afileW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afile2W);
         ILFree(pidl);
@@ -4850,21 +4850,21 @@ static void test_ParseDisplayNamePBC(void)
     pidl = (ITEMIDLIST*)0xdeadbeef;
     fsbdVtbl.GetFindData = fsbd_GetFindData_valid;
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, adirW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, adirW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afileW, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afileW);
         ILFree(pidl);
     }
 
     hres = IShellFolder_ParseDisplayName(psf, NULL, pbc, afile2W, NULL, &pidl, NULL);
-    ok(hres == S_OK, "ParseDisplayName failed: 0x%08x\n", hres);
+    ok(hres == S_OK, "ParseDisplayName failed: 0x%08lx\n", hres);
     if(SUCCEEDED(hres)){
         verify_pidl(pidl, afile2W);
         ILFree(pidl);
@@ -4910,7 +4910,7 @@ static LRESULT CALLBACK testwindow_wndproc(HWND hwnd, UINT msg, WPARAM wparam, L
             }
 
             ok(exp_data->signal == signal,
-                    "%s: expected notification type %x, got: %x\n",
+                    "%s: expected notification type %x, got: %lx\n",
                     exp_data->id, exp_data->signal, signal);
 
             trace("verifying pidls for: %s\n", exp_data->id);
@@ -4926,7 +4926,7 @@ static LRESULT CALLBACK testwindow_wndproc(HWND hwnd, UINT msg, WPARAM wparam, L
             if(test_new_delivery_flag)
                 SHChangeNotification_Unlock(hLock);
         }else
-            ok(0, "Didn't expect a WM_USER_NOTIFY message (event: %x)\n", signal);
+            ok(0, "Didn't expect a WM_USER_NOTIFY message (event: %lx)\n", signal);
         return 0;
     }
     return DefWindowProcA(hwnd, msg, wparam, lparam);
@@ -4946,7 +4946,7 @@ static void register_testwindow_class(void)
 
     SetLastError(0);
     ret = RegisterClassExA(&cls);
-    ok(ret != 0, "RegisterClassExA failed: %d\n", GetLastError());
+    ok(ret != 0, "RegisterClassExA failed: %ld\n", GetLastError());
 }
 
 /* SHCNF_FLUSH doesn't seem to work as advertised for SHCNF_PATHA, so we
@@ -4991,14 +4991,14 @@ static void test_SHChangeNotify(BOOL test_new_delivery)
     ok(wnd != NULL, "Failed to make a window\n");
 
     br = CreateDirectoryA(root_dirA, NULL);
-    ok(br == TRUE, "CreateDirectory failed: %d\n", GetLastError());
+    ok(br == TRUE, "CreateDirectory failed: %ld\n", GetLastError());
 
     entries[0].pidl = NULL;
     if(has_unicode)
         hr = SHILCreateFromPath(root_dirW, (LPITEMIDLIST*)&entries[0].pidl, 0);
     else
         hr = SHILCreateFromPath((const void *)root_dirA, (LPITEMIDLIST*)&entries[0].pidl, 0);
-    ok(hr == S_OK, "SHILCreateFromPath failed: 0x%08x\n", hr);
+    ok(hr == S_OK, "SHILCreateFromPath failed: 0x%08lx\n", hr);
     entries[0].fRecursive = TRUE;
 
     notifyID = SHChangeNotifyRegister(wnd, !test_new_delivery ? SHCNRF_ShellLevel : SHCNRF_ShellLevel|SHCNRF_NewDelivery,
@@ -5037,7 +5037,7 @@ static void test_SHChangeNotify(BOOL test_new_delivery)
 
     ILFree((LPITEMIDLIST)entries[0].pidl);
     br = RemoveDirectoryA(root_dirA);
-    ok(br == TRUE, "RemoveDirectory failed: %d\n", GetLastError());
+    ok(br == TRUE, "RemoveDirectory failed: %ld\n", GetLastError());
 }
 
 static void test_SHCreateDefaultContextMenu(void)
@@ -5072,11 +5072,11 @@ static void test_SHCreateDefaultContextMenu(void)
     CreateFilesFolders();
 
     hr = IShellFolder_ParseDisplayName(desktop, NULL, NULL, path, NULL, &pidl, 0);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = SHBindToParent(pidl, &IID_IShellFolder, (void **)&folder, (const ITEMIDLIST **)&pidl_child);
-        ok(hr == S_OK, "Got 0x%08x\n", hr);
+        ok(hr == S_OK, "Got 0x%08lx\n", hr);
 
         IShellFolder_QueryInterface(folder,&IID_IPersistFolder2,(void**)&persist);
         IPersistFolder2_GetCurFolder(persist,&pidlFolder);
@@ -5094,13 +5094,13 @@ static void test_SHCreateDefaultContextMenu(void)
             cminfo.punkAssociationInfo=NULL;
 
             hr = pSHCreateDefaultContextMenu(&cminfo,&IID_IContextMenu,(void**)&cmenu);
-            ok(hr==S_OK,"Got 0x%08x\n", hr);
+            ok(hr==S_OK,"Got 0x%08lx\n", hr);
             test_contextmenu_qi(cmenu, TRUE);
             IContextMenu_Release(cmenu);
 
             cminfo.pidlFolder=pidlFolder;
             hr = pSHCreateDefaultContextMenu(&cminfo,&IID_IContextMenu,(void**)&cmenu);
-            ok(hr==S_OK,"Got 0x%08x\n", hr);
+            ok(hr==S_OK,"Got 0x%08lx\n", hr);
             test_contextmenu_qi(cmenu, TRUE);
             IContextMenu_Release(cmenu);
 
@@ -5112,7 +5112,7 @@ static void test_SHCreateDefaultContextMenu(void)
                 cminfo.cKeys=16;
                 hr = pSHCreateDefaultContextMenu(&cminfo,&IID_IContextMenu,(void**)&cmenu);
                 RegCloseKey(keys[0]);
-                ok(hr==S_OK,"Got 0x%08x\n", hr);
+                ok(hr==S_OK,"Got 0x%08lx\n", hr);
                 IContextMenu_Release(cmenu);
             }
         }
@@ -5139,7 +5139,7 @@ static void test_DataObject(void)
 
     hres = IShellFolder_EnumObjects(desktop, NULL,
             SHCONTF_NONFOLDERS|SHCONTF_FOLDERS|SHCONTF_INCLUDEHIDDEN, &peidl);
-    ok(hres == S_OK, "got %x\n", hres);
+    ok(hres == S_OK, "got %lx\n", hres);
 
     if(IEnumIDList_Next(peidl, 1, &apidl, NULL) != S_OK) {
         skip("no files on desktop - skipping GetDataObject tests\n");
@@ -5151,7 +5151,7 @@ static void test_DataObject(void)
 
     hres = IShellFolder_GetUIObjectOf(desktop, NULL, 1, (LPCITEMIDLIST*)&apidl,
             &IID_IDataObject, NULL, (void**)&data_obj);
-    ok(hres == S_OK, "got %x\n", hres);
+    ok(hres == S_OK, "got %lx\n", hres);
     ILFree(apidl);
     IShellFolder_Release(desktop);
 
@@ -5162,20 +5162,20 @@ static void test_DataObject(void)
     fmt.lindex = -1;
     fmt.tymed = TYMED_HGLOBAL;
     hres = IDataObject_QueryGetData(data_obj, &fmt);
-    ok(hres == S_OK, "got %x\n", hres);
+    ok(hres == S_OK, "got %lx\n", hres);
 
     fmt.tymed = TYMED_HGLOBAL | TYMED_ISTREAM;
     hres = IDataObject_QueryGetData(data_obj, &fmt);
-    ok(hres == S_OK, "got %x\n", hres);
+    ok(hres == S_OK, "got %lx\n", hres);
 
     fmt.tymed = TYMED_ISTREAM;
     hres = IDataObject_QueryGetData(data_obj, &fmt);
-    todo_wine ok(hres == S_FALSE, "got %x\n", hres);
+    todo_wine ok(hres == S_FALSE, "got %lx\n", hres);
 
     fmt.tymed = TYMED_HGLOBAL | TYMED_ISTREAM;
     hres = IDataObject_GetData(data_obj, &fmt, &medium);
-    ok(hres == S_OK, "got %x\n", hres);
-    ok(medium.tymed == TYMED_HGLOBAL, "medium.tymed = %x\n", medium.tymed);
+    ok(hres == S_OK, "got %lx\n", hres);
+    ok(medium.tymed == TYMED_HGLOBAL, "medium.tymed = %lx\n", medium.tymed);
     ReleaseStgMedium(&medium);
 
     IDataObject_Release(data_obj);
@@ -5206,26 +5206,26 @@ static void test_GetDefaultColumn(void)
         hr = CoCreateInstance(folders[i], NULL, CLSCTX_INPROC_SERVER, &IID_IShellFolder2, (void **)&folder);
         if (hr != S_OK)
         {
-            win_skip("Failed to create folder %s, hr %#x.\n", wine_dbgstr_guid(folders[i]), hr);
+            win_skip("Failed to create folder %s, hr %#lx.\n", wine_dbgstr_guid(folders[i]), hr);
             continue;
         }
 
         hr = IShellFolder2_GetDefaultColumn(folder, 0, NULL, NULL);
-        ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
 
         sort = display = 123;
         hr = IShellFolder2_GetDefaultColumn(folder, 0, &sort, &display);
-        ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
         ok(sort == 123 && display == 123, "Unexpected default column.\n");
 
         display = 123;
         hr = IShellFolder2_GetDefaultColumn(folder, 0, NULL, &display);
-        ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
         ok(display == 123, "Unexpected default column.\n");
 
         sort = 123;
         hr = IShellFolder2_GetDefaultColumn(folder, 0, &sort, NULL);
-        ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+        ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
         ok(sort == 123, "Unexpected default column.\n");
 
         IShellFolder2_Release(folder);
@@ -5259,7 +5259,7 @@ static void test_GetDefaultSearchGUID(void)
         hr = CoCreateInstance(folders[i], NULL, CLSCTX_INPROC_SERVER, &IID_IShellFolder2, (void **)&folder);
         if (hr != S_OK)
         {
-            win_skip("Failed to create folder %s, hr %#x.\n", wine_dbgstr_guid(folders[i]), hr);
+            win_skip("Failed to create folder %s, hr %#lx.\n", wine_dbgstr_guid(folders[i]), hr);
             continue;
         }
 
@@ -5267,12 +5267,12 @@ static void test_GetDefaultSearchGUID(void)
         {
             /* crashes on XP */
             hr = IShellFolder2_GetDefaultSearchGUID(folder, NULL);
-            ok(hr == E_NOTIMPL, "Unexpected hr %#x.\n", hr);
+            ok(hr == E_NOTIMPL, "Unexpected hr %#lx.\n", hr);
         }
 
         memcpy(&guid, &CLSID_MyComputer, sizeof(guid));
         hr = IShellFolder2_GetDefaultSearchGUID(folder, &guid);
-        ok(hr == E_NOTIMPL || broken(hr == S_OK) /* Method was last supported on XP */, "Unexpected hr %#x.\n", hr);
+        ok(hr == E_NOTIMPL || broken(hr == S_OK) /* Method was last supported on XP */, "Unexpected hr %#lx.\n", hr);
         if (hr == E_NOTIMPL)
             ok(IsEqualGUID(&guid, &CLSID_MyComputer), "Unexpected guid %s.\n", wine_dbgstr_guid(&guid));
 
@@ -5289,22 +5289,22 @@ static void test_SHLimitInputEdit(void)
     HWND hwnd;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "Failed to get desktop folder, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get desktop folder, hr %#lx.\n", hr);
 
     hr = SHLimitInputEdit(NULL, desktop);
     todo_wine
-    ok(hr == E_FAIL, "Unexpected hr %#x.\n", hr);
+    ok(hr == E_FAIL, "Unexpected hr %#lx.\n", hr);
 
     hwnd = CreateWindowA("EDIT", NULL, WS_VISIBLE, 0, 0, 100, 30, NULL, NULL, NULL, NULL);
     ok(hwnd != NULL, "Failed to create Edit control.\n");
 
     hr = SHLimitInputEdit(hwnd, desktop);
     todo_wine
-    ok(hr == S_OK, "Failed to set input limits, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to set input limits, hr %#lx.\n", hr);
 
     hr = SHLimitInputEdit(hwnd, desktop);
     todo_wine
-    ok(hr == S_OK, "Failed to set input limits, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to set input limits, hr %#lx.\n", hr);
 
     DestroyWindow(hwnd);
     IShellFolder_Release(desktop);
@@ -5340,7 +5340,7 @@ static void test_SHGetSetFolderCustomSettings(void)
     fcs.pszIconFile = iconpathW;
 
     hr = pSHGetSetFolderCustomSettings(&fcs, pathW, FCS_FORCEWRITE); /*creates and writes to a Desktop.ini*/
-    ok(hr == S_OK, "Expected S_OK, got %#x\n", hr);
+    ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
 
     memset(&fcs, 0, sizeof(fcs));
     fcs.dwSize = sizeof(fcs);
@@ -5350,11 +5350,11 @@ static void test_SHGetSetFolderCustomSettings(void)
     bufferW[0] = 0;
 
     hr = pSHGetSetFolderCustomSettings(&fcs, pathW, FCS_READ);
-    todo_wine ok(hr == S_OK, "Expected S_OK, got %#x\n", hr);
+    todo_wine ok(hr == S_OK, "Expected S_OK, got %#lx\n", hr);
     todo_wine ok(!lstrcmpiW(iconpathW, fcs.pszIconFile), "Expected %s, got %s\n", wine_dbgstr_w(iconpathW), wine_dbgstr_w(fcs.pszIconFile));
 
     hr = pSHGetSetFolderCustomSettings(&fcs, NULL, FCS_READ);
-    ok(FAILED(hr), "Unexpected hr %#x.\n", hr);
+    ok(FAILED(hr), "Unexpected hr %#lx.\n", hr);
 
     lstrcpyW(bufferW, pathW);
     lstrcatW(bufferW, desktop_iniW);
diff --git a/dlls/shell32/tests/shlview.c b/dlls/shell32/tests/shlview.c
index 48ba72a4c0e..b405a84bc19 100644
--- a/dlls/shell32/tests/shlview.c
+++ b/dlls/shell32/tests/shlview.c
@@ -633,13 +633,13 @@ static void test_CreateViewWindow(void)
     IUnknown *unk;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_CDefView, (void **)&unk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(unk == (IUnknown *)view, "got %p\n", unk);
     IUnknown_Release(unk);
 
@@ -653,51 +653,51 @@ if (0)
     settings.fFlags = 0;
     hwnd_view = (HWND)0xdeadbeef;
     hr = IShellView_CreateViewWindow(view, NULL, &settings, NULL, NULL, &hwnd_view);
-    ok(hr == E_UNEXPECTED, "got (0x%08x)\n", hr);
+    ok(hr == E_UNEXPECTED, "got (0x%08lx)\n", hr);
     ok(hwnd_view == 0, "got %p\n", hwnd_view);
 
     hwnd_view = (HWND)0xdeadbeef;
     hr = IShellView_CreateViewWindow(view, NULL, &settings, NULL, &r, &hwnd_view);
-    ok(hr == E_UNEXPECTED, "got (0x%08x)\n", hr);
+    ok(hr == E_UNEXPECTED, "got (0x%08lx)\n", hr);
     ok(hwnd_view == 0, "got %p\n", hwnd_view);
 
     hwnd_view = NULL;
     hr = IShellView_CreateViewWindow(view, NULL, &settings, &test_shellbrowser, &r, &hwnd_view);
-    ok(hr == S_OK || broken(hr == S_FALSE), "got (0x%08x)\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE), "got (0x%08lx)\n", hr);
     ok(hwnd_view != 0, "got %p\n", hwnd_view);
 
     hwnd2 = (HWND)0xdeadbeef;
     hr = IShellView_CreateViewWindow(view, NULL, &settings, &test_shellbrowser, &r, &hwnd2);
-    ok(hr == E_UNEXPECTED, "got (0x%08x)\n", hr);
+    ok(hr == E_UNEXPECTED, "got (0x%08lx)\n", hr);
     ok(hwnd2 == NULL, "got %p\n", hwnd2);
 
     /* ::DragLeave without drag operation */
     hr = IShellView_QueryInterface(view, &IID_IDropTarget, (void**)&dt);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     hr = IDropTarget_DragLeave(dt);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IDropTarget_Release(dt);
 
     IShellView_AddRef(view);
     ref1 = IShellView_Release(view);
     hr = IShellView_DestroyViewWindow(view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(!IsWindow(hwnd_view), "hwnd %p still valid\n", hwnd_view);
     ref2 = IShellView_Release(view);
-    ok(ref1 > ref2, "expected %u > %u\n", ref1, ref2);
+    ok(ref1 > ref2, "expected %lu > %lu\n", ref1, ref2);
     ref1 = ref2;
 
     /* Show that releasing the shell view does not destroy the window */
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     hwnd_view = NULL;
     hr = IShellView_CreateViewWindow(view, NULL, &settings, &test_shellbrowser, &r, &hwnd_view);
-    ok(hr == S_OK || broken(hr == S_FALSE), "got (0x%08x)\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE), "got (0x%08lx)\n", hr);
     ok(hwnd_view != NULL, "got %p\n", hwnd_view);
     ok(IsWindow(hwnd_view), "hwnd %p still valid\n", hwnd_view);
     ref2 = IShellView_Release(view);
-    ok(ref2 != 0, "ref2 = %u\n", ref2);
-    ok(ref2 > ref1, "expected %u > %u\n", ref2, ref1);
+    ok(ref2 != 0, "ref2 = %lu\n", ref2);
+    ok(ref2 > ref1, "expected %lu > %lu\n", ref2, ref1);
     ok(IsWindow(hwnd_view), "hwnd %p still valid\n", hwnd_view);
     DestroyWindow(hwnd_view);
 
@@ -721,10 +721,10 @@ static void test_IFolderView(void)
     RECT r;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_IFolderView, (void**)&fv);
     if (hr != S_OK)
@@ -737,11 +737,11 @@ static void test_IFolderView(void)
 
     /* call methods before window creation */
     hr = IFolderView_GetSpacing(fv, NULL);
-    ok(hr == S_FALSE || broken(hr == S_OK) /* win7 */, "got (0x%08x)\n", hr);
+    ok(hr == S_FALSE || broken(hr == S_OK) /* win7 */, "got (0x%08lx)\n", hr);
 
     pidl = (void*)0xdeadbeef;
     hr = IFolderView_Item(fv, 0, &pidl);
-    ok(hr == E_INVALIDARG || broken(hr == E_FAIL) /* < Vista */, "got (0x%08x)\n", hr);
+    ok(hr == E_INVALIDARG || broken(hr == E_FAIL) /* < Vista */, "got (0x%08lx)\n", hr);
     ok(pidl == 0 || broken(pidl == (void*)0xdeadbeef) /* < Vista */, "got %p\n", pidl);
 
 if (0)
@@ -764,7 +764,7 @@ if (0)
     hwnd_view = (HWND)0xdeadbeef;
     SetRect(&r, 0, 0, 100, 100);
     hr = IShellView_CreateViewWindow(view, NULL, &settings, browser, &r, &hwnd_view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(IsWindow(hwnd_view), "got %p\n", hwnd_view);
 
     hwnd_list = subclass_listview(hwnd_view);
@@ -781,18 +781,18 @@ if (0)
     /* IFolderView::GetSpacing */
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
     hr = IFolderView_GetSpacing(fv, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok_sequence(sequences, LISTVIEW_SEQ_INDEX, empty_seq, "IFolderView::GetSpacing, empty", FALSE);
 
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
     hr = IFolderView_GetSpacing(fv, &pt);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     /* fails with empty sequence on win7 for unknown reason */
     if (sequences[LISTVIEW_SEQ_INDEX]->count)
     {
         ok_sequence(sequences, LISTVIEW_SEQ_INDEX, folderview_getspacing_seq, "IFolderView::GetSpacing", FALSE);
-        ok(pt.x > 0, "got %d\n", pt.x);
-        ok(pt.y > 0, "got %d\n", pt.y);
+        ok(pt.x > 0, "got %ld\n", pt.x);
+        ok(pt.y > 0, "got %ld\n", pt.y);
         ret = SendMessageA(hwnd_list, LVM_GETITEMSPACING, 0, 0);
         ok(pt.x == LOWORD(ret) && pt.y == HIWORD(ret), "got (%d, %d)\n", LOWORD(ret), HIWORD(ret));
     }
@@ -817,9 +817,9 @@ if (0)
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
     hr = IFolderView_GetSelectionMarkedItem(fv, &ret);
     if (count)
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     else
-        ok(hr == S_FALSE, "got (0x%08x)\n", hr);
+        ok(hr == S_FALSE, "got (0x%08lx)\n", hr);
     ok_sequence(sequences, LISTVIEW_SEQ_INDEX, folderview_getselectionmarked_seq,
                 "IFolderView::GetSelectionMarkedItem", FALSE);
 
@@ -827,9 +827,9 @@ if (0)
     flush_sequences(sequences, NUM_MSG_SEQUENCES);
     hr = IFolderView_GetFocusedItem(fv, &ret);
     if (count)
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
     else
-        ok(hr == S_FALSE, "got (0x%08x)\n", hr);
+        ok(hr == S_FALSE, "got (0x%08lx)\n", hr);
     ok_sequence(sequences, LISTVIEW_SEQ_INDEX, folderview_getfocused_seq,
                 "IFolderView::GetFocusedItem", FALSE);
 
@@ -842,15 +842,15 @@ if (0)
 }
 
     hr = IFolderView_GetFolder(fv, &IID_IShellFolder, NULL);
-    ok(hr == E_POINTER, "got (0x%08x)\n", hr);
+    ok(hr == E_POINTER, "got (0x%08lx)\n", hr);
 
     hr = IFolderView_GetFolder(fv, &IID_IShellFolder, (void**)&folder);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(desktop == folder, "\n");
     if (folder) IShellFolder_Release(folder);
 
     hr = IFolderView_GetFolder(fv, &IID_IUnknown, (void**)&unk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     if (unk) IUnknown_Release(unk);
 
     hr = IFolderView_QueryInterface(fv, &IID_IFolderView2, (void**)&fv2);
@@ -859,7 +859,7 @@ if (0)
     if (fv2) IFolderView2_Release(fv2);
 
     hr = IShellView_DestroyViewWindow(view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(!IsWindow(hwnd_view), "hwnd %p still valid\n", hwnd_view);
 
     IShellBrowser_Release(browser);
@@ -876,30 +876,30 @@ static void test_GetItemObject(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     /* from documentation three interfaces are supported for SVGIO_BACKGROUND:
        IContextMenu, IDispatch, IPersistHistory */
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IContextMenu, (void**)&unk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     IUnknown_Release(unk);
 
     unk = NULL;
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IDispatch, (void**)&unk);
-    ok(hr == S_OK || broken(hr == E_NOTIMPL) /* NT4 */, "got (0x%08x)\n", hr);
+    ok(hr == S_OK || broken(hr == E_NOTIMPL) /* NT4 */, "got (0x%08lx)\n", hr);
     if (unk) IUnknown_Release(unk);
 
     unk = NULL;
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IPersistHistory, (void**)&unk);
-    todo_wine ok(hr == S_OK || broken(hr == E_NOTIMPL) /* W9x, NT4 */, "got (0x%08x)\n", hr);
+    todo_wine ok(hr == S_OK || broken(hr == E_NOTIMPL) /* W9x, NT4 */, "got (0x%08lx)\n", hr);
     if (unk) IUnknown_Release(unk);
 
     /* example of unsupported interface, base for IPersistHistory */
     hr = IShellView_GetItemObject(view, SVGIO_BACKGROUND, &IID_IPersist, (void**)&unk);
-    ok(hr == E_NOINTERFACE || broken(hr == E_NOTIMPL) /* W2K */, "got (0x%08x)\n", hr);
+    ok(hr == E_NOINTERFACE || broken(hr == E_NOTIMPL) /* W2K */, "got (0x%08lx)\n", hr);
 
     IShellView_Release(view);
     IShellFolder_Release(desktop);
@@ -915,10 +915,10 @@ static void test_IShellFolderView(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_IShellFolderView, (void**)&folderview);
     if (hr != S_OK)
@@ -932,25 +932,25 @@ static void test_IShellFolderView(void)
     /* ::MoveIcons */
     obj = IDataObjectImpl_Construct();
     hr = IShellFolderView_MoveIcons(folderview, obj);
-    ok(hr == E_NOTIMPL || broken(hr == S_OK) /* W98 */, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL || broken(hr == S_OK) /* W98 */, "got (0x%08lx)\n", hr);
     IDataObject_Release(obj);
 
     /* ::SetRedraw without list created */
     hr = IShellFolderView_SetRedraw(folderview, TRUE);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     /* ::QuerySupport */
     hr = IShellFolderView_QuerySupport(folderview, NULL);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     i = 0xdeadbeef;
     hr = IShellFolderView_QuerySupport(folderview, &i);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(i == 0xdeadbeef, "got %d\n", i);
 
     /* ::RemoveObject */
     i = 0xdeadbeef;
     hr = IShellFolderView_RemoveObject(folderview, NULL, &i);
-    ok(hr == S_OK || hr == E_FAIL, "got (0x%08x)\n", hr);
+    ok(hr == S_OK || hr == E_FAIL, "got (0x%08lx)\n", hr);
     if (hr == S_OK) ok(i == 0 || broken(i == 0xdeadbeef) /* Vista, 2k8 */,
                        "got %d\n", i);
 
@@ -968,19 +968,19 @@ static void test_IOleWindow(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&view);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellView_QueryInterface(view, &IID_IOleWindow, (void**)&wnd);
-    ok(hr == E_NOINTERFACE, "got (0x%08x)\n", hr);
+    ok(hr == E_NOINTERFACE, "got (0x%08lx)\n", hr);
 
     /* IShellView::ContextSensitiveHelp */
     hr = IShellView_ContextSensitiveHelp(view, TRUE);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
     hr = IShellView_ContextSensitiveHelp(view, FALSE);
-    ok(hr == E_NOTIMPL, "got (0x%08x)\n", hr);
+    ok(hr == E_NOTIMPL, "got (0x%08lx)\n", hr);
 
     IShellView_Release(view);
     IShellFolder_Release(desktop);
@@ -1090,19 +1090,19 @@ static void test_GetSetCurrentViewMode(void)
     static const int win7_res[11] = {1, 1, 1, 3, 4, 1, 6, 1, 8, 8, 8};
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(desktop, NULL, &IID_IShellView, (void**)&sview);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     fs.ViewMode = 1;
     fs.fFlags = 0;
     browser = IShellBrowserImpl_Construct();
     hr = IShellView_CreateViewWindow(sview, NULL, &fs, browser, &rc, &hwnd);
-    ok(hr == S_OK || broken(hr == S_FALSE /*Win2k*/ ), "got (0x%08x)\n", hr);
+    ok(hr == S_OK || broken(hr == S_FALSE /*Win2k*/ ), "got (0x%08lx)\n", hr);
 
     hr = IShellView_QueryInterface(sview, &IID_IFolderView, (void**)&fview);
-    ok(hr == S_OK || broken(hr == E_NOINTERFACE), "got (0x%08x)\n", hr);
+    ok(hr == S_OK || broken(hr == E_NOINTERFACE), "got (0x%08lx)\n", hr);
     if(SUCCEEDED(hr))
     {
         HWND hwnd_lv;
@@ -1115,27 +1115,27 @@ static void test_GetSetCurrentViewMode(void)
         }
 
         hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
         ok(viewmode == 1, "ViewMode was %d\n", viewmode);
 
         hr = IFolderView_SetCurrentViewMode(fview, FVM_AUTO);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         hr = IFolderView_SetCurrentViewMode(fview, 0);
         ok(hr == E_INVALIDARG || broken(hr == S_OK),
-           "got (0x%08x)\n", hr);
+           "got (0x%08lx)\n", hr);
 
         hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
-        ok(hr == S_OK, "got (0x%08x)\n", hr);
+        ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
         for(i = 1; i < 9; i++)
         {
             hr = IFolderView_SetCurrentViewMode(fview, i);
             ok(hr == S_OK || (i == 8 && hr == E_INVALIDARG /*Vista*/),
-               "(%d) got (0x%08x)\n", i, hr);
+               "(%d) got (0x%08lx)\n", i, hr);
 
             hr = IFolderView_GetCurrentViewMode(fview, &viewmode);
-            ok(hr == S_OK, "(%d) got (0x%08x)\n", i, hr);
+            ok(hr == S_OK, "(%d) got (0x%08lx)\n", i, hr);
 
             /* Wine currently behaves like winxp here. */
             ok((viewmode == win7_res[i]) || (viewmode == vista_res[i]) ||
@@ -1145,7 +1145,7 @@ static void test_GetSetCurrentViewMode(void)
 
         hr = IFolderView_SetCurrentViewMode(fview, 9);
         ok(hr == E_INVALIDARG || broken(hr == S_OK),
-           "got (0x%08x)\n", hr);
+           "got (0x%08lx)\n", hr);
 
         /* Test messages */
         hwnd_lv = subclass_listview(hwnd);
@@ -1164,7 +1164,7 @@ static void test_GetSetCurrentViewMode(void)
 
             flush_sequences(sequences, NUM_MSG_SEQUENCES);
             hr = IFolderView_SetCurrentViewMode(fview, 1);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
 
             /* WM_SETREDRAW is not sent in versions before Vista. */
             vista_plus = get_msg_count(sequences, LISTVIEW_SEQ_INDEX, WM_SETREDRAW);
@@ -1175,7 +1175,7 @@ static void test_GetSetCurrentViewMode(void)
                             "IFolderView::SetCurrentViewMode(1)", TRUE);
 
             hr = IFolderView_SetCurrentViewMode(fview, 2);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             if(vista_plus)
                 verify_msgs_in(sequences[LISTVIEW_SEQ_INDEX], vista_plus_msgs);
             else
@@ -1183,7 +1183,7 @@ static void test_GetSetCurrentViewMode(void)
                             "IFolderView::SetCurrentViewMode(2)", TRUE);
 
             hr = IFolderView_SetCurrentViewMode(fview, 3);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             if(vista_plus)
                 verify_msgs_in(sequences[LISTVIEW_SEQ_INDEX], vista_plus_msgs);
             else
@@ -1191,7 +1191,7 @@ static void test_GetSetCurrentViewMode(void)
                             "IFolderView::SetCurrentViewMode(3)", TRUE);
 
             hr = IFolderView_SetCurrentViewMode(fview, 4);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             if(vista_plus)
                 verify_msgs_in(sequences[LISTVIEW_SEQ_INDEX], vista_plus_msgs);
             else
@@ -1199,7 +1199,7 @@ static void test_GetSetCurrentViewMode(void)
                             "IFolderView::SetCurrentViewMode(4)", TRUE);
 
             hr = IFolderView_SetCurrentViewMode(fview, 5);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             todo_wine
             {
                 if(vista_plus)
@@ -1217,7 +1217,7 @@ static void test_GetSetCurrentViewMode(void)
             }
 
             hr = IFolderView_SetCurrentViewMode(fview, 6);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             todo_wine
             {
                 if(vista_plus)
@@ -1235,7 +1235,7 @@ static void test_GetSetCurrentViewMode(void)
             }
 
             hr = IFolderView_SetCurrentViewMode(fview, 7);
-            ok(hr == S_OK, "got 0x%08x\n", hr);
+            ok(hr == S_OK, "got 0x%08lx\n", hr);
             todo_wine
             {
                 if(vista_plus)
@@ -1253,7 +1253,7 @@ static void test_GetSetCurrentViewMode(void)
             }
 
             hr = IFolderView_SetCurrentViewMode(fview, 8);
-            ok(hr == S_OK || broken(hr == E_INVALIDARG /* Vista */), "got 0x%08x\n", hr);
+            ok(hr == S_OK || broken(hr == E_INVALIDARG /* Vista */), "got 0x%08lx\n", hr);
             todo_wine
             {
                 if(vista_plus)
@@ -1297,31 +1297,31 @@ static void test_IOleCommandTarget(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&psf_desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     hr = IShellFolder_CreateViewObject(psf_desktop, NULL, &IID_IShellView, (void**)&psv);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     if(SUCCEEDED(hr))
     {
         hr = IShellView_QueryInterface(psv, &IID_IOleCommandTarget, (void**)&poct);
-        ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Win95/NT4 */, "Got 0x%08x\n", hr);
+        ok(hr == S_OK || broken(hr == E_NOINTERFACE) /* Win95/NT4 */, "Got 0x%08lx\n", hr);
         if(SUCCEEDED(hr))
         {
             OLECMD oc;
 
             hr = IOleCommandTarget_QueryStatus(poct, NULL, 0, NULL, NULL);
-            ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+            ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
 
             oc.cmdID = 1;
             hr = IOleCommandTarget_QueryStatus(poct, NULL, 0, &oc, NULL);
-            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08x\n", hr);
+            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08lx\n", hr);
 
             oc.cmdID = 1;
             hr = IOleCommandTarget_QueryStatus(poct, NULL, 1, &oc, NULL);
-            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08x\n", hr);
+            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08lx\n", hr);
 
             hr = IOleCommandTarget_Exec(poct, NULL, 0, 0, NULL, NULL);
-            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08x\n", hr);
+            ok(hr == OLECMDERR_E_UNKNOWNGROUP, "Got 0x%08lx\n", hr);
 
             IOleCommandTarget_Release(poct);
         }
@@ -1342,7 +1342,7 @@ static void test_SHCreateShellFolderView(void)
     HRESULT hr;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     if (0)
     {
@@ -1352,27 +1352,27 @@ static void test_SHCreateShellFolderView(void)
 
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(NULL, &psv);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 
     memset(&sfvc, 0, sizeof(sfvc));
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 
     memset(&sfvc, 0, sizeof(sfvc));
     sfvc.cbSize = sizeof(sfvc) - 1;
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 
     memset(&sfvc, 0, sizeof(sfvc));
     sfvc.cbSize = sizeof(sfvc) + 1;
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 
 if (0)
@@ -1382,7 +1382,7 @@ if (0)
     sfvc.cbSize = sizeof(sfvc);
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == E_UNEXPECTED, "Got 0x%08x\n", hr);
+    ok(hr == E_UNEXPECTED, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 }
     memset(&sfvc, 0, sizeof(sfvc));
@@ -1390,7 +1390,7 @@ if (0)
     sfvc.pshf = desktop;
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == E_INVALIDARG, "Got 0x%08x\n", hr);
+    ok(hr == E_INVALIDARG, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 
     memset(&sfvc, 0, sizeof(sfvc));
@@ -1398,16 +1398,16 @@ if (0)
     sfvc.pshf = desktop;
     psv = NULL;
     hr = SHCreateShellFolderView(&sfvc, &psv);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(psv != NULL, "psv = %p\n", psv);
 
     hr = IShellView_QueryInterface(psv, &IID_CDefView, (void **)&unk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(unk == (IUnknown *)psv, "got %p\n", unk);
     IUnknown_Release(unk);
 
     refCount = IShellView_Release(psv);
-    ok(refCount == 0, "refCount = %u\n", refCount);
+    ok(refCount == 0, "refCount = %lu\n", refCount);
 
     IShellFolder_Release(desktop);
 }
@@ -1422,7 +1422,7 @@ static void test_SHCreateShellFolderViewEx(void)
     CSFV csfv;
 
     hr = SHGetDesktopFolder(&desktop);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
 
     if (0)
     {
@@ -1436,16 +1436,16 @@ static void test_SHCreateShellFolderViewEx(void)
     csfv.pshf = desktop;
     psv = NULL;
     hr = SHCreateShellFolderViewEx(&csfv, &psv);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(psv != NULL, "psv = %p\n", psv);
 
     hr = IShellView_QueryInterface(psv, &IID_CDefView, (void **)&unk);
-    ok(hr == S_OK, "got (0x%08x)\n", hr);
+    ok(hr == S_OK, "got (0x%08lx)\n", hr);
     ok(unk == (IUnknown *)psv, "got %p\n", unk);
     IUnknown_Release(unk);
 
     refCount = IShellView_Release(psv);
-    ok(refCount == 0, "refCount = %u\n", refCount);
+    ok(refCount == 0, "refCount = %lu\n", refCount);
 
 if (0)
 {
@@ -1454,7 +1454,7 @@ if (0)
     csfv.pshf = NULL;
     psv = (void *)0xdeadbeef;
     hr = SHCreateShellFolderViewEx(&csfv, &psv);
-    ok(hr == E_UNEXPECTED, "Got 0x%08x\n", hr);
+    ok(hr == E_UNEXPECTED, "Got 0x%08lx\n", hr);
     ok(psv == NULL, "psv = %p\n", psv);
 }
     memset(&csfv, 0, sizeof(csfv));
@@ -1462,12 +1462,12 @@ if (0)
     csfv.pshf = desktop;
     psv = NULL;
     hr = SHCreateShellFolderViewEx(&csfv, &psv);
-    ok(hr == S_OK, "Got 0x%08x\n", hr);
+    ok(hr == S_OK, "Got 0x%08lx\n", hr);
     ok(psv != NULL, "psv = %p\n", psv);
     if (psv)
     {
         refCount = IShellView_Release(psv);
-        ok(refCount == 0, "refCount = %u\n", refCount);
+        ok(refCount == 0, "refCount = %lu\n", refCount);
     }
 
     IShellFolder_Release(desktop);
@@ -1480,7 +1480,7 @@ static void test_newmenu(void)
 
     hr = CoCreateInstance(&CLSID_NewMenu, NULL, CLSCTX_INPROC_SERVER, &IID_IUnknown, (void **)&unk);
     todo_wine
-    ok(hr == S_OK, "Failed to create NewMenu object, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to create NewMenu object, hr %#lx.\n", hr);
     if (hr != S_OK)
     {
         skip("NewMenu is not supported.\n");
@@ -1488,15 +1488,15 @@ static void test_newmenu(void)
     }
 
     hr = IUnknown_QueryInterface(unk, &IID_IShellExtInit, (void **)&unk2);
-    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get IShellExtInit, hr %#lx.\n", hr);
     IUnknown_Release(unk2);
 
     hr = IUnknown_QueryInterface(unk, &IID_IContextMenu3, (void **)&unk2);
-    ok(hr == S_OK, "Failed to get IContextMenu3, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get IContextMenu3, hr %#lx.\n", hr);
     IUnknown_Release(unk2);
 
     hr = IUnknown_QueryInterface(unk, &IID_IObjectWithSite, (void **)&unk2);
-    ok(hr == S_OK, "Failed to get IObjectWithSite, hr %#x.\n", hr);
+    ok(hr == S_OK, "Failed to get IObjectWithSite, hr %#lx.\n", hr);
     IUnknown_Release(unk2);
 
     IUnknown_Release(unk);




More information about the wine-devel mailing list