作者:weizhe | 来源:互联网 | 2023-02-01 11:58
如何将设备驱动程序导出的函数进行封装,并且以这些函数所实现的功能为基础提供API函数的呢?如果不是标准接口函数那不是没有API供应用程序调用了?
11 个解决方案
你想的太多了,没有人会吧整个系统都用驱动来实现,一般来说驱动之承担数据的传输即可,至于对数据处理可以在上层进行。
如果不是 MS 的标准,就不要想用 API 来实现了,可以参考 DeviceIOControl 一下
標準的 stream driver interface, 有幾個 API 來呼叫
XXX_Init
XXX_Deinit
XXX_PowerUp
XXX_PowerDown
XXX_Open - CreateFile
XXX_Close - CloseHandle
XXX_Read - ReadFile
XXX_Write - WriteFile
XXX_Seek - SetFilePointer
XXX_IoControl - DeviceIOControl
Paul, Chao @ Techware
流式接口驱动程序的体系结构:
应用程序->filesys.dll->设置管理器->流式接口驱动程序->硬件
其中应用程序调用ReadFile,经过层层转换之后,会以流式接口驱动程序中调用XXX_Read
流式接口驱动程序的体系结构:
应用程序->filesys.dll->设置管理器->流式接口驱动程序->硬件
其中应用程序调用ReadFile,经过层层转换之后,会以流式接口驱动程序中调用XXX_Read
流式接口驱动程序的体系结构:
应用程序->filesys.dll->设置管理器->流式接口驱动程序->硬件
其中应用程序调用ReadFile,经过层层转换之后,会以流式接口驱动程序中调用XXX_Read
你直接把对驱动调用处理的函数封装到dll中不就行咯,用户只要调用你的dll就能调用到你封装的函数