public static unsafe IEnumerable <StreamInformation> Create(FILE_STREAM_INFORMATION *info) { var infos = new List <StreamInformation>(); byte *start = (byte *)info; while (true) { infos.Add(new StreamInformation(info)); if (info->NextEntryOffset == 0) { break; } info = (FILE_STREAM_INFORMATION *)(start + info->NextEntryOffset); } return(infos); }
public unsafe StreamInformation(FILE_STREAM_INFORMATION *info) { Name = info->StreamName.CreateString(); Size = info->StreamSize; AllocationSize = info->StreamAllocationSize; }