private void WriteNameOrOrdinal(ResourceEntry entry, Dictionary <string, int> strings, ref int stringTableOffset, ByteBuffer stringTable) { if (entry.Name == null) { win32_resources.WriteUInt32(entry.Id); } else { int stringOffset; if (!strings.TryGetValue(entry.Name, out stringOffset)) { stringOffset = stringTableOffset; strings.Add(entry.Name, stringOffset); stringTableOffset += entry.Name.Length * 2 + 2; stringTable.WriteUInt16((ushort)entry.Name.Length); foreach (char c in entry.Name) { stringTable.WriteInt16((short)c); } } win32_resources.WriteUInt32(0x80000000U | (uint)stringOffset); } }
private void WriteNameOrOrdinal(ResourceEntry entry, Dictionary<string, int> strings, ref int stringTableOffset, ByteBuffer stringTable) { if (entry.Name == null) { win32_resources.WriteUInt32(entry.Id); } else { int stringOffset; if (!strings.TryGetValue(entry.Name, out stringOffset)) { stringOffset = stringTableOffset; strings.Add(entry.Name, stringOffset); stringTableOffset += entry.Name.Length * 2 + 2; stringTable.WriteUInt16((ushort)entry.Name.Length); foreach (char c in entry.Name) stringTable.WriteInt16((short)c); } win32_resources.WriteUInt32(0x80000000U | (uint)stringOffset); } }