Ejemplo n.º 1
0
        public ResourceDirectoryEntry(Stream stream, long rsrcSectionFileAddress)
        {
            using (var br = new BinaryReader(stream, Encoding.Unicode, true))
            {
                header = br.ReadStruct <IMAGE_RESOURCE_DIRECTORY_ENTRY>();
#if COVERAGE_TEST && USE_SIZE
                RemoveBack(br.BaseStream.Position, header.GetType());
#endif
                if (header.IsString)
                {
                    var pos = br.BaseStream.Position;
                    br.BaseStream.Seek(rsrcSectionFileAddress + header.StringOffset, SeekOrigin.Begin);
                    //need to use this function because of the variable length
                    name = IMAGE_RESOURCE_DIR_STRING_U.FromStream(br);
#if COVERAGE_TEST && USE_SIZE
                    RemoveBack(br.BaseStream.Position, name.Value.Size);
#endif
                    br.BaseStream.Position = pos;
                }
            }
        }