我正在使用本机函数,并且在 c# 中编组结构存在小问题。我在另一个结构中有指向结构的指针 - 例如 C# 声明:
[StructLayout(LayoutKind.Sequential, Pack=1, CharSet = CharSet.Auto)]
public struct PARENT
{
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string Name;
[MarshalAs(UnmanagedType.Struct, SizeConst=8)]
public CHILD pChild;
}
[StructLayout(LayoutKind.Sequential, Pack=1, CharSet = CharSet.Auto)]
public struct CHILD
{
public UInt32 val1;
public UInt32 val2;
}
在 PARENT 结构中,我应该有一个指向 CHILD 结构的指针。我需要传递一个“指向引用的指针”(PARENT 结构)作为 API 函数的参数。
单引用(“ref PARENT”作为导入的 dll 函数的参数)没有问题,但是如何传递“ref ref”?是否可以不使用不安全代码(使用 C 指针)?
问候亚瑟