private void LoadCLSIDByServer(ServerType serverType)
{
int i = 0;
SortedDictionary<string, List<COMCLSIDEntry>> dict;
if(serverType == ServerType.Local)
{
Text = "CLSIDs by Local Server";
dict = m_reg.ClsidsByLocalServer;
}
else if (serverType == ServerType.Surrogate)
{
Text = "CLSIDs With Surrogate";
dict = m_reg.ClsidsWithSurrogate;
}
else
{
Text = "CLSIDs by Server";
dict = m_reg.ClsidsByServer;
}
TreeNode[] serverNodes = new TreeNode[dict.Keys.Count];
foreach (KeyValuePair<string, List<COMCLSIDEntry>> pair in dict)
{
serverNodes[i] = new TreeNode(pair.Key);
serverNodes[i].ToolTipText = pair.Key;
TreeNode[] clsidNodes = new TreeNode[pair.Value.Count];
string[] nodeNames = new string[pair.Value.Count];
int j = 0;
foreach(COMCLSIDEntry ent in pair.Value)
{
clsidNodes[j] = CreateClsidNode(ent); ;
nodeNames[j] = ent.Name;
j++;
}
Array.Sort(nodeNames, clsidNodes);
serverNodes[i].Nodes.AddRange(clsidNodes);
i++;
}
treeComRegistry.Nodes.AddRange(serverNodes);
}