필요한 값 계산

지연 도우미 루틴에서 계산해야 하는 두 가지 중요한 정보가 있습니다.delayhlp.cpp에는 이 정보를 계산하는 데 사용되는 두 개의 인라인 함수가 있습니다.

  • 첫 번째 함수는 IAT(가져오기 주소 테이블), BIAT(바인딩된 가져오기 주소 테이블) 및 UIAT(언바인딩된 가져오기 주소 테이블)의 세 가지 테이블에서 현재 가져오기의 인덱스를 계산합니다.

  • 두 번째 함수는 유효한 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;
    }

참고 항목

참조

도우미 함수 이해