FORWARD_WM_GETICON, FORWARD_WM_MDICREATE, FORWARD_WM_QUERYDRAGICON, and FORWARD_WM_SETICON are invalid for 64 bit development. The DWORD return cast will clip handles if they ever get that big and needs to be DWORD_PTR, or perhaps nothing at all since an LRESULT casts to HANDLE as well as anything else.