yuxk2001
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1992回复:6

为什么用C++Builder6打不开设备。。。请教各位

楼主#
更多 发布于:2003-10-07 10:31
DWORD Error;
   GUID ClassGuid=RegSampleDevice_CLASS_GUID;
   m_hDevice=OpenByInterface(&ClassGuid,0,&Error);
   if(m_hDevice==INVALID_HANDLE_VALUE)
      Application->MessageBox(\"设备打不开\",\"错误\",MB_OK);

说明:
  OpenByInterface(&ClassGuid,0,&Error);为DriverWork 提供的例程,此段程序在VC中可用,不知为什么在C++Builder6中编译可通过。就是不能打开设备。
一个头两个大。。。。。
zhonglin
驱动牛犊
驱动牛犊
  • 注册日期2003-02-27
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-21 16:38
厉害!
多谢你了!!!
yuxk2001
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-10-22 15:57
旧问题刚去新问题又来了(没头了)
用C++Builder6 注册接口通知时:
 m_hInterfaceNotification = RegisterDeviceNotification(  
            Handle,&filter, DEVICE_NOTIFY_WINDOW_HANDLE);
 当编译器数据对齐方式为Quad Word(64位)时可以成功
 但很不幸由于OpenByInterface(&ClassGuid,0,&Error)需要BYTE
 对齐方式。。。(哇呀呀呀,气死我也,难道老天一定让我选择
 VC不可)。
 经过不断追求探索问题又解决了。修改DriverWork\\devintf.h
 在开头加入#pragma option push -b -a1 -pc -A-
 在结尾加入#pragma option pop
 选择编译器数据对齐方式为Quad Word编译运行。
 哇,整个世界都清净了,这就是我为什么要加它的原因了。
 天气真好。
 这两个问题捆饶我一个月了。与大家共勉
yuxk2001
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-10-21 16:13
哈哈哈 问题解决了(狂喜泪+流满面)
project选项->advanced complier->Data Alignment
选 Byte(大功一定告成)
祝贺 问题解决 and 神五上天 and 小日本蓝屏
yuxk2001
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-10-08 11:57
我用符号链接名调通了,关于以上问题一个头三个大了。
求医问药
yuxk2001
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2009-11-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-10-08 11:52
为什么要从新生成GUID?难道CB不认VC的GUID,这说不通呀。
freeabcd_2003
驱动牛犊
驱动牛犊
  • 注册日期2003-10-07
  • 最后登录2004-04-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-10-07 18:08
在装cb的机器上,重新生成一个GUID试试
游客

返回顶部