如何使用c++编写应用程序,调用驱动程序sys文件中的函数? 200

我现在已经写了一个简单的驱动程序,并且成功安装到windows系统中,请问我该如何在应用程序中调用这个驱动中的函数呢?求demo,求winapi实现。... 我现在已经写了一个简单的驱动程序,并且成功安装到windows系统中,请问我该如何在应用程序中调用这个驱动中的函数呢?求demo,求win api实现。 展开
 我来答
DoramiHe
2018-06-03 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
一般的驱动程序是不允许应用程序调用的,只有当驱动程序留出这种供外界访问的接口才行,这种接口一般包括read,write,open,ioctl等接口,如果驱动中预留出了这些接口,就可以在应用程序中调用,比如fd=open(设备,参数);或者fd=ioctl(设备,参数);,这样就会调用到这个设备驱动中的open或者ioctl函数。所以一般如果想再应用程序中调试某个驱动程序,常见的方法就是自己建立一个驱动模块,这个模块中预留出对外接口,比如ioctl。然后在你新建的这个驱动模块中完成ioctl函数,如下:
int device_ioctl(fd,argv) {
/* your function; */
}
static struct file_operations device = {
.ioctl = device_ioctl //预留外部接口
};
应用程序如下:
ioctl(device,argv);
上面这句就可以完成你的模块中ioctl中的功能。
追问
我不理解的是,驱动作为硬件和软件之间的桥梁,是如何把硬件的数据传递到软件中去的?当我写完一个驱动程序之后,如何测试这个驱动程序是否完成了我想要的功能呢?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式