ViSwap
UINT64 __fastcall ViSwap(VOID **MapRegisterBase, _MDL **Mdl, VOID **CurrentVa){
__int64 MapRegisterFile;
VOID **v7;
VOID *MdlBufferSa;
__int16 v9;
int v11;
v11 = 0;
MapRegisterFile = ViGetMapRegisterFile((INT64)*MapRegisterBase);
if( !MapRegisterFile )
return 0i64;
MdlBufferSa = ViGetMdlBufferSa(*Mdl, *v7);
if( !MdlBufferSa || !ViFindMappedRegisterInFile(MapRegisterFile, (__int64)MdlBufferSa, &v11) )
return 0i64;
*Mdl = *(_MDL **)(MapRegisterFile + 56);
*CurrentVa = (VOID *)(*(_QWORD *)(*(_QWORD *)(MapRegisterFile + 56) + 32i64)
+ (unsigned int)(v11 << 12)
+ *(unsigned int *)(*(_QWORD *)(MapRegisterFile + 56) + 44i64)
+ (unsigned __int64)(v9 & 0xFFF));
*MapRegisterBase = *(VOID **)(MapRegisterFile + 48);
return 1i64;
}Referenced by:
VfBuildScatterGatherList
VfFlushAdapterBuffers
VfGetScatterGatherList
VfMapTransfer