文档章节

非托管代码转换成托管代码

解某人
 解某人
发布于 2014/01/24 14:15
字数 184
阅读 58
收藏 1
        /// <summary>
        /// 将非托管缓冲区送入托管代码
        /// </summary>
        /// <typeparam name="T">托管结构体类型</typeparam>
        /// <param name="dispPtr">指向缓冲区的指针</param>
        /// <param name="ChanNum">通道数(缓冲区中结构体的数量)</param>
        /// <returns>托管代码数据</returns>
        private T[] StructrueFill<T>(IntPtr dispPtr, int ChanNum) where T : struct
        {
            T[] structrueBuffer = new T[ChanNum];
            int structrueSize = Marshal.SizeOf(structrueBuffer[0]);
            int arrySize = structrueSize * ChanNum;
            int bufferPoint = 0;
            byte[] buffer = new byte[arrySize];
            Marshal.Copy(dispPtr, buffer, 0, arrySize);
            for(int i = 0; i < ChanNum; i++)
            {
                byte[] structBuffer = new byte[structrueSize];
                Array.Copy(buffer, bufferPoint, structBuffer, 0, structrueSize);
                structrueBuffer[i] = StructConvert.BytesToStruct(buffer, structrueBuffer[i]);
                bufferPoint += structrueSize;
            }
            return structrueBuffer;
        }


© 著作权归作者所有

共有 人打赏支持
上一篇: drools 学习笔记
下一篇: 暂无发表
解某人
粉丝 0
博文 12
码字总数 2387
作品 0
乌鲁木齐
私信 提问
[CLI/C++].NET托管代码和非托管代码的相互调用

场景三:现有C++原代码,包装后供C#调用。 C++的原代码,实际上可以直接编译成托管代码。MFC也好ATL也好……这样看起来在.NET中最强大的编程语言就是C++了:它不仅可以编写托管 程序,甚至可...

Yong_Luo
2010/10/01
0
0
.net 中的托管与非托管

参考文献 关于托管与非托管 到底什么是托管,什么是非托管的研究 前言 最近在看《ASP.NET MVC 4框架揭秘》,里面有很多微软.net的东西,其中就很多次提到了托管与非托管,搞得我云里雾里的,...

嗯哼9925
2017/12/13
0
0
使用不安全代码将 Bitmap 位图转为 WPF 的 ImageSource 以获得高性能和持续小的内存占用

在 WPF 中将一个现成的 Bitmap 位图转换成 ImageSource 用于显示一个麻烦的事儿,因为 WPF 并没有提供多少可以转过来的方法。不过产生 Bitmap 来源却非常多,比如屏幕截图、GDI 图、数组或其...

WPwalter
2017/11/23
0
0
将调用密集型的 COM 组件迁移到托管代码

.NET Framework 提供了一个简单的方法与传统的 COM 组件进行交互。其优点是可以在保留现有投资的同时利用新的平台。但是在某些情况下,保留旧组件的性能开销使得将组件迁移到托管代码是值得的...

晨曦之光
2012/03/09
186
0
跟小静读CLR via C#(01)-.NET平台下代码是怎么跑起来的

跟小静读CLR via C#(01)-.NET平台下代码是怎么跑起来的 想起前些日子去某知名电子商务公司面试的时候,问了很多我.NET程序的运行机制,当时很多比较底层的问题都没答好,发现自己的知识太皮...

技术小胖子
2017/11/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

三星Galaxy S10可能会配备TOF 3D摄像头

12月3日消息,据Phone Arena报道,三星Galaxy S10可能会配备TOF 3D摄像头。 Phone Arena报道称三星Galaxy S10一共有五颗摄像头(前置双摄+后置三摄),而5G版本的Galaxy S10后置四颗摄像头,...

问题终结者
28分钟前
8
0
fabric增删改查Mac

备份1.3版本,重新下载1.1版本到fabric文件夹 /opt/gopath/src/github.com/hyperledger/fabric -> /opt/gopath/src/github.com/hyperledger/fabric1.3 新建/opt/gopath/src/github.com/hype......

八戒八戒八戒
56分钟前
9
0
盘点愚人节各大网站彩蛋,谁最爱恶搞?

如今的愚人节俨然已是各品牌宣传了一个重要节日,同时,也成为了各大互联网科技企业凑热闹,比拼创意和策划的节日。跟小编一起看看有哪些有趣的策划吧! Google地图变成吃豆人游戏 每年愚人节...

临江仙卜算子
今天
6
0
Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

本文分析的是源码,所以至少读者要熟悉它们的接口使用,同时,对于并发,读者至少要知道 CAS、ReentrantLock、UNSAFE 操作这几个基本的知识,文中不会对这些知识进行介绍。Java8 用到了红黑树...

java菜分享
今天
6
0
玩手机与做实验

看过这样一个故事:说的是在二十世纪二十年代初的一个深夜,担任英国剑桥大学卡文迪许实验室主任的卢瑟福来实验室检查,发现一位学生还在做实验。卢瑟福就问他:“你上午做什么了?”学生回答...

Bob2100
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部