FsRtlSendModernAppTermination

NTSTATUS __stdcall FsRtlSendModernAppTermination(
        UINT64 *PidList,
        UINT64 PidListSize,
        _FSRTL_APP_TERMINATE_REASON Reason){
  _WNF_STATE_NAME v3; 
  UINT64 MatchingChangeStamp; 
  UINT64 CheckStamp; 
  int v7[2]; 
  _WNF_STATE_NAME StateName; 

  if( !PidList || !(_DWORD)PidListSize )
  {
    v7[0] = -1;
    PidList = (UINT64 *)v7;
    v7[1] = 0;
    LODWORD(PidListSize) = 4;
  }
  if( (unsigned int)PidListSize > 0x1000 )
    return -2147483643;
  if( Reason == FltRundownWait )
  {
    v3 = (_WNF_STATE_NAME)WNF_FLT_RUNDOWN_WAIT;
    goto LABEL_7;
  }
  if( Reason == FsrlOplockBreak )
  {
    v3 = (_WNF_STATE_NAME)WNF_FSRL_OPLOCK_BREAK;
LABEL_7:
    LODWORD(CheckStamp) = 0;
    LODWORD(MatchingChangeStamp) = 0;
    StateName = v3;
    return ZwUpdateWnfStateData(
             &StateName,
             PidList,
             (unsigned int)PidListSize,
             0i64,
             0i64,
             MatchingChangeStamp,
             CheckStamp);
  }
  return -1073741811;
}

Referenced by:

FsRtlpOplockSendModernAppTermination