VfIrpLogLockDatabase

NTSTATUS __stdcall VfIrpLogLockDatabase(UINT64 SiloNumber){
  __int64 v1; 
  unsigned __int64 v2; 
  NTSTATUS v3; 

  v1 = (unsigned int)SiloNumber;
  v2 = (unsigned __int8)KeAcquireSpinLockRaiseToDpc(&ViIrpLogDatabaseLock);
  if( *(_DWORD *)(ViIrpLogDatabase + 24 * v1) )
  {
    v3 = -1073741267;
  }
  else
  {
    *(_DWORD *)(ViIrpLogDatabase + 24 * v1) = 1;
    v3 = 0;
  }
  KxReleaseSpinLock(&ViIrpLogDatabaseLock);
  __writecr8(v2);
  return v3;
}

Referenced by:

ViDdiDispatchWmiQueryAllData