Exemple #1
0
        internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
        {
            ReplicationNeighborCollection collection = new ReplicationNeighborCollection(server);
            int count = 0;

            try
            {
                if (info != (IntPtr)0)
                {
                    DS_REPL_NEIGHBORS neighbors = new DS_REPL_NEIGHBORS();
                    Marshal.PtrToStructure(info, neighbors);
                    Debug.Assert(neighbors != null);
                    count = neighbors.cNumNeighbors;
                    if (count > 0)
                    {
                        collection.AddHelper(neighbors, info);
                    }
                }
            }
            finally
            {
                FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
            }
            return(collection);
        }
		internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
		{
			int num = neighbors.cNumNeighbors;
			for (int i = 0; i < num; i++)
			{
				IntPtr intPtr = (IntPtr)((long)info + (long)(Marshal.SizeOf(typeof(int)) * 2) + (long)(i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR))));
				ReplicationNeighbor replicationNeighbor = new ReplicationNeighbor(intPtr, this.server, this.nameTable);
				this.Add(replicationNeighbor);
			}
		}
 internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
 {
     int cNumNeighbors = neighbors.cNumNeighbors;
     IntPtr zero = IntPtr.Zero;
     for (int i = 0; i < cNumNeighbors; i++)
     {
         zero = (IntPtr) ((((long) info) + (Marshal.SizeOf(typeof(int)) * 2)) + (i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR))));
         ReplicationNeighbor neighbor = new ReplicationNeighbor(zero, this.server, this.nameTable);
         this.Add(neighbor);
     }
 }
        internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
        {
            int num = neighbors.cNumNeighbors;

            for (int i = 0; i < num; i++)
            {
                IntPtr intPtr = (IntPtr)((long)info + (long)(Marshal.SizeOf(typeof(int)) * 2) + (long)(i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR))));
                ReplicationNeighbor replicationNeighbor = new ReplicationNeighbor(intPtr, this.server, this.nameTable);
                this.Add(replicationNeighbor);
            }
        }
        internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
        {
            int    cNumNeighbors = neighbors.cNumNeighbors;
            IntPtr zero          = IntPtr.Zero;

            for (int i = 0; i < cNumNeighbors; i++)
            {
                zero = (IntPtr)((((long)info) + (Marshal.SizeOf(typeof(int)) * 2)) + (i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR))));
                ReplicationNeighbor neighbor = new ReplicationNeighbor(zero, this.server, this.nameTable);
                this.Add(neighbor);
            }
        }
Exemple #6
0
        internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
        {
            // get the count
            int count = neighbors.cNumNeighbors;

            IntPtr addr = (IntPtr)0;

            for (int i = 0; i < count; i++)
            {
                addr = IntPtr.Add(info, Marshal.SizeOf(typeof(int)) * 2 + i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR)));

                ReplicationNeighbor managedNeighbor = new ReplicationNeighbor(addr, _server, _nameTable);

                Add(managedNeighbor);
            }
        }
        internal void AddHelper(DS_REPL_NEIGHBORS neighbors, IntPtr info)
        {
            // get the count
            int count = neighbors.cNumNeighbors;

            IntPtr addr = (IntPtr)0;

            for (int i = 0; i < count; i++)
            {
                addr = IntPtr.Add(info, Marshal.SizeOf(typeof(int)) * 2 + i * Marshal.SizeOf(typeof(DS_REPL_NEIGHBOR)));

                ReplicationNeighbor managedNeighbor = new ReplicationNeighbor(addr, _server, _nameTable);

                Add(managedNeighbor);
            }
        }
        internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
        {
            ReplicationNeighborCollection neighbors = new ReplicationNeighborCollection(server);

            try
            {
                if (info != IntPtr.Zero)
                {
                    DS_REPL_NEIGHBORS structure = new DS_REPL_NEIGHBORS();
                    Marshal.PtrToStructure(info, structure);
                    if (structure.cNumNeighbors > 0)
                    {
                        neighbors.AddHelper(structure, info);
                    }
                }
            }
            finally
            {
                this.FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
            }
            return(neighbors);
        }
Exemple #9
0
        internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
        {
            ReplicationNeighborCollection replicationNeighborCollection = new ReplicationNeighborCollection(server);

            try
            {
                if (info != (IntPtr)0)
                {
                    DS_REPL_NEIGHBORS dSREPLNEIGHBOR = new DS_REPL_NEIGHBORS();
                    Marshal.PtrToStructure(info, dSREPLNEIGHBOR);
                    int num = dSREPLNEIGHBOR.cNumNeighbors;
                    if (num > 0)
                    {
                        replicationNeighborCollection.AddHelper(dSREPLNEIGHBOR, info);
                    }
                }
            }
            finally
            {
                this.FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
            }
            return(replicationNeighborCollection);
        }
Exemple #10
0
        internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
        {
            ReplicationNeighborCollection collection = new ReplicationNeighborCollection(server);
            int count = 0;

            try
            {
                if (info != (IntPtr)0)
                {
                    DS_REPL_NEIGHBORS neighbors = new DS_REPL_NEIGHBORS();
                    Marshal.PtrToStructure(info, neighbors);
                    Debug.Assert(neighbors != null);
                    count = neighbors.cNumNeighbors;
                    if (count > 0)
                        collection.AddHelper(neighbors, info);
                }
            }
            finally
            {
                FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
            }
            return collection;
        }
Exemple #11
0
		internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
		{
			ReplicationNeighborCollection replicationNeighborCollection = new ReplicationNeighborCollection(server);
			try
			{
				if (info != (IntPtr)0)
				{
					DS_REPL_NEIGHBORS dSREPLNEIGHBOR = new DS_REPL_NEIGHBORS();
					Marshal.PtrToStructure(info, dSREPLNEIGHBOR);
					int num = dSREPLNEIGHBOR.cNumNeighbors;
					if (num > 0)
					{
						replicationNeighborCollection.AddHelper(dSREPLNEIGHBOR, info);
					}
				}
			}
			finally
			{
				this.FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
			}
			return replicationNeighborCollection;
		}
 internal ReplicationNeighborCollection ConstructNeighbors(IntPtr info, DirectoryServer server, LoadLibrarySafeHandle libHandle)
 {
     ReplicationNeighborCollection neighbors = new ReplicationNeighborCollection(server);
     try
     {
         if (info != IntPtr.Zero)
         {
             DS_REPL_NEIGHBORS structure = new DS_REPL_NEIGHBORS();
             Marshal.PtrToStructure(info, structure);
             if (structure.cNumNeighbors > 0)
             {
                 neighbors.AddHelper(structure, info);
             }
         }
     }
     finally
     {
         this.FreeReplicaInfo(DS_REPL_INFO_TYPE.DS_REPL_INFO_NEIGHBORS, info, libHandle);
     }
     return neighbors;
 }