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

如何调用驱动??

楼主#
更多 发布于:2002-12-02 10:57
我是个新手,需要用C调用红外打印机提供的驱动程序(.dll)。但不知道如何下手?
由于我所用的MFC是针对掌上电脑的(WINDOWS CE系统),结果有很多函数都用不了。DeviceIoControl能用,但不知道如何使用?

望各高手不啬赐教!感激!
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-02 12:20
loadlibrary()打开动态库;
函数指针=get....(),得到函数地址;(以前用过,现在忘了)
然后调用函数
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-02 12:22
等我查查原来写的程序
hnsyz
驱动牛犊
驱动牛犊
  • 注册日期2001-12-31
  • 最后登录2010-04-20
  • 粉丝1
  • 关注0
  • 积分108分
  • 威望259点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-02 21:12
DLL 封装着驱动程序?
我以前在WIN3.x 听说有这么做驱动的.
应该是用户态驱动吧?
那就应该用不到SERVICEIOCONTROL()吧? MFC里有它?
如果真的是通过简单地调用DLL 中的函数来驱动
设备的.那就用动态装入的方法转入DLL, GETPROCADDRESS()
得到函数地址.
//
HANDLE hDll = LoadLibrary(\"DLLNAME.DLL\");
if (hDLL == NULL) return false;
FARPROC FUNPOINTER = (FUNPOINTER TYPE*)
                      GetProcAddress(hDLL, \"FUNNAME\");
if (FUNPOINTER)
{
//CALL FUNCTION
}
FreeLibrary(hDLL);


我记的熟不熟? & :-)
学习,交流
snakelzh
驱动牛犊
驱动牛犊
  • 注册日期2002-12-02
  • 最后登录2002-12-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-03 08:52
问题是我不知道驱动里有什么函数,而且函数要求传递的参数是什么我都不知道。
lrx666
驱动太牛
驱动太牛
  • 注册日期2001-08-17
  • 最后登录2010-10-25
  • 粉丝0
  • 关注0
  • 积分14分
  • 威望47点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-12-03 09:10
问题是我不知道驱动里有什么函数,而且函数要求传递的参数是什么我都不知道。

那你还玩什么?
Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-12-03 10:53
对,就是此用法。

hnsyz 果真好记性;偶老矣。


Gong_XG
驱动太牛
驱动太牛
  • 注册日期2002-10-01
  • 最后登录2010-11-25
  • 粉丝0
  • 关注0
  • 积分313分
  • 威望46点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-12-03 10:56
snakelzh,是否你的前任只给留下了dll,而没提供接口。
原因是否你的公司也该到××名单?
snakelzh
驱动牛犊
驱动牛犊
  • 注册日期2002-12-02
  • 最后登录2002-12-05
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-12-03 15:14
不是,只是我需要连接红外打印机。但MFC的打印函数都不被支持。那就只能自己开发函数去驱动打印机了。
我看见WINDOWS CE中有一个便笺可以认识红外打印机提供的驱动程序,那我就估计WINDOWS CE系统还是有提供基本的驱动打印机的接口。但就是不知道如何调用?
我能用CreateDC,却不能用StartDoc这些基本函数,我想应该还有更基本的函数。
hnsyz
驱动牛犊
驱动牛犊
  • 注册日期2001-12-31
  • 最后登录2010-04-20
  • 粉丝1
  • 关注0
  • 积分108分
  • 威望259点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-12-05 17:08
我也不年轻了呀.   已经是旧日黄花了... 和和..描述的有点过了.
楼上的你说你的CE 已经有打印驱动了?
那.... 那你怎么还在这里转呢?
直接去WIN32 SDK 的网上找东西看把.
CREATEDC ? 做什么的?  创建显示上下文?
OPENPRINT() 可以得到只定的打印机句柄.
学习,交流
游客

返回顶部