Berechnen der erforderlichen Werte
Zwei entscheidende Informationen müssen von der Hilfsfunktion für verzögertes Laden berechnet werden.Zur Berechnung dieser Informationen befinden sich in der Headerdatei delayimp.h zwei Inlinefunktionen.
Die erste berechnet den Index des aktuellen Imports in die drei verschiedenen Tabellen (Importadressentabelle (IAT), gebundene Importadressentabelle (BIAT) und ungebundene Importadressentabelle (UIAT)).
Die zweite zählt die Anzahl der Importe in einer gültigen Importadressentabelle (IAT).
// 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;
}