I am surprised this works ANYWHERE. Try something like this :
int selectedItem = ListView_GetNextItem(listView, -1, LVNI_SELECTED);
if( selectedItem != -1 )
{
LVITEM lvitem = { 0 };
const int strsize = 511;
wchar_t str[strsize+1] = { 0 };
lvitem.cchTextMax= strsize;
lvitem.mask= LVIF_TEXT;
lvitem.iItem= selectedItem;
lvitem.pszText= str;
ListView_GetItem( listView, &lvitem );
}