首页
社区
课程
招聘
设备驱动文件(.sys)中的函数,怎么调用?
发表于: 2006-9-14 12:07 6787

设备驱动文件(.sys)中的函数,怎么调用?

2006-9-14 12:07
6787
我想在程序调用,设备驱动文件(.sys)中的函数,这个sys文件使用,CreateFileA,打开‘\\.\PCI_Device’,并且知道其中的函数名为myinport(strportID:integer),有函数是对端口进行读写的,我想在打开设备驱动程序后,直接调用sys文件中的函数myinport(strportID:integer)。使用什么方法,可以实现。另外,我要是使用,readfile,WriteFile,对端口进行操作,要传入怎么样的参数。因为"\\.\PCI_Device.只是打开了设备,而对其中的端口操作,也不是一个端口,那我应该怎么实现。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
2
应该用IO函数吧~
2006-9-14 12:47
0
雪    币: 291
活跃值: (213)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
3
用间接办法, 最常见的是使用DeviceIoControl, Read/WriteFile等函数
Ring 3的App是不能直接调用Ring 0的Driver的, 只能间接调用
2006-9-14 18:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我知道是间接调用,可我反汇编的程序,发现程序中,只使用Read/WriteFile,对IO进行读写,而没有使用DeviceIoControl。
而且是在win2000下。
2006-10-11 15:49
0
雪    币: 222
活跃值: (10)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
5
那是因为设备本来就是用CreateFile打开的,ReadWrite对应Dispatch Read(IRP_MJ_READ) / Dispatch Write(IRP_MJ_WRITE)
2006-10-11 19:20
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
谢谢,5楼,Dispatch Read(IRP_MJ_READ) / Dispatch Write(IRP_MJ_WRITE)
这方面的资料有么,能发给我一份?
heihoobj@163.com
2006-10-22 18:43
0
游客
登录 | 注册 方可回帖
返回
//