阅读:3087回复:20
传一个简单的隐藏文件的过滤驱动,想请教与应用程序的通信问题
在驱动程序中:
// 创建连接名 RtlInitUnicodeString(&DosNameLink, L"\\DosDevices\\SFilter"); status = IoCreateSymbolicLink(&DosNameLink, &nameString); 返回的status 的值是成功的。我想这个连接应该创建成功的。 在应用程序中: CHAR DevicePath[] = "\\\\.\\SFilter"; HANDLE hDevice; hDevice = CreateFile(DevicePath, 0, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL); if (INVALID_HANDLE_VALUE == hDevice) { MessageBox("打开文件出错!!"); return; } 我想这样应该可以打开设备的吧?可是总是提示“打开文件出错” 不知道为什么,所以应用程序至今一直无法通信。 想请各位大哥帮忙下! |
|
|
沙发#
发布于:2007-11-22 15:21
int i = 1;
i = GetLastError(); i得到的值是00000000000 不知道是什么原因 |
|
板凳#
发布于:2007-11-22 15:48
〖0〗-成功完成,没有错误。
〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 我想是这样吧,说明是正确的可是为什么INVALID_HANDLE_VALUE == hDevice 有点想不通了 |
|
地板#
发布于:2007-11-22 15:52
GetLastError();
放错位置了 其值为1, 说明功能错误。 不知道这个问题要怎么解决 |
|
地下室#
发布于:2007-11-23 13:17
我只知道 1 是功能错误
其他不知道了 驱动一定加载成功了 因为可以用了, 可以隐藏文件夹名为hide 的文件夹。和文件后缀名为.hide的文件 所以深信驱动是加载成功的。 我以前写过U盘跟应用程序的通信 觉得是没有问题的 所以这次在我已知的范围内,我想是正确的。 找不出到底错在哪里 |
|
5楼#
发布于:2007-11-24 09:55
谢谢各位大哥指点 试试
|
|