PERWAPI.Section.DoRelocs C# (CSharp) Méthode

DoRelocs() private méthode

private DoRelocs ( BinaryWriter reloc ) : void
reloc BinaryWriter
Résultat void
        internal void DoRelocs(BinaryWriter reloc)
        {
            if (relocTide > 0) {
                // align block to 32 bit boundary
                relocOff = (uint)reloc.Seek(0,SeekOrigin.Current);
                if ((relocOff % 32) != 0) {
                    uint padding = 32 - (relocOff % 32);
                    for (int i=0; i < padding; i++)
                        reloc.Write((byte)0);
                    relocOff += padding;
                }
                uint block = (relocs[0]/relocPageSize + 1) * relocPageSize;
                int start = 0;
                for (int i=1; i < relocTide; i++) {
                    if (relocs[i] >= block) {
                        DoBlock(reloc,block-relocPageSize,start,i);
                        start = i;
                        block = (relocs[i]/relocPageSize + 1) * relocPageSize;
                    }
                }
                DoBlock(reloc,block-relocPageSize,start,(int)relocTide);
            }
        }