阅读:798回复:2
为什么VxD没有标准READ/WRITE服务?
系统对vxd的通信是通过DDB结构中的设备控制程序的入口
设备控制程序接收系统发过来的‘事件通知’,完成相应的任务 这些事件通知包括系统初始化,系统中止,VM初始化,VM中止等等 如果我要做一个软驱的VxD驱动程序,它要处理的应该是一个个 扇区的读写请求。问题是操作系统如何把读写请求发送给VxD? 1。‘事件通知’中并没有READ/WRITE事件 2。应用程序与VxD的通信是通过向VxD发送服务请求, 但‘服务码’是双方“内定的”,并没有操作系统 规定的专门指某种服务(如READ/WRITE)的‘服务码’ 如上所说,这样操作系统是如何把应用程序的读写请求发给VxD呢? 本人曾写过dos的设备驱动程序,驱程跟操作系统的接口是标准的 每一种服务请求(如READ/WRITE)有规定的命令码,驱程通过 检测命令码完成相应动作。我想VxD也应该与windows有类似的 接口,是在哪里实现的呢,望各位帮助指教,谢谢。 |
|
|
沙发#
发布于:2002-07-25 14:30
好像用ReadFile和WriteFile没有办法读写VxD,用DeviceIoControl,原因嘛,微软好像不然我们这么干,没办法,VxD里面就没有地方要处理这些请求的。
|
|
板凳#
发布于:2002-07-25 16:29
如果VxD和操作系统没有标准的READ/WRITE接口,那么我要写一个磁盘驱动能用VxD吗?windows下磁盘厂家提供的驱动是用什么写的,怎样实现READ/WRITE?
|
|
|