Unmanaged Array in Managed Stream schreiben



  • Hallo Leute,

    ich habe ein Problem bei der Übergabe eines unmanaged Byte-Array an einen gemanagten Stream. Siehe hier:

    Stream ^sIn = gcnew MemoryStream(); 
    sIn->Write(((IntPtr)(&((*imgIn)[0][0][0]))), 0, numBytes);
    

    Ich habe mir erstmal damit geholfen, dass ich das unmanag. Array in ein manag. Array kopiert habe und dieses dann in den Stream geschrieben habe, siehe hier:

    Stream ^sIn = gcnew MemoryStream(); 
    Marshal::Copy( ((IntPtr)(&((*imgIn)[0][0][0]))), ManagArr, 0, numBytes);
    sIn->Write(SrvSensorDataArr, 0, numBytes);
    

    Diese Variante dauert selbstverständlich länger, da das Array vorher noch kopiert werden muss. Hat da jemand einen Tipp für mich? :p


Anmelden zum Antworten