PiDqIrpCancel

VOID __stdcall PiDqIrpCancel(_DEVICE_OBJECT *DeviceObject, _IRP *Irp){
  char v3; 
  _PI_DQ_QUERY *FsContext2; 

  v3 = 0;
  FsContext2 = (_PI_DQ_QUERY *)Irp->Tail.CurrentStackLocation->FileObject->FsContext2;
  KeReleaseQueuedSpinLock(LockQueueIoCancelLock, Irp->CancelIrql);
  PiDqQueryLock(FsContext2);
  if( *((_QWORD *)FsContext2 + 22) )
  {
    FsContext2[54] &= ~0x10u;
    v3 = 1;
    *((_QWORD *)FsContext2 + 22) = 0i64;
  }
  PiDqQueryUnlock(FsContext2);
  if( v3 )
  {
    Irp->IoStatus.Information = 0i64;
    Irp->IoStatus.Status = -1073741536;
    IofCompleteRequest(Irp, 0);
  }
}

Referenced by:

No references.