通过P/Invoke返回Struct和String Array

P/Invoke提供了方便的.NET和c++ dll交互接口,通过P/Invoke可以将native的对象转化成managed object,从而享受.NET带来的种种便利.

但是,假如dll中返回的参数,不是形如int, double, bool这样可以直接转化为.NET类型的对象,又该如 何使用P/Invoke呢?

比如我有这样一个接口:

 1 #ifdef DLLPROJECT

 2 #define DLLEXP __declspec(dllexport)

 3 #else

 4 #define DLLEXP __declspec(dllimport)

 5 #endif

 6 

 7 struct group

 8 {

 9     char* groupName;

10     int userCount;

11     char** userNames;

12 };

13 

14 struct groupList

15 {

16     int count;

17     group* groups;

18 };

19 

20 extern "C"

21 {

22     DLLEXP groupList* getGroupList();

23 }

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
, 对象
, 接口
, define
, invoke
, declspec
p invoke
matlab struct array、struct array、golang struct array、c struct array、struct array numpy,以便于您获取更多的相关知识。

时间: 2024-08-16 06:19:27

通过P/Invoke返回Struct和String Array的相关文章

详解 Kotlin Reference Basic Types, String, Array and Imports

详解 Kotlin Reference  Basic Types, String, Array and Imports 基本数据类型 Kotlin中支持的基本数据类型及它所占Bit宽度: Type Bit width Double 64 Float 32 Long 64 Int 32 Short 16 Byte 8 Char 在kotlin中 并不是一个数值类型 kotlin不支持8进制, 支持 2.10.16进制 下面的代码,示例了: 关于2.10.16进制: 使用下划线在数值常量赋值数据中:

string-怎么能够得到String[][] Array的长度?

问题描述 怎么能够得到String[][] Array的长度? 我有一个String[][]类型的数组,就像这样: static final String arrChildelements[][] = { { ""1""2""3""..... } { ""A""B""C""..... } { ""X""Y&q

Js判断参数(String,Array,Object)是否为undefined或者值为空_javascript技巧

有时候我们会遇到这样的情况:在一些前端控件要提交数据到服务器端的数据验证过程中,需要判断提交的数据是否为空.如果是普通表单的字符串数据,只需要在 trim 后判断 length 即可,而这里需要的数据可以是各种不同的类型(数字.字符串.数组.对象等等),通过 JSON.stringify(data) 进行序列化后再传递. 在这里定义如下的数据值为"空值": •undefined•null•空字符串及纯空白字符串:''.'    ' 等.•空数组:[]•空对象:{} 对于除此以外的数据值

关于返射编程通过MethodInfo.Invoke返回自定义类型数据的疑问

问题描述 stringmodelName="tempClass";//获取tempNameSpace.tempClass类Typet=Type.GetType("tempNameSpace."+modelName+",tempNameSpace");//获取tempClass类中的tempMethod方法MethodInfomGetPageList=t.GetMethod("tempMethod");if(mGetPageLi

微信扫描二维码登录网站代码

 用户通过扫描网页提供的二维码实现登陆信息获取,大家参考使用吧 请先下载  snoopy 类   代码如下: <?php /**  *  微信公众平台PHP-SDK  *  Wechatauth为非官方微信登陆API  *  用户通过扫描网页提供的二维码实现登陆信息获取  *  主要实现如下功能:  *  get_login_code() 获取登陆授权码, 通过授权码才能获取二维码  *  get_code_image($code='') 将上面获取的授权码转换为图片二维码  *  verify

全新的PDO数据库操作类php版(仅适用Mysql)_php实例

复制代码 代码如下: /** * 作者:胡睿 * 日期:2012/07/21 * 电邮:hooray0905@foxmail.com */ class HRDB{ protected $pdo; protected $res; protected $config; /*构造函数*/ function __construct($config){ $this->Config = $config; $this->connect(); } /*数据库连接*/ public function conne

微信扫描二维码登录网站代码示例_php实例

请先下载  snoopy 类 复制代码 代码如下: <?php /**  *  微信公众平台PHP-SDK  *  Wechatauth为非官方微信登陆API  *  用户通过扫描网页提供的二维码实现登陆信息获取  *  主要实现如下功能:  *  get_login_code() 获取登陆授权码, 通过授权码才能获取二维码  *  get_code_image($code='') 将上面获取的授权码转换为图片二维码  *  verify_code() 鉴定是否登陆成功,返回200为最终授权成功

详解JS中Array对象扩展与String对象扩展_javascript技巧

废话不多说了,直接给大家上array对象扩展代码了,具体代码如下所示: /** * Created by laixiangran on 2016/01/07. * Array扩展 */ (function() { // 遍历数组 if (typeof Array.prototype.forEach != "function") { Array.prototype.forEach = function (fn, context) { for (var i = 0; i < this

Mybatis 如何 返回 List&amp;amp;lt;String&amp;amp;gt; 类型 或 List&amp;amp;lt;Map&amp;amp;lt;String,Object&amp;amp;gt;&amp;amp;gt;类型

问题描述 求助Mybatis如何返回List<String>类型或List<Map<String,Object>>类型 解决方案 解决方案二:XML里面resutType="String",接口返回List<String>不行吗?解决方案三:楼上说得对,如果返回List<String>,resultType="String"就可以了,如果需要返回List<Map<String,Object>