Zitat von Facebamm: „char**“ist in jedem Fale ein IntPtr, der dann zur Laufzeit entsprechend bestückt / ausgelesen werden muss. Gugst Du hier: Austausch von Daten zwischen einer VB.NET-exe und einer C-DLL, 32 und 64 Bit
@Facebamm Ds ist korrekt. Initial muss der Pointer mit NULL belegt werden (das macht C++ nicht automatisch!). Wenn dann Speicher alloziiert wurde, kannst Du diese Variable mit dem Startpointer des Speichers belegen. Nach free muss diese Variable dann wieder genullt werden.
Zitat von jvbsl: „Das muuss weder vorher noch nachher genullt werden.“Wenn der Zustand "Speicher alloziiert" anhand des Pointers abgefragt wird, schon.