VcdRom 虚拟光驱驱动代码分析
来源:互联网 发布:睢阳保卫战知乎 编辑:程序博客网 时间:2024/06/06 06:43
VcdRom 是网上一个爱好者模拟微软虚拟驱动编写一个虚拟光驱程序,近日在研究虚拟磁盘驱动时,无意中看到了VcdRom的虚拟光驱的代码,不禁就开始研究了起来,希望以后能有用武之地。
VcdRom驱动的入口点函数
在Windows 驱动中,不管是wdm还是WDF驱动开发模型,驱动的入口点函数一定是DriverEntry该函数的原型如下;
由于VcdRom驱动是传统的NT驱动程序,这个函数的主要目的是为了建立驱动对象和分发函数例程,例如IRP_MJ_CREATE等IRP,同时也负责建立驱动名称映射和连接,如下代码所示;
在这个函数当中还有另外一个函数起到了很关键的作用,这个函数就是VCDRomQueryDevice,查询已经存在光驱,当发现A~Z中有一个字符没有被占用则依据这个字符创建一个虚拟光驱,代码如下;
在这个函数中,其中VCDRomCreate又扮演着重要的最重要的角色,创建VCDRom虚拟光驱,第一步穿件虚拟光驱设备,第二步穿件文件操作对象即文件(HANDLE),如下代码;
完成上一步之后,入口函数的操作基本完成,接下来就是读写操作了。
接下来就是处理VCDRomRead、VCDRomUnload等函数,这些代码,等以后有时间再做介绍。
- VcdRom 虚拟光驱驱动代码分析
- 虚拟光驱
- 虚拟光驱
- 虚拟光驱
- 虚拟光驱
- uda1341ts驱动代码分析
- GIC驱动代码分析
- GIC驱动代码分析
- dm9000驱动代码流程分析
- linux_蓝牙驱动代码分析
- 驱动程序代码分析、驱动框架
- MTK UART驱动代码分析
- MTK I2C驱动代码分析
- MTK UART驱动代码分析
- linux 按键驱动代码分析
- ldd3代码分析(高级字符驱动)
- S3C2410触摸屏驱动代码分析1
- S3C2410触摸屏驱动代码分析2
- POJ 1149 PIGS //MAXFLOW
- 进新公司两天感受
- Android网络开发详解具体应用代码
- 暂别模式
- C语言头文件的一些规则
- VcdRom 虚拟光驱驱动代码分析
- 3.Rigid Bodies
- 三国人物启示录
- UDP收发数据包
- [C++] Hex string convert to integer with stringstream
- 自动提示的文本框(加Ajax异步交互)
- sscanf 用法详解
- Delphi笔记-在任务栏通知区中加图标
- Android Permission大全1.0最终版本