mirror of
https://github.com/vxunderground/MalwareSourceCode.git
synced 2024-12-22 19:36:11 +00:00
f2ac1ece55
add
85 lines
4.1 KiB
C#
85 lines
4.1 KiB
C#
// Decompiled with JetBrains decompiler
|
|
// Type: Microsoft.InfoCards.SecondaryIndexDefinition
|
|
// Assembly: infocard, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
|
|
// MVID: ADE0A079-11DB-4A46-8BDE-D2A592CA8DEA
|
|
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Virus.Win32.Expiro.w-67b630ead60119692b9abbdfd8717c96904ef041127c2cae033c86b718eaa61e.exe
|
|
|
|
using Microsoft.InfoCards.Diagnostics;
|
|
using System;
|
|
|
|
namespace Microsoft.InfoCards
|
|
{
|
|
internal sealed class SecondaryIndexDefinition
|
|
{
|
|
public const string GlobalIdIndex = "ix_globalid";
|
|
public const string ObjectTypeIndex = "ix_objecttype";
|
|
public const string NameIndex = "ix_name";
|
|
public const string RecipientIdIndex = "ix_name";
|
|
public const string ProductionServiceIndex = "ix_production_svc_uri";
|
|
public const string ParentIdIndex = "ix_parentid";
|
|
public const string MasterKeyIndex = "ix_masterkey";
|
|
public const string SupportedClaimIndex = "ix_supportclaim";
|
|
public const string SupportedAuthIndex = "ix_supportauth";
|
|
private static readonly SecondaryIndexDefinition[] s_masterIndexes = new SecondaryIndexDefinition[8]
|
|
{
|
|
new SecondaryIndexDefinition("ix_globalid", 10, 20, SecondaryIndexSettings.Unique, Canonicalizers.Binary),
|
|
new SecondaryIndexDefinition("ix_objecttype", 10, 20, SecondaryIndexSettings.None, Canonicalizers.Binary),
|
|
new SecondaryIndexDefinition("ix_name", 10, 20, SecondaryIndexSettings.Nullable, Canonicalizers.CaseInsensitiveWithHashing),
|
|
new SecondaryIndexDefinition("ix_production_svc_uri", 10, 20, SecondaryIndexSettings.Nullable, Canonicalizers.CaseInsensitiveWithHashing),
|
|
new SecondaryIndexDefinition("ix_parentid", 10, 20, SecondaryIndexSettings.Nullable, Canonicalizers.Binary),
|
|
new SecondaryIndexDefinition("ix_masterkey", 10, 20, SecondaryIndexSettings.Nullable | SecondaryIndexSettings.Unique, Canonicalizers.BinaryWithHashing),
|
|
new SecondaryIndexDefinition("ix_supportclaim", 50, 20, SecondaryIndexSettings.Nullable, Canonicalizers.CaseSensitiveWithHashing),
|
|
new SecondaryIndexDefinition("ix_supportauth", 10, 20, SecondaryIndexSettings.Nullable, Canonicalizers.Binary)
|
|
};
|
|
private int m_initialSize;
|
|
private int m_growthFactor;
|
|
private SecondaryIndexSettings m_settings;
|
|
private string m_name;
|
|
private ICanonicalizer m_canonicalizer;
|
|
|
|
private SecondaryIndexDefinition(
|
|
string name,
|
|
int initialSize,
|
|
int growthFactor,
|
|
SecondaryIndexSettings settings,
|
|
ICanonicalizer canonicalizer)
|
|
{
|
|
if (string.IsNullOrEmpty(name))
|
|
throw InfoCardTrace.ThrowHelperArgumentNull(nameof (name));
|
|
if (initialSize <= 0)
|
|
throw InfoCardTrace.ThrowHelperError((Exception) new ArgumentOutOfRangeException(nameof (initialSize), (object) initialSize, SR.GetString("StoreIndexInitialSizeInvalid")));
|
|
if (canonicalizer == null)
|
|
throw InfoCardTrace.ThrowHelperArgumentNull(nameof (canonicalizer));
|
|
if (growthFactor <= 0)
|
|
throw InfoCardTrace.ThrowHelperError((Exception) new ArgumentOutOfRangeException(nameof (growthFactor), (object) growthFactor, SR.GetString("StoreIndexGrowthFactorInvalid")));
|
|
this.m_initialSize = initialSize;
|
|
this.m_growthFactor = growthFactor;
|
|
this.m_settings = settings;
|
|
this.m_name = name;
|
|
this.m_canonicalizer = canonicalizer;
|
|
}
|
|
|
|
public static SecondaryIndexDefinition[] MasterIndexes => SecondaryIndexDefinition.s_masterIndexes;
|
|
|
|
public ICanonicalizer Canonicalizer => this.m_canonicalizer;
|
|
|
|
public string Name => this.m_name;
|
|
|
|
public int InitialSize => this.m_initialSize;
|
|
|
|
public int GrowthFactor => this.m_growthFactor;
|
|
|
|
public SecondaryIndexSettings Settings => this.m_settings;
|
|
|
|
public static SecondaryIndexDefinition GetByName(string name)
|
|
{
|
|
for (int index = 0; index < SecondaryIndexDefinition.s_masterIndexes.Length; ++index)
|
|
{
|
|
if (SecondaryIndexDefinition.s_masterIndexes[index].Name == name)
|
|
return SecondaryIndexDefinition.s_masterIndexes[index];
|
|
}
|
|
return (SecondaryIndexDefinition) null;
|
|
}
|
|
}
|
|
}
|