unsigned char* data = MyFunction();
如何找到数据的长度?
int MyFunction(unsigned char* data,size_t* datalen)
然后你分配数据并传入datalen.结果(int)应该表明你的缓冲区(数据)是否足够长……