我正在编写简单的c#app。
这很简单。 c#app以字节数组作为参数调用activeX函数,然后, activeX接收字节数组并显示它。
我问,我必须在MFC ActiveX中使用哪种数据类型?变异?变体*?
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
VARIANT
类型VT_ARRAY|VT_UI1
。代码示例:
char original_buffer[1024];
SAFEARRAY FAR* psa;
SAFEARRAYBOUND rgsabound[1];
// fill original_buffer here
rgsabound[0].lLbound = 0;
rgsabound[0].cElements = 1024;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
void* p=(char*)psa->pvData;
if (psa)
{
VARIANT variant_buffer;
VariantInit(&variant_buffer);
variant_buffer.vt = VT_ARRAY|VT_UI1;
variant_buffer.parray = psa;
void* p = (char*)psa->pvData;
memcpy(p, (void*)original_buffer, 1024);
// do someting with the array here
SafeArrayDestroy(psa);
}