Exemplo n.º 1
0
 public DirectoryEntry GetDirectoryEntry(string samAccountName, bool reload = false)
 {
     if (DirectoryEntries.ContainsKey(samAccountName) && DirectoryEntries[samAccountName] != null && !reload)
     {
         return(DirectoryEntries[samAccountName]);
     }
     GetDistinguishedName(samAccountName, out DirectoryEntry result, reload);
     return(result);
 }
Exemplo n.º 2
0
 private void ReadDirectoryEntry(BinaryReader reader, int DID, DirectoryEntry parent)
 {
     if (DID != -1 && !DirectoryEntries.ContainsKey(DID))
     {
         reader.BaseStream.Position = DID * 128;
         DirectoryEntry entry = ReadDirectoryEntry(reader);
         entry.Document        = this;
         entry.ID              = DID;
         DirectoryEntries[DID] = entry;
         parent.AddChild(entry);
         ReadDirectoryEntry(reader, entry.LeftChildDID, parent);
         ReadDirectoryEntry(reader, entry.RightChildDID, parent);
         ReadDirectoryEntry(reader, entry.MembersTreeNodeDID, entry);
     }
 }