MmFreeAccessPfnBuffer

VOID __fastcall MmFreeAccessPfnBuffer(_MM_PAGE_ACCESS_INFO_HEADER *Buffer, INT64 DeferDelete){
  struct _DMA_ADAPTER *Process; 
  if( Buffer->Type == MmPteAccessType )
  {
    Process = (struct _DMA_ADAPTER *)Buffer->Process;
    if( (unsigned __int64)Process > 1 )
    {
      if( (_BYTE)DeferDelete )
        ObDereferenceObjectDeferDelete(Process);
      else
        HalPutDmaAdapter(Process);
    }
  }
  ExFreePoolWithTag(Buffer, 0);
}

Referenced by:

MiQueuePageAccessLog
MiReturnCcAccessLog
MiTrimOrAgeWorkingSet
PfTAccessTracingCleanup
PfpFlushBuffers
PfpReturnAccessBuffer