zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
阅读:1031回复:7

请问一应用程序与驱动程序通信的问题

楼主#
更多 发布于:2003-04-30 10:16
应用程序和驱动程序的通信可以使用ReadFile和WriteFile来完成,不过还有两个函数:ReadFileEx和WriteFileEx,这两个函数都有一个完成函数的参数,不知是不是指当驱动程序完成I/O后会调用这个完成函数?如果是,那么驱动程序中如何实现呢?
mailme
驱动老牛
驱动老牛
  • 注册日期2001-05-21
  • 最后登录2010-02-25
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望3点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-30 11:37
这个完成例程是在用户态调用的吧
早起早睡 精神百倍
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-01 09:41
用户态调用?我认为是由驱动程序调用的,不知对不对,哪位给指点一下?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-05-01 12:31
在用户态call的,怎么会由driver来call呢?
zhangyanping
驱动小牛
驱动小牛
  • 注册日期2003-02-23
  • 最后登录2004-07-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-01 21:36
我想如果是用WINDRIVER开发的,应该就是在它那个用户模式的驱动程序里写吧?
但是如果是用DS或者DDK写的,是不是就应该写一个单独的应用程序来调用驱动程序工作?
个人理解,多指教!
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-05-02 20:42
下面是ReadFileEx的原型:
BOOL ReadFileEx(
  HANDLE hFile,    // handle to file
  LPVOID lpBuffer, // data buffer
  DWORD nNumberOfBytesToRead, // number of bytes to read
  LPOVERLAPPED lpOverlapped,  // offset
  LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
                                  // completion routine
);

lpCompletionRoutine
[in] Pointer to the completion routine to be called when the read operation is complete and the calling thread is in an alertable wait state.
哪位给解释一下?
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-05-03 01:35
系统把这个函数记录在irp栈里,当driver调用IoCompleteIrp时,系统检查栈的适当位置,如果发现已经注册了完成函数,就调用它。
zhangxi
驱动牛犊
驱动牛犊
  • 注册日期2003-02-25
  • 最后登录2003-06-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-05-18 16:40
我也是在搞这方面的毕设,我刚刚接触,不是很懂啊,我也想实现具体的应用程序和驱动程序的交互,而且想能够手动的往里写数据,并能够显示所接收的数据是什么,基于D12测试板,不知可以作到不,如果有人作出来了,请多指教啊,如果有这方面的原代码什么的,还有自己写的驱动程序的原代码,我都需要,还有一个多月我的毕设就要答辩了,我还没头绪呢?请各位高手多帮帮忙,感激不尽。如有请给我发email:zhang2001x@mail.china.com拜托了
游客

返回顶部