[英]How to pass byte array from c# to MFC ActiveX
我正在編寫簡單的C#應用程序。
真的很簡單。 c#應用程序調用以字節數組為參數的activeX函數,然后,activeX接收並顯示字節數組。
我問,我必須在MFC ActiveX中使用哪種數據類型? 變體? 變體*?
任何幫助將不勝感激。 謝謝。
VARIANT
為VT_ARRAY|VT_UI1
VARIANT
。 代碼示例:
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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.