阅读:1708回复:2
CreateFile函数中FileName怎么用?
各位大哥:
请教一个令我困惑的问题。 最近初学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运行成功了,但不知道是怎么回事,前两次为什么会失败, 请各位大哥教教我!! |
|
沙发#
发布于:2001-11-28 11:29
msdn explains almost every types,and there are many examples;
filename,physicaldrive ,vxd load ect. i am a jackeroo. |
|
|
板凳#
发布于:2001-12-04 20:10
我没有遇到过你这样的问题,不过我可以告诉你,在你用CreateFile打开一个VxD时,字母的大小写一定要和DDB中输出的相同。而且在DDB中,VxD输出名称的长度为8字节,不足补空格。
还有,学VxD,我推荐你去看Karen Hazzah的《Windows VxD与设备驱动程序指南》,孙喜明译。看完后看Walter Oney的《System Programming for Windows95》。绝对经典。 |
|
|