|
20精币
我的支持库函数的参数3是数组,用来接收输出的整数型数组数据,经测试数组数据已给到指针p,为何将p给到参数3*pArgInf[3].m_ppAryData = p; ,实际却得不到数据?
NotifySys (NRS_FREE_ARY, (DWORD)pArgInf[3].m_dtDataType, (DWORD)*pArgInf[3].m_ppAryData);
INT nSize = aryData.GetDWordCount () * sizeof (DWORD);//计算长度
INT* p = (INT*)ealloc (sizeof (INT) * 2 + nSize);//使用MMalloc函数申请内存。
if(!p==NULL)
{
*p = 1; // 数组维数。
*(p + sizeof (INT)) = aryData.GetDWordCount ();//设置数组的元素数量。
memcpy (p + sizeof (INT) * 2, Data1 , nSize);//将解析出的文本数据复制到新分配的内存中。
*pArgInf[3].m_ppAryData = p; // 将新内容写回该数组变量。实际返回的是{}空数组
pRetData->m_int = *(p + 2*sizeof (INT)); //已测试能返回数组第1个数据,说明数组数据已成功创建且指针为p,
}
|
|