最近在搞用VC访问java的webservice
实现了获得字符串(BSTR),字符串数组(SAFEARRAY)
可是我要向webservice传递一个字符串数组,在使用SAFEARRAY时并不能有效。//建立safearray
SAFEARRAY FAR* psa;        
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 2; psa = SafeArrayCreate(VT_VARIANT, 1, rgsabound);
if(psa == NULL){
ResultFromScode(E_OUTOFMEMORY);
}
long l=0;
SafeArrayPutElement(psa, &l, "1111111111");
l=1;
SafeArrayPutElement(psa, &l, "1111111111");
//建立variant
       _variant_t var;
var.vt=VT_ARRAY;
var.parray=psa;
//建立参数
       _variant_t varParams[1] = { &var}; _variant_t varResult;
if ( InvokeWithName(L"deleteDocument", varParams, 1, &varResult) )
{
throw ("无效接口调用!");
}
每次执行都是错误的。
不知道这个参数怎么传递,怎么封装?