yuzhe
驱动牛犊
驱动牛犊
  • 注册日期2005-01-09
  • 最后登录2005-11-24
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1041回复:0

吐血求用DriverWork建立的USB过滤驱动与用户程序交互的方法

楼主#
更多 发布于:2005-06-15 17:41
我参照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的框架中) 或者还有其它更好的方法 求求各位大哥了 分不够可以再加
游客

返回顶部