WmipClearIrpObjectList
VOID __stdcall WmipClearIrpObjectList(_IRP *Irp){
struct {$817F037CBF4C641BBFB4CCB9AE79FC42 ___u0;_ETHREAD *Thread;char *AuxiliaryBuffer;_LIST_ENTRY ListEntry;$53AF3F349F2CB9475F75F7184FEA4434 ___u4;_FILE_OBJECT *OriginalFileObject;void *IrpExtension;} *p_Tail;
_LIST_ENTRY *Flink;
_LIST_ENTRY *v3;
_LIST_ENTRY *v4;
_LIST_ENTRY *v5;
_LIST_ENTRY *Blink;
p_Tail = &Irp->Tail;
Flink = Irp->Tail.DeviceQueueEntry.DeviceListEntry.Flink;
while( Flink != (_LIST_ENTRY *)p_Tail )
{
v3 = Flink;
v4 = Flink;
Flink = Flink->Flink;
v3[-1].Blink = 0i64;
v5 = v3->Flink;
if( v3->Flink->Blink != v3 || (Blink = v3->Blink, Blink->Flink != v4) )
__fastfail(3u);
Blink->Flink = v5;
v5->Blink = Blink;
}
}Referenced by:
WmipCompleteGuidIrpWithError
WmipNotificationIrpCancel
WmipReceiveNotifications
WmipWriteWnodeToObject