RavenFS.Synchronization.Rdc.Wrapper.NeedListGenerator.GetRdcNeedList C# (CSharp) Метод

GetRdcNeedList() приватный статический Метод

private static GetRdcNeedList ( RdcNeedPointer pointer ) : RavenFS.Synchronization.Rdc.Wrapper.RdcNeed[]
pointer RavenFS.Synchronization.Rdc.Wrapper.Unmanaged.RdcNeedPointer
Результат RavenFS.Synchronization.Rdc.Wrapper.RdcNeed[]
		private static RdcNeed[] GetRdcNeedList(RdcNeedPointer pointer)
		{
			var result = new RdcNeed[pointer.Used];

			var ptr = pointer.Data;
			var needSize = Marshal.SizeOf(typeof (RdcNeed));

			// Get our native needs pointer 
			// and deserialize to our managed 
			// RdcNeed array.
			for (var i = 0; i < result.Length; i++)
			{
				result[i] = (RdcNeed) Marshal.PtrToStructure(ptr, typeof (RdcNeed));

				// Advance the intermediate pointer
				// to our next RdcNeed struct.
				ptr = new IntPtr(ptr.ToInt32() + needSize);
			}
			return result;
		}