C# 拿结构体数组中结构体成员值的问题
外部DLL 中有一个function : GetPossibleMode(int AdapterIndex,* int lpNumModes, Mode **lppModes), 功能: 输入 AdapterIndex ,拿到指向这个Adapter所支持的所有Mode组成的数组首地址的指针: lppModes 以及 指向这个数组中Mode个数的指针: lpNumModes, 数组成员Mode 是一个结构体 Mode {int X, int Y, int Z} .
现在C# code中 想要调用这个function(),
1. 怎么调用? 几个参数如何设,比如第三个参数?
// 举个例子 好像指向结构体的指针 作为参数 ,可以如下初始化,然后把Buffer作为参数 传给函数
Mode mode_tmp = new Mode();
InPtr Buffer = (IntPtr)MarshalHelpers.structureToPtr(mode_tmp)
//但我不知道 像本例中指向数组地址的指针 怎么初始化?
2. 调用这个函数后 拿到的buffer 怎么解析拿到数组里每个Mode结构体的值?
//如果像上面那样,第三个参数是指向结构体的指针的话 好像可以
// mode_tmp = (Mode)Marshal.PtrToStructure(Buffer, mode_tmp.GetType())
// 然后Mode结构体成员就可以拿出来了 mode_tmp.X, mode_tmp.Y
//但我不知道这个例子中如何拿出来
谢谢高手解答我得初级问题,如有疑问可以提出 我马上补充