SmKmProbeAndLockAddress
NTSTATUS __fastcall SmKmProbeAndLockAddress(void *a1, __int64 a2, struct _MDL *a3, int a4){
NTSTATUS result;
a3->ByteCount = a2;
a3->StartVa = (void *)((unsigned __int64)a1 & 0xFFFFFFFFFFFFF000ui64);
a3->Next = 0i64;
a3->Size = 8 * ((((unsigned __int64)((unsigned __int16)a1 & 0xFFF) + a2 + 4095) >> 12) + 6);
a3->MdlFlags = 0;
a3->ByteOffset = (unsigned __int16)a1 & 0xFFF;
result = MmStoreProbeAndLockPages(a3, (unsigned int)a4);
if( result >= 0 )
return 0;
if( result == -1073741801 )
return -1073741395;
return result;
}Referenced by:
SmKmStoreHelperCommandProcess