Calcolo dei valori necessari

Le informazioni essenziali che devono essere calcolate dalla routine di supporto del caricamento ritardato sono due. A questo scopo, sono state previste due funzioni inline nel file delayhlp.cpp che consentono di calcolare tali informazioni.

  • Mediante la prima viene calcolato l'indice dell'importazione corrente in tre tabelle differenti, ovvero la tabella di indirizzi di importazione (IAT), la tabella di indirizzi di importazione associati (BIAT) e la tabella di indirizzi di importazione non associati (UIAT)).

  • Mediante la seconda viene calcolato il numero di importazioni in una tabella IAT valida.

// 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;
    }

Vedere anche

Riferimenti

Informazioni sulla funzione di supporto