阅读:1427回复:5
打开文件句柄问题
驱动中使用
IoCreateDevice( DriverObject, 0, &usDeviceName, FILE_DEVICE_UNKNOWN, FILE_DEVICE_SECURE_OPEN, FALSE, &pdoDeviceObj ) 创建了设备usDeviceName是\\Device\\DRIVER9_DeviceName 加载驱动以后用 CreateFile(L"\\\\Device\\DRIVER9_DeviceName", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); 就打不开文件 在驱动中添加符号链接以后 IoCreateSymbolicLink( &usSymlinkName, &usDeviceName ) 就可以使用 CreateFile(L"\\\\.\\DRIVER9_DeviceName", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); 打开文件了。请问如果不添加符号链接怎么打开这时的文件句柄?谢谢 |
|
沙发#
发布于:2007-07-30 09:20
不添加符号链接怎么打开这时的文件句柄,就打不开这个文件句柄,IoCreateSymbolicLink必须进行连接
|
|
板凳#
发布于:2007-07-30 10:51
不添加符号链接的话上层看不到驱动
|
|
|
禁止发言
|
地板#
发布于:2007-08-28 22:14
用户被禁言,该主题自动屏蔽! |
地下室#
发布于:2007-08-30 08:29
if (DefineDosDevice(DDD_REMOVE_DEFINITION, "SFilter", "\\FileSystem\\SFilter"))
{ printf("Remove Symbols Links OK!\n"); } BOOL bOK = DefineDosDevice(DDD_RAW_TARGET_PATH, "SFilter", \\FileSystem\\SFilter"); if (bOK) { CreateFile(L"\\\\.\\SFilter", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); } |
|
5楼#
发布于:2007-08-30 08:30
郁闷啊,也没有碰见CreateFile蓝屏的啊?恼火ing
|
|