internal VersionInfo(VersionResource versionResource, uint languageId, FixedFileInfo fixedInfo, StringFileInfo stringInfo, VarFileInfo varInfo) { resource = versionResource; language_id = languageId; fixed_file_info = fixedInfo; string_file_info = stringInfo; var_file_info = varInfo; }
public VersionInfo GetInfo(uint languageId) { byte[] data = GetBytes(languageId); using (MemoryStream mem = new MemoryStream(data)) { ushort len = Utils.ReadUInt16(mem); ushort val_len = Utils.ReadUInt16(mem); ushort type = Utils.ReadUInt16(mem); string key = Utils.ReadUnicodeString(mem); if (mem.Position % 4 != 0) Utils.ReadUInt16(mem); FixedFileInfo fixed_file_info = new FixedFileInfo(mem); if (mem.Position % 4 != 0) Utils.ReadUInt16(mem); StringFileInfo string_file_info = new StringFileInfo(this, mem); if (mem.Position % 4 != 0) Utils.ReadUInt16(mem); VarFileInfo var_file_info = new VarFileInfo(this, mem); VersionInfo info = new VersionInfo(this, languageId, fixed_file_info, string_file_info, var_file_info); return info; } }