VfFastIoCheckState
VOID __stdcall VfFastIoCheckState(PVOID State, PVOID FastIoRoutine){
char v4;
UINT64 v5;
if( (MmVerifierData & 0x10) != 0 )
{
KeAreInterruptsEnabled((CHAR)State, FastIoRoutine);
if( !v4 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0xC3ui64, (UINT64)FastIoRoutine, 0i64, 0i64, v5);
}
if( (MmVerifierData & 0x10) != 0 && *(_BYTE *)State != KeGetCurrentIrql() )
VerifierBugCheckIfAppropriate(
0xC9ui64,
0x11ui64,
(UINT64)FastIoRoutine,
*(unsigned __int8 *)State,
KeGetCurrentIrql(),
v5);
if( (MmVerifierData & 0x10) != 0 && *((_DWORD *)State + 1) != *((_DWORD *)KeGetCurrentThread() + 121) )
VerifierBugCheckIfAppropriate(
0xC4ui64,
0xC6ui64,
(UINT64)FastIoRoutine,
*((unsigned int *)KeGetCurrentThread() + 121),
*((unsigned int *)State + 1),
v5);
ExFreeToNPagedLookasideList((NPAGED_LOOKASIDE_LIST *)ViIoCallbackStateLookaside, State);
}Referenced by:
IopCloseFile
IopCompleteUnloadOrDelete
IopGetBasicInformationFile
IopParseDevice
IopQueryInformation
IopXxxControlFile
NtLockFile
NtQueryInformationFile
NtReadFile
NtUnlockFile
NtWriteFile