Старший номер версии таблицы экспорта. Не используется.
0Ah
DWORD
Minor Version
Младший номер версии таблицы экспорта, также не используется.
0Ch
DWORD
Name RVA
Относительный адрес строки, указывающей на имя нашей библиотеки.
10h
DWORD
Ordinal Base
Начальный номер экспорта, для функций, экспортируемых данным модулем.
14h
DWORD
Num of Functions
Количество функций экспортируемых данным модулем, является числом элементов массива Address Table (см.ниже).
18h
DWORD
Num of Name Pointers
Число указателей на имена, обычно равно числу функций, но это не так, если у нас есть функции, экспортируемые только по номеру.
1Ch
DWORD
Address Table RVA
Указатель на таблицу относительных адресов экспортируемых функций.
20h
DWORD
Name Pointers RVA
Указатель на таблицу указателей на имена экспортируемых функций данного модуля.
24h
DWORD
Ordinal Table RVA
Указатель на таблицу номеров экспорта, данный массив по индексам параллелен Name Pointers, элементами являются слова.
2. Таблица адресов экспорта. Эта структура данных содержит адреса экспортируемых функций (их точки входа) в формате DWORD (по 4 байта на элемент). Для доступа к данным используется номер функции с коррекцией на базу номеров (Ordinal Base).
3. Таблица указателей на имена. Данная структура содержит указатели на имена экспортируемых функций, указатели отсортированы в лексическом порядке для обеспечения возможности бинарного поиска. Каждый указатель занимает 4 байта. Имена функций обычно лежат в секции экспорта.
4. Таблица номеров. Данная структура совместно с Name Table Pointers формирует два параллельных массива, разделенных для облегчения к ним доступа индексированием на родные для процессора данные (слова, двойные слова, но не сложные структуры). Данный массив содержит номера экспорта, которые в общем случае являются индексами в Address Table экспорта (за вычетом базы Ordinal Base). Элементами данного массива являются слова (2 байта).
5. Таблица имен экспорта. Эта таблица содержит необязательные (по мнению Microsoft) имена экспортируемых функций. Данный массив используется совместно с Name Table Pointers и Ordinal Table для обеспечения связывания загрузчиком импорта/экспорта по имени. Механизм описывался выше. Каждый элемент являет собой ASCIIZ строку с именем экспортируемой функции. Никто не говорит, что они должны в файле идти друг за другом последовательно, хотя так построено большинство файлов. Надо отметить, что имена экспорта чувствительны к регистру. Отметим особенность загрузчика - при связывании, если адрес функции находится в секции экспорта, на самом деле по указанному адресу лежит строка, переадресующая к другой библиотеке, экспортирующей данную функцию (с указанием библиотеки и самой функции). Это называется - передача экспорта.