Как правильно передать указатель через сообщение компоненту?

Hello all,
Есть проблема... Почему так не работает
//........
POINT pt;
SendMessage(hSomeListView, LVM_GETITEMPOSITION, (WPARAM)index,
(LPARAM)&pt);
//При работе COMCTL32.dll выполняет недопустимую операцию
//........
А так работает
//........
POINT *ppt = (POINT *)VirtualAlloc(NULL,
sizeof(POINT), 0x8000000 | MEM_COMMIT,
PAGE_READWRITE);
SendMessage(hSomeListView, LVM_GETITEMPOSITION, (WPARAM)index,
(LPARAM)ppt);
VirtualFree(ppt, 0, MEM_RELEASE);
//....... ???????????