c++ 接口这样定义:
[id(1), helpstring("方法PrintRR")] LONG PrintRR(VARIANT vaInJson, VARIANT* vaOutJson);
c++接口实现:
LONG CAAACtrl::PrintRR(VARIANT &vaInJson, VARIANT FAR* vaOutJson)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
// TODO: 在此添加调度处理程序代码
VARIANT vaTemp;
VariantInit(&vaTemp);
vaTemp.vt = VT_BSTR;
string strTemp = _bstr_t(vaTemp.bstrVal);
VariantClear(&vaTemp);
char * pOutJson = new char[1024];
long lR1 = Printpp(strTemp.c_str(), pOutJson);
VARIANT vaTemoOutJson;
VariantInit(&vaTemoOutJson);
vaTemoOutJson.vt = VT_BSTR;
_bstr_t bstr_t(pOutJson);
BSTR bstr = bstr_t;
vaTemoOutJson.bstrVal = bstr;
delete pOutJson;
pOutJson = NULL;
return lR1;
}
long CAAACtrl::Printpp(const char * pInJson, char *pOutJson)
{
strcpy(pOutJson, pInJson);
return 0