The use of `LOWORD`/`HIWORD` within the message `WM_MOUSEMOVE` is
considered unsafe. Instead it is better to make use of the
`GET_X_LPARAM`/`GET_Y_LPARAM` macros.

The [documentation for WM_MOUSEMOVE](
http://msdn.microsoft.com/en-us/library/windows/desktop/ms645616.aspx)
states that it is unsafe to make use of the usual `LOWORD`/`HIWORD`
macros to extract information from `lParam` in the message because the
macros make assumptions that do not hold true in relation to multiple
monitor set-ups. Instead it is important to use the macros
`GET_X_LPARAM`/`GET_Y_LPARAM` that do not make these assumptions.

Also, because the required values are already assigned to `m_lastMoveX`
and `m_lastMoveY`, it makes much more sense to simply pass these as
arguments `SSystemGlobalEnvironment::pHardwareMouse`.