Pergunta

I have a char sendBuf[sizeof(double)*3 + 1]; in my c++ code.

My c# com code method Multicast( byte[] message) takes byte array as argument.

so why doesnt the call Multicast(sendBuf) throw this error cannot convert parameter 1 from 'char [25]' to 'SAFEARRAY *'

isnt a char array a byte array in c/c++

also how do I convert this char* to safearray then?

I tried

SAFEARRAYBOUND bound[1] = {25, 0};
SAFEARRAY * psa = SafeArrayCreate(VT_UI1, 1, bound);

for(int i = 0; i <25; i++){
SafeArrayPutElement(psa, &i, sendBuf[i]);   

but get cannot convert parameter 2 from 'int *' to 'LONG *' for SafeArrayPutElement

Foi útil?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top