IoInitializeIrp
VOID __stdcall IoInitializeIrp(PIRP Irp, UINT16 PacketSize, _CCHAR StackSize){
__int64 v4;
size_t v5;
unsigned __int8 ApcStateIndex;
VOID *retaddr;
v4 = (char)StackSize;
v5 = PacketSize;
if( (MmVerifierData & 0x10) != 0 )
IovInitializeIrp(Irp, (VOID *)PacketSize, StackSize, retaddr);
memset(Irp, 0i64, v5);
Irp->Size = v5;
Irp->Type = 6;
Irp->CurrentLocation = v4 + 1;
Irp->StackCount = v4;
ApcStateIndex = KeGetCurrentThread()->ApcStateIndex;
Irp->ThreadListEntry.Blink = &Irp->ThreadListEntry;
Irp->ThreadListEntry.Flink = &Irp->ThreadListEntry;
Irp->ApcEnvironment = ApcStateIndex;
Irp->Tail.CurrentStackLocation = (_IO_STACK_LOCATION *)((char *)&Irp[1] + 64 * v4 + 8 * v4);
}Referenced by:
IoInitializeIrpEx
IopAllocateBackpocketIrp
IopAllocateReserveIrp
SmStorePhysicalRequestIssue
ViIrpAllocateLockedPacket
WmipSendWmiIrpToTraceDeviceList