Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Duas importantes informações precisem ser calculados pela rotina auxiliar atraso.Para esse participante, existem duas funções embutidas no delayhlp.cpp para calcular essas informações.
O primeiro calcula o índice da importação corrente para as três tabelas diferentes (Importar tabela de endereços (IAT), tabela de endereços de importação limite (BIAT) e tabela de endereços de importação não limite (UIAT)).
A segunda conta o número de importações em um IAT válido.
// 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;
}