HalpAllocateAdapterCallbackV3
NTSTATUS __stdcall HalpAllocateAdapterCallbackV3(
DEVICE_OBJECT *DeviceObject,
IRP *Irp,
PVOID MapRegisterBase,
PVOID Context){
int v5;
MDL *v8;
INT64 v9;
void(__fastcall *v10)(DEVICE_OBJECT *, IRP *, INT64, __int64);
__int64 v11;
INT64 v12;
__int64 v13;
INT64 v15;
UINT64 a7;
INT64 a9;
int v18;
v5 = *((_DWORD *)Context + 10);
v8 = (MDL *)*((_QWORD *)Context + 1);
v9 = *((_QWORD *)Context + 20);
v10 = (void(__fastcall *)(DEVICE_OBJECT *, IRP *, INT64, __int64))*((_QWORD *)Context + 15);
v11 = *((_QWORD *)Context + 16);
v12 = *((_QWORD *)Context + 18);
*((_QWORD *)Context + 3) = MapRegisterBase;
v13 = *((_QWORD *)Context + 4);
v18 = v5;
LODWORD(a9) = *((_DWORD *)Context + 39);
LOBYTE(a7) = *((_BYTE *)Context + 152);
LODWORD(v15) = 0;
HalMapTransferEx(
v12,
v8,
MapRegisterBase,
v13 - v8->ByteOffset - (unsigned __int64)v8->StartVa,
v15,
(INT64)&v18,
a7,
v9,
a9,
0i64);
*(_QWORD *)(v9 + 8) = Context;
if( v10 )
v10(DeviceObject, Irp, v9, v11);
return 3;
}Referenced by:
HalpBuildScatterGatherList