public static extern WindowsError NetLocalGroupEnum( string servername, uint level, out SafeNetApiBufferHandle bufptr, uint prefmaxlen, out uint entriesread, out uint totalentries, IntPtr resumehandle);
private static IEnumerable <T> ReadStructsFromBuffer <T>(SafeNetApiBufferHandle buffer, uint count) where T : struct { uint size = (uint)Marshal.SizeOf <T>(); var items = new List <T>((int)count); buffer.Initialize(numElements: count, sizeOfEachElement: size); for (uint i = 0; i < count; i++) { var current = buffer.Read <T>(i * size); items.Add(current); } return(items); }