dingwws
驱动牛犊
驱动牛犊
  • 注册日期2001-05-09
  • 最后登录2018-05-30
  • 粉丝0
  • 关注0
  • 积分-6分
  • 威望101点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1619回复:3

请斑竹和高手帮忙

楼主#
更多 发布于:2001-05-17 17:09
我在写过滤IRP过程中。
过滤器驱动程序为每种类型的IRP都安装派遣函数
大部分IRP都被直接传递下去。那么IRP怎么传递下去????
这是Programming the Microsoft Windows Driver Model中写过滤的代码。我对  pdx->LowerDeviceObject
不明白????????
 
NTSTATUS DispatchAny(PDEVICE_OBJECT fido, PIRP Irp)
{
  PDEVICE_EXTENSION pdx = (PDEVICE_EXTENSION) fido->DeviceExtension;
  NTSTATUS status = IoAcquireRemoveLock(&pdx->RemoveLock, Irp);
  if (!NT_SUCCESS(status))
    return CompleteRequest(Irp, status, 0);
  IoSkipCurrentIrpStackLocation(Irp);
  status = IoCallDriver(pdx->LowerDeviceObject, Irp);
  IoReleaseRemoveLock(&pdx->RemoveLock, Irp);
  return status;
}
wxqcs
驱动牛犊
驱动牛犊
  • 注册日期2001-06-27
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-27 23:31
这是指向低层驱动的设备目标
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-28 08:56
你看看AddDevice例程就明白了
Go,go ahead
无心化语
禁止发言
禁止发言
  • 注册日期2001-03-23
  • 最后登录2018-06-01
  • 粉丝0
  • 关注0
  • 积分-103分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2001-07-04 08:40
用户被禁言,该主题自动屏蔽!
游客

返回顶部