xiaodandan1982
驱动牛犊
驱动牛犊
  • 注册日期2002-10-18
  • 最后登录2005-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1555回复:9

关于writefile

楼主#
更多 发布于:2003-12-14 11:02
想请教各位大侠,driverworks生成的应用程序里
WriteFile(hDevice, buf, n, &nWritten, NULL)这个函数是不是放在动态连接库里的,怎么能知道数据是不是写入设备了呢

最新喜欢:

bearsammibearsa...
xiaodandan1982
驱动牛犊
驱动牛犊
  • 注册日期2002-10-18
  • 最后登录2005-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-15 09:25
category:general
outputfilename:objchk\\i386/Test_sample.exe
object/library modules:
setupapi.lib  kernel32.lib user32.lib gdi32.lib winspool.lib
这是里面的设置,有不对的地方吗,帮我看看,谢谢啦
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-15 09:22
用户被禁言,该主题自动屏蔽!
xiaodandan1982
驱动牛犊
驱动牛犊
  • 注册日期2002-10-18
  • 最后登录2005-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-15 09:19
笨笨的问题:在哪里看?呵呵,不好意思
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-15 09:16
用户被禁言,该主题自动屏蔽!
xiaodandan1982
驱动牛犊
驱动牛犊
  • 注册日期2002-10-18
  • 最后登录2005-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-15 09:14
LINK : fatal error LNK1146: no argument specified with option \"/libpath:\"这是编译应用程序时出的错误,是不是动态连接库的问题呢?
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-15 09:09
用户被禁言,该主题自动屏蔽!
xiaodandan1982
驱动牛犊
驱动牛犊
  • 注册日期2002-10-18
  • 最后登录2005-04-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-15 08:53
采用的是同步方式,我原来的程序是这样的
WriteFile(hDevice, buf, n, &nWritten, NULL);
printf(\"%d bytes written to device (%dattempted).\\n\", nWritten, n);
我觉得这样也可以看出数据写入是否成功,可是连上设备之后总是显示0 bytes written to device(8 attempted)
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-14 21:15
如果你驱动里使用同步方式实现的,那就用如下的方法:
BOOL bResult = WriteFile(hDevice, buf, n, &nWritten, NULL)
if(!bResult)
{
AfxMessageBox(\"数据传输出错!\", MB_OK);
CloseHandle(hDevice);
return;
}

如果你驱动里用异步方式实现,那用GetLastError()可能会得到ERROR_IO_PENDING,然后等待一会,如果还得不到结果,那就只能报错了。
对于此方式,参考一下如下贴子。
http://www.driverdevelop.com/forum/viewthread.php?tid=15747
i_tingfeng
驱动牛犊
驱动牛犊
  • 注册日期2002-11-28
  • 最后登录2004-12-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-12-14 16:23
是把参数传给了系统,成功了有返回值
游客

返回顶部