public string GetArgAsString(int index) { JsValue v = Cef3Binder.MyCefNativeMetGetArgs(_argPtr, index); if ((int)v.Type == 30) { //native cef var charBuff = new char[BUFF_LEN]; int acutalLen = 0; unsafe { fixed(char *buffHead = &charBuff[0]) { Cef3Binder.MyCefString_Read(v.Ptr, buffHead, BUFF_LEN, ref acutalLen); if (acutalLen > BUFF_LEN) { //read more } return(new string(buffHead, 0, acutalLen)); } } } else { return(Marshal.PtrToStringUni(v.Ptr)); } }