{
DataQueueEntry->Irp = NULL;
- Irp->IoStatus.Status = 0;
+ Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = DataQueueEntry->DataSize;
InsertTailList(List, &Irp->Tail.Overlay.ListEntry);
Irp = QueueEntry->Irp;
NpFreeClientSecurityContext(QueueEntry->ClientSecurityContext);
- if (Irp && IoSetCancelRoutine(Irp, NULL))
+ if (Irp && !IoSetCancelRoutine(Irp, NULL))
{
Irp->Tail.Overlay.DriverContext[3] = NULL;
+ Irp = NULL;
}
ExFreePool(QueueEntry);
InitializeListHead(&DeferredList);
- DataQueue = (PNP_DATA_QUEUE)Irp->Tail.Overlay.DriverContext[2];
+ DataQueue = Irp->Tail.Overlay.DriverContext[2];
ClientSecurityContext = NULL;
if (DeviceObject)