abc3240660
驱动牛犊
驱动牛犊
  • 注册日期2010-03-01
  • 最后登录2011-03-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2072回复:4

pci驱动的简单问题

楼主#
更多 发布于:2010-11-21 14:35
只做过usb驱动的简单开发,现在做pci的驱动,想问几个简单的问题:
如果应用层软件使用DeviceIoControl方式读写数据,驱动层收到这个IRP后,应该调用什么函数把这个请求发下去?
在usb中,驱动收到IRP后,通过UsbBuildInterruptOrBulkTransferRequest创建一个URB,然后将其发完下层,pci中该作何处理?


lyk_ffl
驱动牛犊
驱动牛犊
  • 注册日期2009-04-13
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2010-11-22 09:51
使用IoSkipCurrentIrpStackLocation,或者IoCopyCurrentIrpStackLocationToNext就可以了。要是需要操作I/O,或者内存空间,直接操作就行了
abc3240660
驱动牛犊
驱动牛犊
  • 注册日期2010-03-01
  • 最后登录2011-03-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2010-11-22 14:44
回 1楼(lyk_ffl) 的帖子
老兄,你说的“直接操作”指的是用READ_PORT_UCHAR、WRITE_PORT_UCHAR这一类函数吗?
lyk_ffl
驱动牛犊
驱动牛犊
  • 注册日期2009-04-13
  • 最后登录2011-03-04
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望81点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2010-11-23 09:18
是这个意思,I/O操作:READ_PORT_XXX,WRITE_PORT_XXX;内存:READ_REGISTER_XXX、WRITE_REGISTER_XXX
abc3240660
驱动牛犊
驱动牛犊
  • 注册日期2010-03-01
  • 最后登录2011-03-12
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望101点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2010-11-23 11:50
恩,好的,阿里嘎到!
游客

返回顶部