如何用_RecordsetPtr地址还原为_RecordsetPtr,得到结果集
我有一个结果集指针_RecordsetPtr,怎样把其地址取出来,再在另外一个方法里还原为_RecordsetPtr?
我测试了一下:(ehouse的值是一直在的,没有失效)
_RecordsetPtr ePHouse=dData::getTableDataR(hfzxEnum::Phouse,sqlArray); //取结果集
1 LPVOID addr=(LPVOID)ePHouse;
2 LPVOID addr=ePHouse;
3 LPVOID addr=&ePHouse;
4 _RecordsetPtr *old=(_RecordsetPtr *)addr;
5 //_RecordsetPtr old=(_RecordsetPtr)addr;
6 //_RecordsetPtr *old=(_RecordsetPtr)addr;
其中语句5、6编译出错,只有4成功
语句1和2 效果一样,
>? ePHouse
{0x026b1108}
m_pInterface: 0x026b1108 这个是原始数据位置吧?
>? addr
0x026b1108
>? old
0x026b1108 {0x4dd14cf0}
m_pInterface: 0x4dd14cf0
>? *old
{0x4dd14cf0}
m_pInterface: 0x4dd14cf0
可以看到m_pInterface不一致
语句3地址都不一样
>? addr
0x025ccc3c
>? old
0x025ccc3c {0x00000000}
m_pInterface: 0x00000000
更是出错,而且在3执行后,ePHouse变为0000000
各位高手帮忙