Compartir a través de


Calcular valores necesarios

Actualización: noviembre 2007

Hay dos partes esenciales de información que tiene que calcular la rutina auxiliar de carga retrasada. Hay dos funciones inline en delayhlp.cpp que se utilizan para calcular esta información.

  • La primera calcula el índice de la importación actual en las tres diferentes tablas (tabla de direcciones de importación (IAT), tabla de direcciones de importación enlazadas (BIAT) y tabla de direcciones de importación no enlazadas (UIAT)).

  • La segunda cuenta el número de importaciones de una IAT válida.

// utility function for calculating the index of the current import
// for all the tables (INT, BIAT, UIAT, and IAT).
__inline unsigned
IndexFromPImgThunkData(PCImgThunkData pitdCur, PCImgThunkData pitdBase) {
    return pitdCur - pitdBase;
    }

// utility function for calculating the count of imports given the base
// of the IAT. NB: this only works on a valid IAT!
__inline unsigned
CountOfImports(PCImgThunkData pitdBase) {
    unsigned        cRet = 0;
    PCImgThunkData  pitd = pitdBase;
    while (pitd->u1.Function) {
        pitd++;
        cRet++;
        }
    return cRet;
    }

Vea también

Referencia

Descripción de la función auxiliar