C#与非托管C++DLL交互问题

我封装了一个C++dll,是用C++调用SQLite的数据库,再返回查询出的数据内容。
现在的问题是,
我用C#调用C++的dll的时候,不知道参数该如何传递。

C++取得的数据库内容结果是char***的三维数组,我该如何传给C#层呢?
C#取到数据后,又该如何转换成DataTable呢_?

请各位大神指教,最好能有简单的代码例子,
在此先谢过了。

直接用byte[]去取就可以了,然后循环拆分。

循环去取的话,不是每个字段就要取一次,
如果数据是 1w行,30列的数据,不是就要取30w次?
这样效率太低了吧。。。。