InitSkuSessionParameters

INT64 __fastcall InitSkuSessionParameters(){
  INT64 result; 
  UINT8 IsMultiSessionSku; 
  IsMultiSessionSku = 0;
  LODWORD(result) = ExIsMultiSessionSku(&IsMultiSessionSku);
  if( (int)result >= 0 && IsMultiSessionSku )
  {
    result = KUSER_SHARED_DATA.SharedDataFlags;
    LODWORD(result) = KUSER_SHARED_DATA.SharedDataFlags | 0x100;
    KUSER_SHARED_DATA.SharedDataFlags |= 0x100u;
  }
  if( RtlpMultiUsersInSessionSupported )
  {
    result = KUSER_SHARED_DATA.SharedDataFlags;
    LODWORD(result) = KUSER_SHARED_DATA.SharedDataFlags | 0x200;
    KUSER_SHARED_DATA.SharedDataFlags |= 0x200u;
  }
  if( CmStateSeparationEnabled )
  {
    result = KUSER_SHARED_DATA.SharedDataFlags;
    LODWORD(result) = KUSER_SHARED_DATA.SharedDataFlags | 0x400;
    KUSER_SHARED_DATA.SharedDataFlags |= 0x400u;
  }
  return result;
}

Referenced by:

Phase1InitializationDiscard