zhu_xf
驱动牛犊
驱动牛犊
  • 注册日期2001-10-19
  • 最后登录2010-04-07
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1614回复:2

CreateFile函数中FileName怎么用?

楼主#
更多 发布于:2001-11-27 16:24
各位大哥:
  请教一个令我困惑的问题。
  最近初学VxD编程,用的是彭礼孝的书。
学的第一个在Dbgview中显示Hello的程序。
有一句hDevice=CreateFile(\"\\\\\\\\.\\\\W32io.vxd\",0,
0,0,OPEN_EXISTING,FILE_FLAG_DELETE_ON_CLOSE,0);
运行后,提示hDevice返回无效句柄INVALID_HANDLE_VALUE;
我将\"\\\\\\\\.\\\\W32io.vxd\"改为\" \\\\\\\\.\\\\W32io.vxd\"
只在\\\\\\\\前加一空格,再运行hDevice有效,但实际上
Vxd没有运行。我仿照VtoolsD下Example\\Cpp\\Hello例程,
改为: const PCHAR VxDName=\"\\\\\\\\.\\\\W32io.vxd\";
HANDLE hDevice;
hDevice=CreateFile(VxDName,0,0,0,OPEN_EXISTING,FILE_FLAG_DELETE_ON_CLOSE,0);
VxD运行成功了,但不知道是怎么回事,前两次为什么会失败,
请各位大哥教教我!!
ycxu
驱动牛犊
驱动牛犊
  • 注册日期2001-10-08
  • 最后登录2002-02-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-11-28 11:29
msdn explains almost every types,and there are many examples;

filename,physicaldrive ,vxd load ect.
i am a jackeroo.
Laura
Jackal
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2001-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-12-04 20:10
我没有遇到过你这样的问题,不过我可以告诉你,在你用CreateFile打开一个VxD时,字母的大小写一定要和DDB中输出的相同。而且在DDB中,VxD输出名称的长度为8字节,不足补空格。
还有,学VxD,我推荐你去看Karen Hazzah的《Windows VxD与设备驱动程序指南》,孙喜明译。看完后看Walter Oney的《System Programming for Windows95》。绝对经典。
Jackal
游客

返回顶部