本文整理汇总了C#中PEAPI.FileImage.Write方法的典型用法代码示例。如果您正苦于以下问题:C# FileImage.Write方法的具体用法?C# FileImage.Write怎么用?C# FileImage.Write使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PEAPI.FileImage
的用法示例。
在下文中一共展示了FileImage.Write方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Write
internal sealed override void Write(FileImage output)
{
base.Write(output);
if (byteNum)
output.Write((sbyte)val);
else
output.Write(val);
}
示例2: Write
internal sealed override void Write(FileImage output)
{
output.Write(flags);
output.WriteCodedIndex(CIx.MemberForwarded,meth);
output.StringsIndex(iNameIx);
output.WriteIndex(MDTable.ModuleRef,importScope.Row);
}
示例3: WriteResources
internal void WriteResources (FileImage output)
{
if (resources == null) return;
for (int i = 0; i < resources.Count; i ++) {
byte [] resBytes = (byte []) resources [i];
output.Write ((uint) resBytes.Length);
output.Write (resBytes);
}
}
示例4: WriteTildeStream
internal void WriteTildeStream(FileImage output)
{
long startTilde = output.Seek(0,SeekOrigin.Current);
output.Write((uint)0); // Reserved
#if NET_2_0 || BOOTSTRAP_NET_2_0
output.Write((byte)2); // MajorVersion
output.Write((byte)0); // MinorVersion
#else
output.Write((byte)1); // MajorVersion
output.Write((byte)0); // MinorVersion
#endif
output.Write(heapSizes);
output.Write((byte)1); // Reserved
output.Write(valid);
output.Write(sorted);
for (int i=0; i < numMetaDataTables; i++) {
if (metaDataTables[i] != null) {
uint count = (uint)metaDataTables[i].Count;
output.Write(count);
}
}
long tabStart = output.Seek(0,SeekOrigin.Current);
// Console.WriteLine("Starting metaData tables at " + tabStart);
for (int i=0; i < numMetaDataTables; i++) {
if (metaDataTables[i] != null) {
// Console.WriteLine("Starting metaData table " + i + " at " + (output.Seek(0,SeekOrigin.Current) - startTilde));
ArrayList table = metaDataTables[i];
for (int j=0; j < table.Count; j++) {
((MetaDataElement)table[j]).Write(output);
}
}
}
// Console.WriteLine("Writing padding at " + output.Seek(0,SeekOrigin.Current));
for (int i=0; i < tildePadding; i++) output.Write((byte)0);
}
示例5: WriteByteCodes
internal void WriteByteCodes(FileImage output)
{
for (int i=0; i < byteCodes.Count; i++) {
((CILInstructions)byteCodes[i]).Write(output);
}
for (int i=0; i < byteCodePadding; i++) {
output.Write((byte)0);
}
}
示例6: WriteCodedIndex
internal void WriteCodedIndex(CIx code, MetaDataElement elem, FileImage output)
{
uint ix = 0;
if (elem != null) {
ix = (elem.Row << CIxShiftMap[(uint)code]) | elem.GetCodedIx(code);
// Console.WriteLine("coded index = " + ix + " row = " + elem.Row);
//} else {
// Console.WriteLine("elem for coded index is null");
}
if (lgeCIx[(uint)code])
output.Write(ix);
else
output.Write((ushort)ix);
}