Wie kann ich MemoryStream-Daten mit P / Invoke an nicht verwaltete C ++ - DLL übergeben?
Ich benötige Ihre Hilfe bei folgendem Szenario:
Ich lese einige Daten von der Hardware in einen MemoryStream (C #) und muss diese Daten im Speicher an eine in nicht verwaltetem C ++ implementierte DLL übergeben (Zeiger ??). Die gelesenen Daten (in den Stream) sind sehr groß (Megabyte). Ich verstehe, dass ich diese DLL P / Invoke kann, aber was ich nicht sicher bin, ist, wie der Zeiger / die Referenz der Stream-Daten an die C ++ API übergeben wird?
Ich muss zugeben, dass ich verwirrt bin, da ich neu in C # bin. Muss ich unsicher / repariert verwenden, da die Daten groß oder irrelevant sind, da das MemoryStream-Objekt von GC verwaltet wird? Einige Beispielcodes / detaillierte Beschreibungen wären sehr hilfreich. Vielen Dank
Signatur der nicht verwalteten API:
BOOL doSomething (void * rawData, int dataLength)