FsRtlCheckLockForReadAccess

UINT8 __stdcall FsRtlCheckLockForReadAccess(_FILE_LOCK *FileLock, _IRP *Irp){
  _QWORD *LockInformation; 
  union _LARGE_INTEGER *v4; 
  union _LARGE_INTEGER v5; 
  ULONG LowPart; 
  _FILE_OBJECT *FileObject; 
  _EPROCESS *ProcessId; 
  UINT8 result; 
  union _LARGE_INTEGER Length; 
  union _LARGE_INTEGER StartingByte; 
  LockInformation = FileLock->LockInformation;
  if( !LockInformation )
    return 1;
  if( !LockInformation[5] )
    return 1;
  v4 = (union _LARGE_INTEGER *)*((_QWORD *)Irp + 23);
  v5.QuadPart = v4[1].LowPart;
  StartingByte = v4[3];
  Length = v5;
  if( StartingByte.QuadPart + v5.QuadPart <= *LockInformation )
    return 1;
  LowPart = v4[2].LowPart;
  FileObject = (_FILE_OBJECT *)v4[6].QuadPart;
  ProcessId = IoGetRequestorProcess(Irp);
  FsRtlFastCheckLockForRead(FileLock, &StartingByte, &Length, LowPart, FileObject, ProcessId);
  return result;
}

Referenced by:

No references.