5

我目前正在尝试为 UTF-8 C 字符串实现自定义编组器。问题是,我正在处理的字符串不一定是空终止的,所以我需要依赖它们的常量大小或大小参数。当将它们编组为 LPStr 时,我可以使用 SizeParamIndex 和 SizeConst MarshalAs 属性参数,但我似乎无法访问我的 ICustomMarshaler 实现中的那些参数。

我想避免在每个函数上使用 Byte[] 和手动 UTF-8 转换,但似乎这是唯一的方法?还是我错过了访问 SizeParamIndex/SizeConst 信息的方法?即使我能以某种方式在编组器中传递这些数据,我将如何获得 SizeParamIndex 的实际大小值?

4

0 回答 0