|
ListCtrl控件使用SetItemData())指定数据后,GetItemData()在X86下能正确取到数据,在X64平台下则无法取数据,跟踪调试发现X64平台下GetItemData()取到的地址低位正确,高位地址不正确,如何解决该问题?原因何在?
CString str;
int row = m_list.GetItemCount();
str.Format(_T("%d"), row + 1);
m_list.InsertItem(row, str);
Node_DATA* pd;
pd = new Node_DATA;
memset(pd, 0, sizeof(Node_DATA));
pd->DirInput = 100;
m_list.SetItemData(row, (DWORD)pd);
Node_DATA* pd1;
pd1 = (Node_DATA*)m_list.GetItemData(row);
X64平台下
pd的地址:0x000002b9b8707a80;pd1的地址:0x00000000b8707a80
X86平台下
pd的地址: 0x019ee338 pd1的地址:0x019ee338 |
评分
-
查看全部评分
上一篇: 请教,如何在使用了梯子之后,搭配上fiddler抓包下一篇: myints + sizeof(myints) / sizeof(int)
|