HitTest method should set content of integer pointed by pFlags to LVHT_ABOVE, LVHT_BELOW, LVHT_TOLEFT, and/or LVHT_TORIGHT when point to be tested is outside CListViewCtrl area. This is true on Windows XP. However, when the same code is run on Vista, flag is set to LVHT_NOWHERE, i.e. there is no indication that the point is outside control area.
Please note that when the same functionality is implemented with MFC, code works identically both on XP and Vista, so I suspect that WTL does not process LVM_HITTEST message on Vista correctly.
In the attached sample HitTest is used to detect when an item is dragged outside listview area. When an item in listview is being dragged, cursor changes to hand; when dragged above/below listview it should change to slashed circle - this happens on XP only.