IopResetEvent

VOID __stdcall IopResetEvent(_FILE_OBJECT *FileObject){
  unsigned __int8 CurrentIrql; 
  UINT64 SpinCount; 

  if( (FileObject->Flags & 0x4000000) == 0 )
  {
    CurrentIrql = KeGetCurrentIrql();
    __writecr8(2ui64);
    LODWORD(SpinCount) = 0;
    while( _interlockedbittestandset((volatile signed __int32 *)&FileObject->gap80[24], 7u) )
    {
      do
        KeYieldProcessorEx(&SpinCount);
      while( (*(_DWORD *)&FileObject->gap80[24] & 0x80u) != 0 );
    }
    *(_DWORD *)&FileObject->gap80[28] = 0;
    _InterlockedAnd((volatile signed __int32 *)&FileObject->gap80[24], 0xFFFFFF7F);
    __writecr8(CurrentIrql);
  }
}

Referenced by:

IopCloseFile
IopSetEaOrQuotaInformationFile
IopXxxControlFile
NtFlushBuffersFileEx
NtLockFile
NtNotifyChangeDirectoryFileEx
NtQueryEaFile
NtQueryInformationFile
NtQueryQuotaInformationFile
NtQueryVolumeInformationFile
NtReadFile
NtReadFileScatter
NtSetEaFile
NtSetInformationFile
NtUnlockFile
NtWriteFile
NtWriteFileGather