
驱动开发
文章平均质量分 75
Mark-Han
现任上海德拓信息技术有限公司高级副总裁,负责公司整个研发体系,在存储、云计算、大数据平台、数据管理应用,备份容灾、虚拟化等领域有些研究, 有几年的开发设计经验,希望和更多的朋友多交流,共同成长 http://blog.youkuaiyun.com/hanxin1987216
展开
-
ddk/wdk/ 初试
最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料。 1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK,开发WINDOWS应用程序,我们需要WINDOWS的SDK,现在开发WINDOWS下的驱动程序,我们需要一个DDK/WDK。 2.DDK(Driver Developer Kit)和原创 2010-03-31 21:03:00 · 1388 阅读 · 0 评论 -
内核开发中的UNICODE String
<br /><br />UNICODE 和 ExAllocatePool<br /> 内核在UNICODE拼接或其他临时操作时,经常使用ExAllocatePool动态分配UNICODE的Buffer,简单情况:<br />UNICODE_STRING str;<br />str.Buffer = ExAllocatePool(NonPagedPool, 50*sizeof(WCHAR));<br />str.Length = 0;<br />str.MaximumLength = 50*sizeof(原创 2010-11-07 13:22:00 · 1199 阅读 · 0 评论 -
smbmrx 编译与测试
在DDK的FileSystem的Sample中提供了两个重定向驱动的例子,nulmrx只是一个简单的壳,smbmrx则是一个完整的CIFS的网络重定向驱动。在编写文件透明加密的网络支持部分的时候,由于对网络CACHE的处理有问题,打算追踪这个两个例子,搞清楚运行原理。基于共同学习的目的,把一些编译和测试的注意事项列出来,供对这两个例子感兴趣的朋友做一个参考。 DDK中对这两个例子介绍的都不多,在编译的时候使用DDK编译就可以了。 1.Nulmrx的安装与测试: (1)拷贝文件原创 2010-11-08 23:11:00 · 1940 阅读 · 2 评论 -
在2.6.24及以后版本的Linux内核中使用netlink
如何在2.6.24及以后版本的Linux内核中使用netlink<br />最近做Netlink 2.6.24 移植,网上相关的教程也不少,有些写得还十分系统,不过我拿来一测试,居然没一个能编译。后来仔细一看才发现,还是内核版本的问题。经过一番折腾,终于弄好了,下面简要介绍一下经验。 <br />我用的redhat 5 x64 自己升级的内核,内核更新至2.6.24,而从2.6.24开始,linux内部对netlink的实现机制和调用接口进行了很大的调整,特别是函数netlink_kernel_create原创 2010-11-20 16:31:00 · 2588 阅读 · 1 评论 -
使用DUMP 文件调试分析内核驱动
<br />最近数据分离驱动总是偶然的出现蓝屏问题,很难确定原因, 只能通过Dump 文件分析了 <br /> <br /> <br />Dump 文件分析很大程度上就是分析蓝屏产生的原因。这种系统级的错误算是Windows提示错误中比较严重的一种(更严重的还有启动黑屏等硬件或软件兼容性错误等等)。说它是比较严重,是因为毕竟Windows还提供了dump文件给用户分析,至少能比较容易的找到错误的原因。一般蓝屏要么是内核程序中的异常或违规,要么是数据结构的损坏,也有boot或shutdown的时候内核出错。有原创 2010-11-17 13:25:00 · 4662 阅读 · 0 评论 -
设备驱动程序INF文件
<br /><br /> <br /><br /> INF文件是一个文本文件,由许多按层次结构排列的节组成,他们以方括号中的节名称开始,如[Version]、[Manufacturer]等,后面是改接所含有的各个项,如Signature、DriverVer等。节中各项的基本定义格式为<br />entry=value[,value…]<br /> 其中,“entry”标示项名称,“value”标示该想的取值。节名和项名称都不区分大小写,且对于Windows 98,其必须小于28个字符原创 2011-03-24 10:59:00 · 6230 阅读 · 1 评论 -
windows驱动程序开发基础
1.用户态驱动驱动程序和核心态驱动程序 下图描绘出了操作系统驱动程序的相关组成部分的概貌: Windows驱动程序既可以运行在用户态也可以运行在核心模态。 l 用户态的驱动程序运行在非特权处理机模式(nonprivileged processor mode)上,其他一些被保护的子系统代码也运行在该模式上。用户态的驱动程序不能获得系统数据的存取权,除非调用Win32 API或者系原创 2011-06-16 17:38:00 · 1265 阅读 · 0 评论