public override IList <byte> GetBytes(Encoding projEncoding) { var ret = new List <byte>(); ret.AddRange(base.GetBytes(projEncoding)); if (!string.IsNullOrEmpty(OriginalLibId)) { var originalLibIdBytes = projEncoding.GetBytes(OriginalLibId); ret.AddRange(BitConverter.GetBytes((short)0x0033)); ret.AddRange(BitConverter.GetBytes(originalLibIdBytes.Length)); ret.AddRange(originalLibIdBytes); } var twiddledLibIdBytes = projEncoding.GetBytes(LibIdTwiddled); ret.AddRange(BitConverter.GetBytes((short)0x002F)); ret.AddRange(BitConverter.GetBytes(twiddledLibIdBytes.Length + 10)); ret.AddRange(BitConverter.GetBytes(twiddledLibIdBytes.Length)); ret.AddRange(twiddledLibIdBytes); ret.AddRange(BitConverter.GetBytes(0)); ret.AddRange(BitConverter.GetBytes((short)0)); if (!string.IsNullOrEmpty(NameRecordExtended)) { var nameRecordExtendedBytes = projEncoding.GetBytes(NameRecordExtended); var nameRecordExtendedUnicodeBytes = Encoding.Unicode.GetBytes(NameRecordExtended); ret.AddRange(BitConverter.GetBytes((short)0x0016)); ret.AddRange(BitConverter.GetBytes(nameRecordExtendedBytes.Length)); ret.AddRange(nameRecordExtendedBytes); ret.AddRange(BitConverter.GetBytes((short)0x003e)); ret.AddRange(BitConverter.GetBytes(nameRecordExtendedUnicodeBytes.Length)); ret.AddRange(nameRecordExtendedUnicodeBytes); } ret.AddRange(BitConverter.GetBytes((short)0x0030)); var extendedLibIdBytes = projEncoding.GetBytes(LibIdExtended); ret.AddRange(BitConverter.GetBytes(extendedLibIdBytes.Length + 30)); ret.AddRange(BitConverter.GetBytes(extendedLibIdBytes.Length)); ret.AddRange(extendedLibIdBytes); ret.AddRange(BitConverter.GetBytes(0)); ret.AddRange(BitConverter.GetBytes((short)0)); ret.AddRange(OriginalTypeLib.ToByteArray()); ret.AddRange(BitConverter.GetBytes(Cookie)); return(ret); }
public override List <string> GetConfigStrings() { var ls = new List <string> { $"LibIdTwiddled={LibIdTwiddled}", $"LibIdExtended={LibIdExtended}" }; if (!string.IsNullOrEmpty(NameRecordExtended)) { ls.Add($"NameRecordExtended={NameRecordExtended}"); } ls.Add($"OriginalLibId={OriginalLibId}"); if (OriginalTypeLib != Guid.Empty) { ls.Add($"OriginalTypeLib={OriginalTypeLib.ToString("B")}"); } if (Cookie > 0) { ls.Add($"Cookie={Cookie}"); } return(ls); }