mirror of
https://github.com/reactos/reactos.git
synced 2025-01-04 05:20:54 +00:00
770bf93be3
[SHLWAPI] Refactor the SHCreateWorkerWindowW() prototype to match its ANSI SHCreateWorkerWindowA() counterpart. The last parameter is really to be understood as an extra window data, and not a "message result" (as it would be the case for dialog window procedure). That is why I also remove the mention of "DWLP_MSGRESULT" in the SetWindowLongPtrW() call. SHCreateWorkerWindowA() had it OK but SHCreateWorkerWindowW() did not. ------------------ [SHLWAPI] Make SHCreateWorkerWindowA() and SHCreateWorkerWindowW() x64-compatible. The first parameter of these functions is a pointer to a window procedure, having a definite prototype, so employ a correct typedef WNDPROC, which ensures both correct pointer size and parameter type enforcement. This also ensures that we use instead a correct pointer size, since otherwise LONG remains 32-bits for Windows compatibility on x64 platforms. The wndProc parameter is thus casted to LONG_PTR to comply with the SetWindowLongPtrA/W calls. In SHCreateWorkerWindowW(), the last "wnd_extra" parameter should also be LONG_PTR to be able to pass 64-bit data pointer on x64 platforms. Therefore fix also setting the wc.cbWndExtra size. One should note that the ANSI SHCreateWorkerWindowA() function had everything OK already. |
||
---|---|---|
.. | ||
asm | ||
c++ | ||
crt | ||
ddk | ||
dxsdk | ||
GL | ||
host | ||
ndk | ||
psdk | ||
reactos | ||
xdk |