An Import Lookup Table is an array of 32-bit numbers, each using the bit-field format described below, in which bit 31 is the most significant bit. The collection of these entries describes all imports from the image to a given DLL. The last entry is set to zero (NULL) to indicate end of the table.
Bit(s) | Size | Bit Field | Description |
31 | 1 | Ordinal/Name Flag | If bit is set, import by ordinal. Otherwise, import by name. Bit is masked as 0x80000000. |
30 - 0 | 31 | Ordinal Number | Ordinal/Name Flag is 1: import by ordinal. This field is a 31-bit ordinal number . |
30 - 0 | 31 | Hint/Name Table RVA | Ordinal/Name Flag is 0: import by name. This field is a 31-bit address of a Hint/Name Table entry, relative to image base. |
The lower 31 bits can be masked as 0x7FFFFFFF. In either case, the resulting number is a 32-bit integer or pointer in which the high bit is always zero (zero extension to 32 bits).