阅读:1041回复:0
吐血求用DriverWork建立的USB过滤驱动与用户程序交互的方法
我参照DDK的例子在DriverEntry中用:
RtlInitUnicodeString( &nameString, L\"\\\\DosDevices\\\\USBFilter0\" ); status = IoCreateDevice( DriverObject(), 0, // has no device extension &nameString, FILE_DEVICE_MASS_STORAGE, FILE_DEVICE_SECURE_OPEN, FALSE, &pControlDeviceObject); if (!NT_SUCCESS( status )) { DbgPrint(\"AddDevice: Error creating control device \\\"%wZ\\\", error: %x\\n\", &nameString, status); return status; } else { DbgPrint(\"AddDevice: OK creating control device nameString:\\\"%wZ\\\", status: %x\\n\", &nameString, status); } RtlInitUnicodeString( &linkString,L\"\\\\??\\\\USBFilter\"); status = IoCreateSymbolicLink( &linkString, &nameString ); if (!NT_SUCCESS(status)) { // // Remove the existing symbol link and try and create it again. // If this fails then quit. // IoDeleteSymbolicLink( &linkString ); status = IoCreateSymbolicLink( &linkString, &nameString ); if (!NT_SUCCESS(status)) { DbgPrint(\"AddDevice: IoCreateSymbolicLink failed status:%x\\n\",status); IoDeleteDevice(pControlDeviceObject); pControlDeviceObject=NULL; return status; }else{ DbgPrint(\"AddDevice: IoCreateSymbolicLink OK status:%x\\n\",status); } }else { DbgPrint(\"AddDevice: IoCreateSymbolicLink OK status:%x\\n\",status); } 生成一个控制设备对象 可以创建成功 但是用用户程序发送控制信息时蓝屏 调试结果是说没有分派例程 我想要问的是怎么建立分派例程(在DriverWork的框架中) 或者还有其它更好的方法 求求各位大哥了 分不够可以再加 |
|