我有返回 VARIANT (mfc) 的函数 getMemory()。据说 ulVal 中的成员是指向我需要访问的内存的指针。
int m_memAddr = object.getMemory().ulVal; //get pointer to memory
然后我需要把这个指针指向我试过的 char*
char* pointer = (char*)m_memAddr;
它可以编译,但程序运行时出现错误。如何调试它?
函数getMemory:
VARIANT object::getMemory()
{
VARIANT result;
InvokeHelper(0x4a, DISPATCH_METHOD, VT_VARIANT, (void*)&result, NULL);
return result;
}
//从我使用的相机库的文档中编辑:
VARIANT GetImageMem() 描述
GetImageMem() 返回指向存储图像的内部图像存储器的起始地址的指针。如果使用环形缓冲,GetImageMem() 将返回上次用于图像捕获的图像内存的起始地址。
指向图像内存的指针在 VARIANT 数据类型的元素 ulVal 中返回。参数
返回值
指向 VARIANT 数据类型的 ulVal 中的图像内存的指针。
这是返回我的相机存储图像的内存的函数的描述。
我想用 OpenCV 处理这个图像,所以我需要 char* 将它设置为 IplImage imageData。
现在我希望更清楚问题是什么。