VslApplyHotPatch
NTSTATUS __stdcall VslApplyHotPatch(
POPLOCK Oplock,
PIRP Irp,
UINT32 Flags,
PVOID Context,
POPLOCK_WAIT_COMPLETE_ROUTINE CompletionRoutine,
POPLOCK_FS_PREPOST_IRP PostIrpRoutine){
__int64 v7;
NTSTATUS v10;
int v11;
INT64 result[2];
__int128 v13;
PVOID v14;
POPLOCK_WAIT_COMPLETE_ROUTINE v15;
POPLOCK_FS_PREPOST_IRP v16;
__int64 v17;
v7 = *(_QWORD *)&Flags;
memset((INT64)result, 0i64);
_InterlockedIncrement(&VslpHotpatchStats);
result[1] = (INT64)Oplock;
*(_QWORD *)&v13 = Irp;
*((_QWORD *)&v13 + 1) = v7;
v14 = Context;
v15 = CompletionRoutine;
v16 = PostIrpRoutine;
v10 = VslpEnterIumSecureMode(2u, 70, 0i64, (INT64)result);
if( v10 < 0 )
{
_InterlockedIncrement(&dword_140C47188);
}
else
{
_InterlockedIncrement(&dword_140C47184);
if( v17 )
{
v11 = (int)v14;
*(_OWORD *)v17 = v13;
*(_DWORD *)(v17 + 16) = v11;
}
}
return v10;
}Referenced by:
MiApplyDriverHotPatch
MiLoadHotPatch