Nic*_*rdu 8 windows virtualization driver
我想写一些类似DaemonTools的东西:一种软件,它将自己作为一个真实设备呈现给系统(在前面的例子中是一个DVD-ROM),但它从文件中读取数据.我的要求不仅限于DVD-ROM.第一个目标是Windows的操纵杆/游戏手柄.
我是一名网络开发人员,所以我不知道从哪里可以开始这样一个项目.我相信它必须用C/C++编写,但除此之外,我不知道从哪里开始.
有没有人尝试这样的东西,可以给我一些开始的提示?
小智 8
大多数驱动程序都是用C或C++编写的,所以如果你不太了解这些语言,那么在开始之前你会想要熟悉它们.Windows编程使用许多有趣的快捷方式,这些快捷方式可能会让初学者感到困惑 - 例如PVOIDs(typedef void* PVOID)和LPVOIDs(typedef void* far LPVOD;).你需要对指针作为概念和结构感到满意,因为你会使用很多指针.我建议编写一个非常简单的win32应用程序,作为练习C/C++的Windows风格的练习.
您的下一个停靠点是导航Windows驱动程序工具包 - 具体来说,您需要它来构建Windows驱动程序.在这个阶段,我的建议能力实际上取决于你正在做什么和你有的硬件等,或者你是否真的使用硬件.你需要知道如何驱动你的硬件,你需要选择一种合适的编写驱动程序的方法 - 根据你需要实现的目的,有几种不同类型的驱动程序,你可以插入其中之一.
Windows驱动程序工具包包含大量样本,包括实现虚拟烤面包机的驱动程序.这些应该为您提供起点.
我强烈建议您在虚拟机中对此进行测试.如果您的驱动程序成功构建,但导致运行时错误,那么如果您处于内核模式,结果可能会完全崩溃Windows.因此,如果您损坏虚拟机,并且无需等待系统重新启动,则可以避免一些痛苦.它还可以使调试更容易,因为可以使用虚拟串行电缆.
这是一项相当大的工作,所以在你开始之前,我会更彻底地研究Windows开发 - 检查你不能先使用Windows API,然后看一下用户模式驱动程序框架,然后最后只有如果需要,请查看内核级别的内容.
| 归档时间: |
|
| 查看次数: |
4416 次 |
| 最近记录: |