阅读:1522回复:5
关于紧耠合方式的讨论
关于紧耠合方式,我看书上这样写到,“在上层驱动程序初始化过程中,它调用这个IOCTL函数从低层驱动程序取出一个函数指针表。当上层驱动程序需要低层驱动程序服务时,它直接调用这个表中的一个函数,而不是调用IoCallDriver。”
我不明白,它怎样取出一个函数指针表?在下层驱动程序中需要用 什么关键字加以定义吗? 书上说紧耠合方式可参考DDK中的mouse and keyboard 例子,可具体是哪一个呢? |
|
沙发#
发布于:2001-08-03 07:39
如果都是你的那就简单多了,
你可以从它的DriverObject找到你想要的函数入口,就没有任何问题了? |
|
板凳#
发布于:2001-08-03 11:26
都是我的程序,问个较笨的问题:怎样从它的DriverObject找到想要的函数入口呢?能给个例子代码吗?谢谢!
|
|
地板#
发布于:2001-08-04 12:58
建议你看看鼠标类驱动程序(Mouclass.sys)与鼠标端口驱动程序的工作方式,鼠标端口驱动程序是如何调用鼠标类驱动程序定义的函数的。
|
|
地下室#
发布于:2001-08-07 09:58
To:sttypxx 能再具体一些吗?鼠标类(MouseClass)是低层驱动程序,鼠标端口(这是哪一个程序?也在DDK中的INPUT目录下吗?)是高层驱动程序,辟如它调用了哪一个函数?:P嘻嘻,:D我确实比较菜!
|
|
5楼#
发布于:2001-08-07 16:20
DeviceObject->DriverObject->MajorFuntion[]
这个就是你要的入口了. 没什么难的吧?这个入口的调用方法与你DRIVER Dispath类型是一样的;被调用方法是一样的. [peng-416 编辑于 2001-08-07 16:22] |
|