};\r
\r
string encode = JsonConvert.SerializeObject(encodeObject, Formatting.Indented, settings);\r
- HBFunctions.hb_add_json(this.hbHandle, Marshal.StringToHGlobalAnsi(encode));\r
+ HBFunctions.hb_add_json(this.hbHandle, InteropUtilities.ToUtf8PtrFromString(encode));\r
HBFunctions.hb_start(this.hbHandle);\r
\r
this.encodePollTimer = new System.Timers.Timer();\r
this.titles = new List<Title>();\r
\r
var jsonMsg = HBFunctions.hb_get_title_set_json(this.hbHandle);\r
- // Convert UTF-8 encoded jsonMsg to string\r
- int length = 0;\r
- while (Marshal.ReadByte(jsonMsg, length) != 0) length++; // find 0 termination\r
- byte[] buffer = new byte[length];\r
- Marshal.Copy(jsonMsg, buffer, 0, buffer.Length);\r
- string scanJson = Encoding.UTF8.GetString(buffer);\r
+\r
+ string scanJson = InteropUtilities.ToStringFromUtf8Ptr(jsonMsg);\r
\r
JsonScanObject scanObject = JsonConvert.DeserializeObject<JsonScanObject>(scanJson);\r
lastScan = scanObject;\r