关于COM接口传出参数VARIANT的问题?
我定义了一个ActiveX的接口,如 GetHistoryData(VARIANT* varValue),varValue是一个传出的参数,我想知道内部实现是不是有问题,实现如下
GetHistoryData(VARIANT* varValue)
{
......
SAFEARRAYBOUND bound[1];
bound[0].lLbound=0;
bound[0].cElements=2;
SAFEARRAY* pArray=SafeArrayCreate(VT_I4,1,bound);
// Get value
......
varValue->vt = VT_ARRAY|VT_VARIANT;
varValue->parray = pArray;
}
我在外面调用的时候,数组的元素个数为0,是不是这个实现有问题,请高手指教?