Ho bisogno del tuo aiuto con il seguente scenario:Come posso passare i dati MemoryStream a non gestito C++ DLL utilizzando P/Invoke
Sto leggendo alcuni dati da hardware in un MemoryStream (C#) e ho bisogno di passare questi dati in memoria di una dll implementata in C++ non gestito (usando il puntatore ??). I dati letti (nello stream) sono molto grandi (megabyte). Capisco che posso P/Richiamare questa DLL ma quello che non sono sicuro è come passare il puntatore/riferimento dei dati del flusso all'API C++?
Devo ammettere che sono confuso perché sono nuovo di C# - devo usare non sicuro/fisso poiché i dati sono grandi o non sono rilevanti in quanto l'oggetto MemoryStream è gestito da GC? Alcuni esempi di codice/descrizione dettagliata sarebbero molto utili. Grazie
Firma di API non gestito:
BOOL doSomething (void * rawData, int dataLength)
Quale tipo di dati richiede la DLL C++? – scottm
Richiede dati non elaborati - byte/void *. Posso modificare l'API dll come richiesto. –