MmProbeAndLockProcessPages

VOID __stdcall MmProbeAndLockProcessPages(
        _MDL *MemoryDescriptorList,
        _EPROCESS *Process,
        CHAR AccessMode,
        _LOCK_OPERATION Operation){
  int v7; 
  _KPROCESSOR_MODE v8; 
  _BOOL4 v9; 
  _KAPC_STATE ApcState; 

  memset(&ApcState, 0, sizeof(ApcState));
  v7 = 0;
  v8 = 1;
  v9 = Operation != IoReadAccess;
  if( Process != KeGetCurrentThread()->ApcState.Process )
  {
    v7 = 1;
    KiStackAttachProcess(Process, 0i64, &ApcState);
  }
  LOBYTE(v8) = AccessMode;
  MmProbeAndLockPages(MemoryDescriptorList, v8, (_LOCK_OPERATION)v9);
  if( v7 )
    KiUnstackDetachProcess(&ApcState, 0i64);
}

Referenced by:

CcAsyncReadPrefetch