Pls add the fix:  And is it possible to avoid of Marshal.PtrToStringAnsi() because of GC Allocations?