6.4.2 Import Lookup Table

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).