VTableFixups[] GetVTableFixups()
{
int rva;
int length;
module.__GetDataDirectoryEntry(14, out rva, out length);
byte[] buf = new byte[8];
module.__ReadDataFromRVA(rva + 48, buf, 0, 8);
rva = BitConverter.ToInt32(buf, 0);
if (rva == 0)
{
return new VTableFixups[0];
}
VTableFixups[] entries = new VTableFixups[BitConverter.ToInt32(buf, 4) / 8];
for (int i = 0; i < entries.Length; i++)
{
module.__ReadDataFromRVA(rva + i * 8, buf, 0, 8);
entries[i].RVA = BitConverter.ToInt32(buf, 0);
entries[i].Count = BitConverter.ToInt16(buf, 4);
entries[i].Type = BitConverter.ToInt16(buf, 6);
}
return entries;
}