PfSnLogPageFault

VOID __stdcall PfSnLogPageFault(_FILE_OBJECT *FileObject, UINT64 FileOffset, UINT64 Flags){
  unsigned int v3; 
  _ETHREAD *CurrentThread; 
  _PFSN_TRACE_HEADER *v7; 
  _PFSN_TRACE_HEADER *v8; 
  UINT64 Flagsa; 

  v3 = Flags;
  if( (Flags & 4) == 0 || !FileObject->FsContext2 )
  {
    CurrentThread = (_ETHREAD *)KeGetCurrentThread();
    v7 = PfSnReferenceProcessTrace(CurrentThread->Tcb.ApcState.Process);
    v8 = v7;
    if( v7 )
    {
      if( (unsigned int)PfSnCheckLoggingForThread(CurrentThread, v7, v3) )
      {
        LODWORD(Flagsa) = v3;
        PfSnLogPageFaultCommon(v8, FileObject, (UINT64)FileObject->FsContext, FileOffset, Flagsa);
      }
      ExReleaseRundownProtection((_EX_RUNDOWN_REF *)v8 + 45);
    }
  }
}

Referenced by:

MiLogRelocationRva
MiMakeSystemCachePteValid