With a bit of searching i found the following below*** makes the tests pass on 64-bit testbots.
I`ll send tests for review then, but note that there are still 12 failures in win2003, but they also appear when you send a NOOP to testbot like here below *****.
So I guess that`s not due to the test i added.


*****: this causes 12 failures on win2003:
diff --git a/dlls/shell32/tests/shlfolder.c b/dlls/shell32/tests/shlfolder.c
index c976c85..aba60d0 100644
--- a/dlls/shell32/tests/shlfolder.c
+++ b/dlls/shell32/tests/shlfolder.c
@@ -3944,7 +3944,7 @@ static void test_ShellItemBindToHandler(void)
 
             /* 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 test 0x%08x\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);




***:this makes test pass on 64bot
diff --git a/include/shlobj.h b/include/shlobj.h
index 9d6dcdd..d66e0eb 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -1472,6 +1472,8 @@ int WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
 int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
 #define    SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
 
+#include <pshpack8.h>
+
 /****************************************************************************
 * SHGetSetFolderCustomSettings API
 */
@@ -1510,6 +1512,7 @@ typedef struct {
 
 HRESULT WINAPI SHGetSetFolderCustomSettings(LPSHFOLDERCUSTOMSETTINGS pfcs, PCWSTR pszPath, DWORD dwReadWrite);
 
+#include <poppack.h>
 /****************************************************************************
 * SHGetSpecialFolderLocation API
 */

2018-04-20 9:06 GMT+02:00 Alexandre Julliard <julliard@winehq.org>:
Louis Lenders <xerox.xerox2000x@gmail.com> writes:

> v2: -fixed a misleading comment
>     - only print fixme when needed
>
> This fixes bug https://bugs.winehq.org/show_bug.cgi?id=44959
>
> I also tried to write a test, that test passes on the 32-bit testbots, but somehow the last test fails on 64-bit testbots and i don`t know why.
> Test is at https://testbot.winehq.org/GetFile.pl?JobKey=37794&StepKey=1

Probably the structure is using the wrong packing for 64-bit.

--
Alexandre Julliard
julliard@winehq.org