写了一个简单的文件过滤驱动,ADDDevice中创建
//创建设备名称
RtlInitUnicodeString(&devName,L"\\Device\\MyDDKDevice");
status = IoCreateDevice(DriverObject,
sizeof(ST_PSVFLT_EXTENSION),
&devName,
FILE_DEVICE_DISK,
FILE_DEVICE_SECURE_OPEN,
FALSE,
&filterDeviceObject);
创建符号链接:
RtlInitUnicodeString(&symLinkName,L"\\Device\\FileFilter");
status = IoCreateSymbolicLink( &symLinkName,&devName );
应用程序向该驱动发ioctl,首先createfile得到handle
HANDLE hDevice = CreateFile("\\\\.\\FileFilter",
GENERIC_READ | GENERIC_WRITE,
0, // share mode none
NULL,
OPEN_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL );
得到错误码2 找不到指定路径
但是用winobj查看,符号链接创建成功,如图
不知道是什么原因不能createfile成功,求指导。