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