阅读:1669回复:4
我用CreateFile打开SFilter的设备为什么出错?
我已经在DriverEntry函数里面为它创建了一个符号链接,我用WinObj工具,在Global里面也能够看到SFilter了,但我的应用程序里面用CreateFile打开L"\\\\.\\SFilter"时,为什么老是报出1号错误呢?????
我创建符号链接的代码应该没有问题的,是在CDO创建好之后调的,如下: #define ICFSF_DOSDEVICE_NAME L"\\DosDevices\\SFilter" UNICODE_STRING linkString; RtlInitUnicodeString(&linkString, ICFSF_DOSDEVICE_NAME); status = IoCreateSymbolicLink(&linkString, &nameString); CreateFile代码是这样的: DWORD dwRet; HANDLE hDevice = CreateFileW(L"\\\\.\\SFilter“ GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL ); 报出1号错误来。 有什么玄机吗? |
|
|
沙发#
发布于:2007-06-15 17:56
在Sfcreate里要对cdo的Irp做个处理如:
Irp->IoStatus.Information = 0; Irp->IoStatus.Status = STATUS_SUCCESS; IoCompleteRequest(Irp, IO_NO_INCREMENT); return STATUS_SUCCESS; |
|
板凳#
发布于:2007-06-18 09:27
很灵,谢谢你!
|
|
|
地板#
发布于:2009-07-23 15:17
在Sfcreate里要对cdo的Irp处理我也做了,为什么我还是打开设备错误呢
|
|
地下室#
发布于:2009-07-23 19:15
楼上的把sys卸载再装上试试。
|
|