请高手帮忙呀,该怎么处理

请高手帮忙呀
VARIANT   varPic1和   _variant_t   varPic1有什么不同

为什么
VARIANT   varPic1
SafeArrayAccessData(varPic1.parray,(void   **)&pBuf);
SafeArrayUnaccessData(varPic1.parray);
上面的不行呀


为什么
_variant_t   varPic1
SafeArrayAccessData(varPic1.parray,(void   **)&pBuf);
SafeArrayUnaccessData(varPic1.parray);
可以呀

有没有重pBuf把数据拷贝到varPic1.parray中的函数呀

------解决方案--------------------
_variant_t是class,能够分配和释放空间
------解决方案--------------------
为什么不行?编译不能通过??
VARIANT varPic1;
BSTR HUGEP *pBuf;
SafeArrayAccessData(varPic1.parray,(void **)&pBuf);
SafeArrayUnaccessData(varPic1.parray);
编译通过,没有问题啊