This commit is contained in:
Bill Zissimopoulos 2015-12-28 09:51:55 -08:00
parent 0d74769c07
commit 3d381145e3

View File

@ -93,17 +93,17 @@ static PIRP FspIoqPendingPeekNextIrp(PIO_CSQ IoCsq, PIRP Irp, PVOID PeekContext)
PLIST_ENTRY Entry = 0 == Irp ? Head->Flink : Irp->Tail.Overlay.ListEntry.Flink; PLIST_ENTRY Entry = 0 == Irp ? Head->Flink : Irp->Tail.Overlay.ListEntry.Flink;
if (Head == Entry) if (Head == Entry)
return 0; return 0;
Irp = CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry);
if (!PeekContext) if (!PeekContext)
return CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry); return Irp;
PVOID IrpHint = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->IrpHint; PVOID IrpHint = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->IrpHint;
if (0 == IrpHint) if (0 == IrpHint)
{ {
ULONGLONG ExpirationTime = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->ExpirationTime; ULONGLONG ExpirationTime = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->ExpirationTime;
return FspIrpContext(Irp)->ExpirationTime <= ExpirationTime ? return FspIrpContext(Irp)->ExpirationTime <= ExpirationTime ? Irp : 0;
CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry) : 0;
} }
else else
return CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry); return Irp;
} }
_IRQL_raises_(DISPATCH_LEVEL) _IRQL_raises_(DISPATCH_LEVEL)
@ -157,14 +157,14 @@ static PIRP FspIoqProcessPeekNextIrp(PIO_CSQ IoCsq, PIRP Irp, PVOID PeekContext)
PLIST_ENTRY Entry = 0 == Irp ? Head->Flink : Irp->Tail.Overlay.ListEntry.Flink; PLIST_ENTRY Entry = 0 == Irp ? Head->Flink : Irp->Tail.Overlay.ListEntry.Flink;
if (Head == Entry) if (Head == Entry)
return 0; return 0;
Irp = CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry);
if (!PeekContext) if (!PeekContext)
return CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry); return Irp;
PVOID IrpHint = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->IrpHint; PVOID IrpHint = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->IrpHint;
if (0 == IrpHint) if (0 == IrpHint)
{ {
ULONGLONG ExpirationTime = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->ExpirationTime; ULONGLONG ExpirationTime = ((FSP_IOQ_PEEK_CONTEXT *)PeekContext)->ExpirationTime;
return FspIrpContext(Irp)->ExpirationTime <= ExpirationTime ? return FspIrpContext(Irp)->ExpirationTime <= ExpirationTime ? Irp : 0;
CONTAINING_RECORD(Entry, IRP, Tail.Overlay.ListEntry) : 0;
} }
else else
{ {