共用方式為


計算需要的值

有兩項必須由延遲 Helper 常式計算的關鍵資訊, 為此,delayhlp.cpp 中有兩個計算這項資訊的內嵌 (Inline) 函式。

  • 第一個函式會計算目前匯入三個不同表格 (匯入位址表 (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;
    }

請參閱

參考

了解 Helper 函式