我目前正在尝试为UTF-8 C字符串实现自定义Marshaler。 问题是,我正在处理的字符串不一定是空终止,所以我需要依赖它们的常量或大小参数。 将它们编组为LPStr时,我可以使用SizeParamIndex和SizeConst MarshalAs属性参数,但我似乎无法访问我的ICustomMarshaler实现中的那些。
我想避免在每个函数上使用Byte []和手动UTF-8转换,但似乎这是唯一的方法吗? 或者我错过了一些方法来访问SizeParamIndex / SizeConst信息? 即使我能以某种方式在封送器中传递这些数据,我如何获得SizeParamIndex的实际大小值?