one
one
驱动牛犊
驱动牛犊
  • 注册日期2002-04-13
  • 最后登录2014-06-09
  • 粉丝2
  • 关注2
  • 积分27分
  • 威望245点
  • 贡献值1点
  • 好评度21点
  • 原创分0分
  • 专家分0分
阅读:1427回复:0

在HOOK中如何同步

楼主#
更多 发布于:2009-05-01 11:37
比如我HOOK了某个driver的IRP_MJ_CREATE,在我的例程中如何做到象下列一样的同步:
    KeInitializeEvent(&Event, NotificationEvent, FALSE);
    IoCopyCurrentIrpStackLocationToNext(Irp);
    IoSetCompletionRoutine(Irp, SyncronouslyCompletion, &Event, TRUE, TRUE, TRUE);
    Status = IoCallDriver(DeviceObject, Irp);
    if (STATUS_PENDING == Status)
    {
        KeWaitForSingleObject(&Event, Executive, KernelMode, FALSE, NULL);
        Status = Irp->IoStatus.Status;
    }
    return Status;
游客

返回顶部