小编rau*_*aug的帖子

将 IntPtr 解码为 MultiString

我需要从对 的调用中提取环境字符串CreateEnvironmentBlock( out IntPtr lpEnvironment, IntPtr hToken, bool bInherit ),以便根据变量名称及其值将它们放入字典中。

当此函数返回时,lpEnvironment接收指向新环境块的指针。环境块是一个以 null 结尾的 Unicode 字符串数组。该列表以两个空值 ( \0\0) 结尾。

我无法轻松使用,Marshal.Copy因为我不知道块的长度。我想知道是否有一种简单的方法可以移动它或确定将哪些内容复制到我可以更轻松地转换的内容。一种想法是传递out IntPtr lpEnvironmentas out char [] lpEnvironment

有什么建议么?

c# marshalling

5
推荐指数
1
解决办法
596
查看次数

标签 统计

c# ×1

marshalling ×1