簡體   English   中英

如何將字節數組從C#傳遞到MFC ActiveX

[英]How to pass byte array from c# to MFC ActiveX

我正在編寫簡單的C#應用​​程序。

真的很簡單。 c#應用程序調用以字節數組為參數的activeX函數,然后,activeX接收並顯示字節數組。

我問,我必須在MFC ActiveX中使用哪種數據類型? 變體? 變體*?

任何幫助將不勝感激。 謝謝。

VARIANTVT_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM