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